妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

3Dウィジェットにはポストプロセスマテリアルが効くし、ライトもあてられる

f:id:una_unagi:20171013224710p:plain

「3Dウィジェットってポストプロセスって効くのかな……と思って試してみたら、特に何もしなくても普通に効いた」

妹「普通のウィジェットは駄目だったよね。なんというか、一番手前の手前に来る感じだし」

「そういうモードもあるよ」

f:id:una_unagi:20171013225938p:plain

Widgetコンポーネントの設定で、Spaceの設定をWorldじゃなくScreenにすると、全てを無視して一番手前に来る。遠近感による大きさの違いもなくなる。ポストプロセスも効かなくなったけど。見た目は完全に普通にウィジェットみたいになる」

妹「こんなのも出来るんだ……キャラクターの上に表示する矢印とか、ウィジェットで表示しようとして色々計算しようとしたのに」

「表示位置が3D空間で設定されてるから、カメラやアクターを移動させても、ずっとアクターの上に見える。Screenモードだと、どの角度からでもまっすぐ見えるように、勝手にビルボード化もされる。こっちでは制御できないというのに注意が必要」

f:id:una_unagi:20171013231443p:plain

「あと3Dウィジェットのライティングというのも試してみた。マテリアルを変更しないと駄目だけど、これもできた。ちゃんと光る」

f:id:una_unagi:20171013231923p:plain

Widget3DPassThroughなんとかっていうマテリアルが3Dウィジェット用なんだけど、このマテリアルはUnlitの設定だから、ライティングが効かない。なのでDefaultLitに変更する必要があるんだけど、エンジン内蔵のマテリアルは変えたくないから、複製したやつを改造する。エミッシブカラーじゃなくベースカラーにつなげば、普通に平面ポリゴンとして光源処理される」

妹「マテリアルも使えるんだ。もうなんでもアリみたい」

「もちろんもっと色々マテリアルで細工もできる。ただこれもポストプロセスと同じで、Screenモードだとマテリアルが無効化されちゃうけど」

妹「これ全部3Dウィジェットでよかったりするのでは?」

「全部マウスで操作するなら普通のウィジェットが楽かもしれないけど、3Dウィジェットだと普通のアクターやコンポーネントと同じ感じで扱えるから、使えないノードとかもない。立体的な演出も普通に立体的に配置するだけでいいし。かなり便利だと思う」