関係の取得
親オブジェクトが何か
[調べたいオブジェクト].transform.parent.gameObject;
動的に親子関係を変える
親子にするときは方法1、解除する時は方法2 でも大丈夫です!
方法1
親子にする
[子にしたいオブジェクト].transform.parent = [親になるオブジェクト].transform;
親子解除する
[子にしたいオブジェクト].transform.parent = null;
方法2
親子にする
[子にしたいオブジェクト].transform.SetParent([親になるオブジェクト].transform, true or false);
※スケールや位置を崩したくなければtrue
親子解除する
[子にしたいオブジェクト].transform.SetParent(null);
動的な親子関係で相対位置やスケールが崩れてしまうことがある
その原因は、親以前のスケールが関係しています。
スケールxyzの値がすべて(1, 1, 1)のように同じであればおかしくならないのですが、
yだけ違うなどの場合は、モデルを比率があるように作るか、
下記のようにして空オブジェクトを間に挟んでスケール調整をしてください。
回転時にうまくいかず歪むなどの時もこれで解決します。
親 (1, 0.1, 1)
調整用空オブジェクト (1, 10, 1)
子 (1, 1, 1)