妹でもわかるUnrealEngine4

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

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

マテリアルでワカメを動かす④ 同じマテリアルだけどゆれのタイミングをずらす

f:id:una_unagi:20180401231121p:plain

imoue.hatenablog.com
前回の記事

妹「昆布……あるいはワカメの問題として、量産するとゆれ方が一緒になっちゃうというのがあって」

Timeは全マテリアルで共通だし、他のパラメータが全部一緒だとそうなるね」

妹「だからって1個ずつマテリアルインスタンス作るのもなんか変な気がするし。そこで色々調べたところ、この方法でいいんじゃないかなというのが見つかった」

api.unrealengine.com

妹「このActorPoositionWSというのを使えば、アクター毎に位置は違うわけだから、違うタイミングになるんじゃないかと」

「それはなりそう」

f:id:una_unagi:20180401231419p:plain

f:id:una_unagi:20180401231428p:plain

「適当に数字を混ぜてみただけだけど、ゆれ方のタイミングは変わる」

妹「ちゃんと効いてるみたいだ」

[UE4] 1つのマテリアルで色のバリエーションを増やしたい!|株式会社ヒストリア

妹「最初はこの方法がいいのかなと思ったんだけど。位置じゃなくてランダムだから、もっとハッキリ違いが出るんじゃないかと。でもインスタンスドメッシュ? というのでしか使えないみたいだから、今回予定してるのとはちょっと違う気が」

「これは使えなさそう。でもランダムにっていうなら、ActorPostionの数字をそのまま足さずに、適当な数字で割るとかでもいいかも」

妹「適当な数字とは?」

「例えば昆布を10cmおきに配置してたとすると、10で割っても結果が全部同じになるけど、7で割った余りとかだと、ばらつきが出てくるはず」

妹「ほうほう」

「あとはランダムに塗ったグレースケールのテクスチャに接続することでも、適当にランダムな値が得られそう」

妹「ふむふむ」

「ダイナミックマテリアルインスタンスを作って、そこにブループリントからパラメータを放り込むという手も」

妹「それはイヤ」

「イヤなんだ……」