Cubeの各面に異なるテクスチャを貼る方法を記事にしました。
[ 貼る方法 ]
まず、UnityEditorを起動し下記の画像のように適当にMaterialを作成します。
次に、下記の画像をUnityEditorにインポートします。
次に、下記の画像のように先ほど作成したMaterialのAlbedoにインポートした画像をぶち込みます。
次に、下記のスクリプトを作成します。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ScriptTest : MonoBehaviour { private Vector2[] UV = new Vector2[24]; void Start() { //上面 UV[4].x = 0 / 6.0f; UV[4].y = 0; UV[5].x = 1 / 6.0f; UV[5].y = 0; UV[8].x = 0 / 6.0f; UV[8].y = 1; UV[9].x = 1 / 6.0f; UV[9].y = 1; //前面 UV[19].x = 2 / 6.0f; UV[19].y = 0; UV[17].x = 1 / 6.0f; UV[17].y = 1; UV[16].x = 1 / 6.0f; UV[16].y = 0; UV[18].x = 2 / 6.0f; UV[18].y = 1; //後面 UV[23].x = 3 / 6.0f; UV[23].y = 0; UV[21].x = 2 / 6.0f; UV[21].y = 1; UV[20].x = 2 / 6.0f; UV[20].y = 0; UV[22].x = 3 / 6.0f; UV[22].y = 1; //右面 UV[6].x = 3 / 6.0f; UV[6].y = 0; UV[7].x = 4 / 6.0f; UV[7].y = 0; UV[10].x = 3 / 6.0f; UV[10].y = 1; UV[11].x = 4 / 6.0f; UV[11].y = 1; //左面 UV[2].x = 5 / 6.0f; UV[2].y = 1; UV[3].x = 4 / 6.0f; UV[3].y = 1; UV[0].x = 5 / 6.0f; UV[0].y = 0; UV[1].x = 4 / 6.0f; UV[1].y = 0; //下面 UV[15].x = 6 / 6.0f; UV[15].y = 0; UV[13].x = 5 / 6.0f; UV[13].y = 1; UV[12].x = 5 / 6.0f; UV[12].y = 0; UV[14].x = 6 / 6.0f; UV[14].y = 1; this.gameObject.transform.GetComponent<MeshFilter>().mesh.uv = UV; } }
次に、下記の画像のようにCubeを作成して、先ほど作成したスクリプトとMaterialをアタッチします。
最後に、UnityEditorを再生してみてください。下記の画像のようにCubeの各面が異なるテクスチャになったと思います。
Cubeの各面の色や模様を変更したい場合は、MaterialのAlbedoにぶち込む画像を編集ソフトで好きなようにして下さい。