本作成Blueprintまとめ

本のBPを作成した時のTLをまとめました。
0
茄子 @nasubi_s

Instancedに差し替えはできた。しかし、本ごとにメッシュの配置角度から色が変わるようにしていた処理が1冊単位ではなく、全部一緒になってしまった。ぬおおお、マテリアルが1つになってしまうからこうなるのか…。 pic.twitter.com/1lvmIxVDd1

2016-05-08 00:28:47
拡大
alwei@C99 2日目金曜日 東“チ”37b @aizen76

@nasubi_s そのためのダイナミックマテリアルインスタンスですね。

2016-05-08 00:30:52
茄子 @nasubi_s

@aizen76 ああ、問題はマテリアルが1つになることではないですね。勘違いしてました。インスタンスドスタティックメッシュすると個別の座標情報ではなく、1個にまとめられてしまうので個々の座標情報で色を変更することができなくなったのかなとおもったのですが…。

2016-05-08 00:36:08
くろさわ @kurosaurus

@nasubi_s @aizen76 Instansedにした場合、ダイナミックでもマテリアルは共通なので色分けできなくなったと思います(ちょっと確信ないですが…

2016-05-08 00:40:41
alwei@C99 2日目金曜日 東“チ”37b @aizen76

@kurosaurus @nasubi_s なるほど、確かにInstanced Static Meshだとマテリアル自体が全体でひとつしか設定できないですね。何か他に手がありそうな気もしますが…

2016-05-08 00:44:20
茄子 @nasubi_s

@aizen76 @kurosaurus AnswerHubを探ってみたところ出来ないと書かれてるの発見しました。うむむ、マテリアルが使えないとなると頂点カラーを使う方法ちょっと探ってみます。

2016-05-08 00:47:47
茄子 @nasubi_s

頂点カラーの変更がBPから出来ないとなるとデカールで対応となるのか?いや、全然現実的じゃない!わい、積んだか…。まあ、問題は個々メッシュの色が変化して見えることの重要性がどれだけあるのかだ…。

2016-05-08 01:05:51
茄子 @nasubi_s

目立つところは個々の色が変わるやつを配置して、目立たないところはインスタンス化されたやつを配置するか。何か実機に出すなどの制約があるわけではないのでこれでも問題ないけど、なにか方法はないかだけは考えておきたい。

2016-05-08 01:07:58

解決した方法

テツオ @tetsu_oh

@nasubi_s 横から失礼します。"Per Instance Random"を使えばインスタンス毎にランダムな値(0~1)を拾えるので、マテリアルの中で添付画像のように組んでいけばカラーやテクスチャを切り替えられますよー pic.twitter.com/uh8HgNOBO6

2016-05-08 01:28:32
拡大
茄子 @nasubi_s

@tetsu_oh ありがとうございます。BPでインスタンスドスタティックメッシュを使用するとメッシュが統合されてしまい、1スタティックメッシュ、1マテリアルとなってしまうため、今回はこのノードの効果を発揮できないのですー。

2016-05-08 01:46:41
テツオ @tetsu_oh

@nasubi_s いえ、大丈夫です。「スタティックメッシュ毎」ではなく「インスタンス毎」に値が変わるので、Instanced Static Meshで使えます!添付画像をごらんくださいませ pic.twitter.com/NMHbiBgEsX

2016-05-08 02:12:49
拡大
拡大
茄子 @nasubi_s

@tetsu_oh 大変失礼しました。確かにそのノードで色が変わるのは知っていましたが、インスタンス毎の処理で変更してくれるとまでは知らなかったです!ありがとうございます!早速試してみます!

2016-05-08 09:28:14
茄子 @nasubi_s

なるほど、そうだったのか! >InstancedStaticMeshComponent はランダムな浮動小数点値をインスタンスに設定しますが、必要に応じてどこでも利用できるようにエクスポーズされています。 docs.unrealengine.com/latest/JPN/Eng…

2016-05-08 09:49:18
もんしょ @monsho1977

PerInstanceRandomで取得できる値はInstancedStaticMeshのInstance Random Seedによって固定化されます。インスタンスを破棄して作りなおしても0番インデックスから値は固定されます。

2016-05-08 10:30:06
もんしょ @monsho1977

@monsho1977 この値はレベル配置時に自動的に乱数が割り当てられるので、特にこだわりがなければ適当に配置すれば勝手に結果が変わります。便利。

2016-05-08 10:31:01
tatsunoru@DOFI @tatsunoru

@nasubi_s @kurosaurus @aizen76 自分の場合は、PerInstanceRandomとHueShiftを組み合わせて色を変えてますね pic.twitter.com/3bm6POVbxy

2016-05-08 10:12:07
拡大
茄子 @nasubi_s

@tatsunoru @kurosaurus @aizen76 確かに、これが一番シンプルですねー。ありがとうございます。これでやってみます!

2016-05-08 10:18:41
茄子 @nasubi_s

ついに完成!たくさんアドバイス本当にありがとうございます。すごく勉強になりました! #UE4Study pic.twitter.com/pJBxHiK0Ao

2016-05-08 11:11:52

それ以外の様々な試行錯誤

くろさわ @kurosaurus

@aizen76 @nasubi_s あるいはmaterial側でワールドポジションを使って色をつけるとかですかねー。ぼくも先日同じことを試したのですが、マテリアルを凝らないとコントロールが難しかったです…

2016-05-08 09:19:26
alwei@C99 2日目金曜日 東“チ”37b @aizen76

@kurosaurus @nasubi_s え、ワールドポジションで色をつけられるのですか!?

2016-05-08 09:24:12
くろさわ @kurosaurus

@aizen76 @nasubi_s つきますよ。そのままだと極端に大きな数字なので、かなり抑える必要がありますが…

2016-05-08 09:28:14
alwei@C99 2日目金曜日 東“チ”37b @aizen76

@kurosaurus @nasubi_s マテリアル入力のワールドポジションオフセットのことですよね?ちょっとどういうことかよくわかってないです…

2016-05-08 09:33:28
茄子 @nasubi_s

@aizen76 @kurosaurus ワールドポジションオフセットから色を取得することは出来ますけど、1冊事にバラバラな感じの値にどうコントロールするのかがちょっとイメージできてないですね。う~ん、なんか出来そうな気もするけども…もやもや。

2016-05-08 09:39:59