狀況大概是這樣:父物體A下有子物體B,但願使B在本地座標系下移動1單位。code
B物體掛腳本代碼以下:orm
transform.Translate(1, 0, 0, Space.Self);
it
當A沒有縮放,即scale爲(1, 1, 1)時一切正常,但當A有縮放的時候,出現了意外的狀況。io
A的縮放爲(2, 1, 1)時執行該移動,B將在對於A的座標系中向x軸正方向移動世界座標中的1單位,而不是A座標系中的1單位(世界座標中2單位)。form
解決方法:transform
transform.localPosition = new Vector3(1 + transform.localPosition.x, transform.localPosition.y, transform.localPosition.z);
方法
注意transfor.localPosition不能單獨改變x或y或z,必須以Vector3的形式設置。腳本