どうも!新人テクニカルアーティストの渡邊です!
今回は1つのマテリアルで色のバリエーションを増やす方法について書いてみようと思います。
![(3)](https://historia.co.jp/wp/wp-content/uploads/2016/07/3.png)
”Object Position”はワールド空間の中心位置を出力する表現式のため、メッシュの大きさによって、DivideかMultiplyで値を調整する必要があります。
(EpicさんのRealisticRenderringデモにあった、回転の値で色が変わるマテリアルを参考にしました!)
![(2)](https://historia.co.jp/wp/wp-content/uploads/2016/07/2.png)
適応するとこんな感じです。
配置する位置によって色が変わってくれるので、同じメッシュが複数ある時や、背景に色の変化がほしいとき等使えそうです。
![](https://historia.co.jp/wp/wp-content/uploads/2016/07/unnamed-file.png)
もう1つが”PerInstanceRandom”です。
名前のとおりFoliageBluePrintなどのInstansed Static Meshにしか使えない表現式です。
![(8)](https://historia.co.jp/wp/wp-content/uploads/2016/07/8.png)
![(7)](https://historia.co.jp/wp/wp-content/uploads/2016/07/7.png)
テクスチャの色をランダムに拾ってくれます。
![(5)](https://historia.co.jp/wp/wp-content/uploads/2016/07/5.png)
以前の記事”コンストラクションスクリプトでお手軽にプロシージャルなアクターを作る”で紹介された
のびるねこちゃんの胴体がInstansed Static Meshだったので適応してみました。
一番長い猫ちゃんはPerInstanceRandomをそのままBaseColorにつなげただけです。
他の二つは上のグラデーションテクスチャを使っています。
PerInstanceRandomは完全にランダム配色になってしまうので、使いどころが限られそうですね。
PerInstanceRandomや、他のConstant表現式の詳しい説明はこちら!