0
私は手動で(エディタから)ボックスで空のオブジェクトを作成します。それは中心を中心に回転します。 しかし、私はスクリプトからボックスで同じオブジェクトを作成する場合。それは私のために未知の点を中心に回転します。 原因を見つけました。ボックスにはスケール(0.1、0.2、0.1)があるために起こります。私が(1,1,1)を設定すれば、それは機能します。 修正方法?私は小さな箱が欲しい。空のオブジェクトを中心に回転
var wall = new GameObject();
//wall.transform.parent = room.transform;
wall.transform.name = "Wall";
wall.transform.position = new Vector3(0,0,0);
for (int x = -3; x < width-3; x++)
{
for (int y = -3; y < height-3; y++)
{
var plate = Instantiate(SimplePlate);
var pos = plate.transform.position;
float posZ = pos.z - (x * plate.transform.lossyScale.z);
float posY = pos.y + (y * plate.transform.lossyScale.y);
var newPos = new Vector3(0, posY, posZ);
plate.transform.position = newPos;
plate.transform.parent = wall.transform;
plate.name = "Plate " + x;
}
}
はい(1,1,1)。ボックス(1,1,1)が入っている空のGameObjectを回転させると、正常に動作します。 GameObjectがボックス(0.1,1.1,0.1)を含む空のGameObjectを回転させると、GameObjectはピボットの周りをボックス(1,1,1)のcontainsのように回転します。 – Vostrugin
おそらく私はそれを試してみるだろう:http://answers.unity3d.com/questions/12453/how-do-i-offset-the-scaling-center-for-a-cube.html – rmTheZ