同じタイルを使っていても、一部分だけ回転したいタイルがあります。
inspector上ではできるのですが、スクリプトからタイルを回転できずに困っております。
調べてみると、tileのRotateはMatrix4x4系?を使わないとダメみたいでした。
色々と試したのですが、エラーや意図した動作になりませんでした。
こういった場合、どのように実装すればよいのでしょうか。
C#
1Tile tile = new Tile(); 2tile.sprite = sprite; // スプライト画像の設定 3 4if(x==0 && y == 0){ 5 //Quaternion rot = Quaternion.Euler(0.0f, 0.0f, 90); 6 //tile.transform = Matrix4x4.TRS(Vector3.zero, rot, Vector3.one); 7 //Vector3 angle = tile.transform.localEulerAngles; 8 //angle.z = 90; 9 //tile.transform.Rotate(new Vector3(0, 0, 360) , Space.World); 10 //tile.transform.Rotate(new Vector3(0, 1, 0), 90); 11 //tile.rotation = new Quaternion(0, 180, 0, 1); //これが正しい; 12 //Quaternion rot = Quaternion.Euler(0.0f, 0.0f, 90); 13 //tilemapTest.SetTransformMatrix(new Vector3Int( posX, posY, 0 ), Matrix4x4.TRS(Vector3.zero, rot, Vector3.one)); 14} 15 16tilemapTest.SetTile( new Vector3Int( x, y, 0 ), tile );
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。