はじめに
UE4で丸影できました。これでStationaryLightとはお別れ!Oculus向けの高速化ktkr!…実装は下田さんが以前紹介していたスライドからのコピペです。今日中には手順や処理内容のプチ解説をブログに上げます(背水の陣) pic.twitter.com/9FYSFr2Cbt
— おかず (@pafuhana1213) 2015年1月19日
Oculus向けのコンテンツをUE4で制作するためのノウハウ共有♪(Oculus向けの最適化とか品質向上とか) - Qiita
Oculus Rift 向けの開発 | Unreal Engine ドキュメント
下田さんのOculus向け最適化記事や、UE4のドキュメントで紹介されている
「Lessons from Integrating the Oculus Rift into Unreal Engine4」を
ぼーっと眺めていると、丸影用のマテリアルBPが載っている事に
今更気づいたので試してみた、という記事
まだ内容を理解しきっていないので、とりあえず手順だけ載せてみる
後日に追記します。しますよ、たぶん、きっと
丸影用のテクスチャの準備
リソース作れない人なので、以下の記事で配布されている画像を
使いました。その為、↑で紹介されたスライドに載っているBPとは
少し中身が異なってます
UnityでGoogleストリートビューを使ったハコスコ対応アプリを作る - Qiita
マテリアルの設定
以上
Emissive, Opacity
以上
残りの部分
以上。雑過ぎワロタ。
調整用にマテリアルインスタンスにしておくこと
丸影の配置
気になってる・よく分からない部分
Customized UVs
カスタム仕様の UV | Unreal Engine ドキュメント
アンリアル エンジン 4 のほぼ全てのマテリアル ノードはピクセルごとに実行されます。UV Coordinate ノードは頂点またはピクセル シェーダーのいずれの部分である間は、 CustomizedUVs 機能は頂点シェーダー内でのみ実行され、同じ計算をピクセル シェーダー内で実行する場合のパフォーマンスを向上させます。テクスチャのタイル処理だけの高速化するにも最低の方法です。システムは UV 上で実行した計算だけに制限されず、結果はメッシュの細分化処理に依存します。
ようするに、ピクセル毎ではなく頂点毎のみで計算することで高速化するとのこと。
あと、パーティクルは未対応とのこと。
(ドキュメントの日本語訳だと、句読点がついてないから分かり辛いなぁ…)
使い方は現在学習中
何のための計算かよく分からない
地面からの高さを求めたりしている周辺の処理内容が、いまいちよく分かってない
そもそもCustomized UVsを理解していないせいなのかなぁ…
マテリアル中のパラメータ調整について
GroundHeightは0で決め打ちですが、実際に使う際は地面にレイを飛ばして、
その結果をマテリアルに渡す形になると思います(てきとーBPです)
※Dynamic Material Instanceに関しては、以下の記事が参考になります
もんしょの巣穴blog [UE4] Dynamic Material Instanceを使う
このレイを飛ばす間隔を調整しないと、高速化したかった筈が
逆に重くなったという本末転倒になりそうです。あとは、
地面に専用のChannelを設定して、衝突判定を制限するとか…
未完成記事なので、今日はここまで