Unityにおける親子関係構築時のサイズ変更問題 その2

こんにちは。Kishiです。

昨年、Unityにおける親子関係構築時のサイズ変更問題 という記事を書きましたが、これでもまだ解決できない場合があることに気づきました。

まず、このときの記事の概要はUnityにおいて親子関係を構築した時に子供のサイズがおかしくなるというもので、これはヒエラルキー上で

<br />
▽親オブジェクト<br />
  ▽New Game Object<br />
     子オブジェクト<br />

のようにすればよく、つまりスクリプトにおいて

<br />
// parentObjectは親オブジェクト, childObjectは子オブジェクトを指す。<br />
GameObject emptyObject = new GameObject();<br />
emptyObject.transform.parent = parentObject.transform;<br />
childObject.transform.parent = emptyObject.transform;<br />

とすれば解決できるというものでした。

しかし、今日親のRotationを変更した状態で親子関係を構築したら再びこの悪夢がやってきたのです。

kcs_lift

今回はGoogle検索は使わずRotationを手掛かりにスクリプトを書いてみたところ解決したので、これを以下に残します。

<br />
// parentObjectは親オブジェクト, childObjectは子オブジェクトを指す。<br />
GameObject emptyObject = new GameObject();<br />
emptyObject.transform.rotation = parentObject.transform.rotation; // この行を追加。<br />
emptyObject.transform.parent = parentObject.transform;<br />
childObject.transform.parent = emptyObject.transform;<br />

↑のように1行加えるだけで解決しました。

ちなみに、この写真はスピンアクションクリエイターからです。

Posted on