ルーレットの作り方(4) ブループリントでマテリアルの色とか変える
「今日はダイナミックマテリアルインスタンスという、マテリアルの設定をブループリントから変更する仕組みのやつをやる。まず普通にマテリアルインスタンスとしてパラメータ変更可能なマテリアルを作って、それをブループリントでダイナミックなやつとしてつくる」
妹「ダイナミックというのは、こう……ダイナミック!という意味ではないんだよね。やっぱり」
「スタティック(静的)とダイナミック(動的)という場合のダイナミック。今回ルーレットの扇型部分の色とか大きさとかは、最初に設定した後変える予定はないから、普通のマテリアルインスタンスだけでもできなくはない。Branchノードでループ毎に違うマテリアルを設定すればいい。でもブループリントの数字を変えるだけで、色とか大きさとかすぐに変えたいからダイナミックにしてる」
もんしょの巣穴blog [UE4] Dynamic Material Instanceを使う
「ダイナミックマテリアルインスタンス自体のついては解説記事が色々あるので、そっちを見てもらうとして、実際にやってみたのがコレ」
「SetMaterialで既存のマテリアルを使わず、ダイナミックマテリアルインスタンスとして生成したピンをつないでる。あとパラメータも適当に。色は赤で、扇形は7分割の設定。でも枚数や回転角度は5枚設定のまま変えてないから、隙間が出来てて、ちゃんと今までとは変わってることがわかる。もちろん後でちゃんと同じ数字からピンをつなぐようにする」
妹「色はこれだと最初から指定してるのと同じでは?」
「そこは1枚ずつ別の色にできるように考える」
「マテリアルインスタンスのパラメータ名に日本語使ってるけど大丈夫かなと思って、一応HTML5でも試してみたんだけど、問題なさそう。この部分は記入式だから、誤植すると上手くパラメータが設定できないんだけど、ちゃんと色も大きさも変わってるから、同じ名前と認識されてる」