2015年2月9日月曜日

Blueprint Essentialsチュートリアルビデオでちょっとマテリアルについて学んだ話し

UE4のチュートリアルビデオで、学習を進めております。
これまで、
Introduction to UE4 Level Creationシリーズ
Introduction to Blueprintsシリーズ
とチュートリアルビデオを進めた後、次に挑んだのはBlueprint Essentialsシリーズです。


Blueprint Essentials - 6 - Variable Get vs Setの中で、プレイヤーキャラクターの体の色を動的に変更する演習があるのですが、そこでDynamic Material Instanceというものに出くわし、マテリアルの使い方を理解するのに30分ほど悩みました。

そもそもUE4のマテリアルに関してまだ何も学んでなかったので、Blueprint Essentialsを終わらせたら、次はマテリアルのチュートリアルをやろうと肝に銘じました。



Dynamic Material Instanceは、動的にアクターのマテリアルを変更したい時に、元のマテリアルを複製したものです。
複製したマテリアルの方を変更することで、同じマテリアルを使用した他のアクターとは関係なく、個別にマテリアルを変更できるということになります。

僕が悩んだのは、Create Dynamic Material InstanceノードのReturn Valueを「変数に昇格」する演習を見て、それは作られたマテリアルの複製を変数にコピーしたと思ってしまったところでした。
イベントグラフの中で、その変数に入れられたマテリアルを変更すると、動的にアクターのマテリアルが変わるので、「なんでだー?」となってしまったわけです。

Dynamic Material Instanceを「変数に昇格」するとは、インスタンスのコピーを変数に入れるのではなく、インスタンスを参照する変数(C言語風に言うと参照ポインタ)を作るという意味だったのですね。

DynamicMaterialInstance1.png

DynamicMaterialInstance2.png

分かってしまえばすっきりする話しですが、新しいフレームワークをいじり始めた時は、物事の整理がつかないうちに新しく知識を入れていくと、ごちゃっとしてしまうことはよくあるものです。(言い分け)

関連記事

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...