振り返り&セルシェーダーの話
これはKCS AdventCalendar2020 20日目の記事です。
こんにちは、naです。本当はシェーダーのことを書こうと思ったのですが、他のものに手を出し始め進捗があまり無いので序盤は今年の振り返りを書いていきたいと思います。適当に読んでくれればと思います。
2月~5月
色々購入してやっと念願のMayaができる環境が整ったのでずっとモデリングしてました。2月から5月はモデリングとバイト以外の記憶が何もないです。自粛期間で学校も始まらず楽しい春休みでした。
チュートリアルを見て作ったものですが載せておきます。(テクスチャは紛失)
Maya、SubstancePainter、Photoshopを使いました。ライティングが苦手なので時間ができたら練習していきたいですね…(言い続けて何か月も経過している)
やはりモデリングは楽しいですね。最近は忙しくてなかなか作れないですが冬休みに大きい作品を作りたいなという願望だけはあります。
6月~7月
武器とか、作りたいものを作っていました。後は人体モデリングをしていたと思います。人体は4体くらい作ってると思うけど見せられるものではないので、頑張りたいですね…
SubstanceDesignerをやってみたりもしました。あとは画像処理や機械学習、web系の勉強を少しやってました。
8月
UnrealEngine4でゲームを作っていました。長めのチュートリアルのものと、自作のものを制作していましたが、自作の方は一人で作るのが辛くて中断しています。
パーティクルでエフェクトを作ったり、キャラクターをモデリングしたり、アニメーションを作ったりしていました。
そういえば音楽班がM3で出すCDの表紙のお手伝いをしました。人と相談して作ることがあまりなかったので新鮮で楽しかったです。
後半はHoudiniを触ってみたり、レイトレを少しやってみたりして、去年よりは充実した夏休みを過ごしていたと思います。
9月~10月前半
MMDをやっていました。MMD動画の多くは、MMDでキャラクターにモーションを取り込んで躍らせた動画をAviutl等で編集したものになります。色々なモデルやモーションが配布されています。シェーダーやエフェクトもたくさん配布されていて、勉強になりました。Rui氏が開発した物理ベースのシェーダーRay-MMDなどは本当にMMDなのかと思いたくなる出来になります…
気になる方は好きなキャラクターを動かしてみたい、くらいの軽い気持ちで触ってみて欲しいです。今はBlenderやDaVinch Resolveなどのソフトが無料で使える世の中ですし、CGで何か作品作ってみたいなという方は気軽にやってみてください。自分も最初はBlenderから入りました。そんな感じで9月はMMDとAfterEffectsで終わりました。
10月後半~11月
UE4でセルシェーダをやっていました。詳細は後述(写真はYYB式)
後はCG-ARTSの検定の勉強をしてました。ギリギリまで勉強してなかったので忙しかったです。(結果はまだ)
12月
レイトレにちゃんと入門しました。物理ベースレンダリング理論の基本やモンテカルロ積分、パストレ、IBL等の基本の基本を勉強しました。現状、サンプリング数を増やすと待っていられないくらいレンダリングに時間がかかります。年内には、NEEやBVHなどの手法も取り入れていきたいですね…
11月初め頃からDirect12に入門していますが進捗はミジンコです。
総括
周りに同じようなことをやっている人がほとんどいない中、心細く進捗を生み続けると途中でしんどくなります。Twitterで情報を収集して励まし合う人脈くらいは作っておいた方が良いです。
UE4でセルシェーダーを実装する
UE4とはEpic Games社が開発したゲームエンジンです。結構歴史があって、リアルなグラフィック表現を得意としています。今年の5月にはUE5のデモ動画が公開され、話題になりました。
これがリアルタイム…こういうのを見るとUE4でNPRをやるのは向いていないのではとか思ったりするかもしれませんが、ちゃんとできます。しかし標準ではセルシェードに対応していません。ゲームやアニメ会社ではエンジン改造をして実装したりしているそうですが、個人で、となると大変です。ではどうしたらいいか、主に2つの方法があります。ポストプロセスを使うか、マテリアルに直接シェーディングを設定していくかです。前者はマテリアルごとに詳細ができないのでまずは後者をやっていきます。
今回はYYB式のミクさんをお借りしました。大好きなモデルです。どうやってPMXをUE4にimportしたのかという話ですが、現在はIM4UというUE4にPMXとVMDを取り込むプラグインの開発が停止しているため、Blender経由でFBXとして取り込みました。不便になってしまった…と思ったのですが、最近4.24向けにupdateされた方がいるようなので次からは使おうと思います。(https://github.com/tekifuta/IM4U)
Blueprintは以下の記事と大体同じです。
適用前
適用後
ここでもともとemmisiveの強い箇所はそのままにしたい場合があったりするので、個々のマテリアルで適用するBlueprintを変えたりして、いい感じにしていきます。ちなみに今回はマテリアルが30個くらいになってしまい、ShaderCompileが膨大な数になってしまいました。importする前に減らしておきましょう。UE4のShaderCompileってなぜか巨大な数になるのですが、最近参考になった記事があったので気になれば。(UE4ShaderCompileについて)
次に、ポストプロセスを適用していきます。一応、alwei氏によってポストプロセスシェーダーが公開されており、これだけでもいい感じになります。せっかくなので自分で最初からやっていきます。ここまで書いておいて申し訳ないのですが、この先は途中なので書けません。具体的には、アウトラインシェーダーやハッチングをやれたらなという感じで進めています。
区切りが悪いですが今回はこの辺でm(__)m
←19日目 | 21日目→
Posted on: 2020年12月19日, by : K.