キューブのメッシュに、XYZ軸それぞれの方向に異なったテクスチャを張り付けられるマテリアルを作りたいと思っています。それぞれの面に異なったテクスチャーを張り付けるところまではできたのですが、面によってはテクスチャーが伸びてしまいます。よその記事などで例えば” テクスチャをオブジェクトスケール等を無視して、UV値のみに依存させる”ような方法も見たのですが、今回はただのキューブでいいので、もっとシンプルにできないかと思っています。絶対ワールド位置は必ず使うことを厳守して、側面に張ったテクスチャが伸びないようにする方法があれば教えてください。ただしTexCoordをつかって毎回タイリングの値を手動で入力するやり方は無しでお願いします。
Lerpでブレンドする際、それぞれ面方向の判定に取るべき軸が間違っています
1つ目のLerpでRG面(Z面)とGB面(X面)の切り替えをする場合、求められるのはVertexNormalがXとZどちらの方向を向いているのかなので、判定に使うべきはG(Y軸)ではなくR(X軸)かB(Z軸)のどちらかです
今回はLerpのAにつながっているのがZ面なので、AlphaにはR(X軸)を接続します
2つ目のLerpも同様に、RB面(Y面)を向いているかどうかなので、LerpのAlphaにはG(Y軸)の数値が入ります
なお、VertexNormalWSはワールド座標系の値が入るので、各要素は-1~+1になります
なので、Absを使って絶対値を用いる必要があります
1 Like
ありがとうございます!無事に思ったとおりに表示させることができました!