奇妙な問題が発生したときに Unity3d を試していました。
空のオブジェクト A とその子オブジェクト キューブ B を作成しました。
A のプロパティ: 位置-(0,0,0) 回転-(0,0,0) スケール-(1,1,1)
B のプロパティ: 位置-(0,2,0) 回転-(0,0,0) スケール-(1,4,1)
Transform オブジェクトを持つ C# スクリプトを作成しました。z 軸に沿ってのみ transform.localrotation を使用して回転します。問題は、Unity エディターで変換として A をアタッチすると、B がそのコーナーの 1 つに沿って回転するように見え (そのコーナーがどのように選択されたかはわかりません)、B をアタッチすると、その中心に沿って回転するように見えることです。なぜこれが起こっているのか理解できませんか?localrotation では、親の回転が考慮されることを知っています。しかし、A と B の最初の回転は両方ともゼロであるため、問題にはなりません。