@nasubi_s @aizen76 こんな感じで色はつくのですが、ColorをActorPositionで取得するとInstancedStaticMeshの場所は同じ色になってしまいました… pic.twitter.com/CjPhSSXyit
2016-05-08 09:52:54@kurosaurus @nasubi_s ああ、なるほど。ようやく理解しました。ワールドポジションごとに少量の値のかけ算した値をベースカラーにするのですね。ワールドポジションのノードのこととピンの名前で勘違いしていました。
2016-05-08 09:55:35@kurosaurus @aizen76 そうですよねー、私もこうなるのかな…と想像してました…。でもPerInstanceRandomと組み合わせて色を変えるとかするときに使えるかもしれないですね。
2016-05-08 09:57:23@nasubi_s @aizen76 ActorPotionを使えれば本ごとに色分けできるんですけどねー。これもInstancedでは同じ色になってしまいますね… pic.twitter.com/kuE4T3W34p
2016-05-08 10:02:40@kurosaurus @nasubi_s おそらく、インスタンスメッシュは同じアクターの座標しか参照できないからですね。複数のアクターではないので、どのインスタンスも同じ座標を参照してしまうからです。
2016-05-08 10:04:34@aizen76 @nasubi_s なるほど。そんな挙動に見えますね。結局インスタンスごとに色を変える方法がないかと思いきや、Per Instance Randomが用意されていたりと、UE4やっぱりすごいです…!
2016-05-08 10:11:31@nasubi_s ワールド座標をベースにブレンドするのも有りだけど固めてしまうと切れ目を取得できないので、どうしたものかという感じですね shaderをバッチングの目的だけならオブジェクト座標でそれを乱数として使用するのが効果的かもかも メッシュ統合はできませんが
2016-05-08 01:10:16@kappa1116jp バッチング(ドローコールをまとめる事をこーゆうの初めてしりました!)しようとすると、メッシュも統合されてしまうのでオブジェクト座標もつかえないのですー(T . T) 統合されたメッシュで個々の色の違いをどう出すかは難しい問題です。
2016-05-08 01:40:47@nasubi_s unityの設計だと他に選択肢(shaderだけバッチング(おそらくUEはインスタンスマテリアルがそれに当たるのかも?)なのかオブジェクトも統合するのかとか)がちょこっとあるのでもしかしたらUEでも同じような項目があるかもです
2016-05-08 02:13:56Materialで乱数を作成する別の方法についてのアドバイス
@kurosaurus @aizen76 @nasubi_s WorldPositionをfracで小数点だけとりだして乱数的に使ったり、uvにしてなんか貼ったりはよくやりますね。
2016-05-08 12:11:36