Unityで以下のように生成したGameObjectを子オブジェクトにすると、
なぜかオブジェクトのサイズが変わってしまった。
GameObject targetNode = (GameObject)Instantiate (nodeObj); targetNode.transform.parent = transform;
SetParentを使うことで解決した。
GameObject targetNode = (GameObject)Instantiate (nodeObj);
targetNode.transform.SetParent(transform, false);
SetParentの第二引数で相対的な大きさにするかを決められる。
ここでfalseを指定することで、プレハブ本来の大きさで子オブジェクトにすることができる。
参考:
Why is Instantiated object's scale changing? - Unity Answers
http://docs.unity3d.com/ScriptReference/Transform.SetParent.htmldocs.unity3d.com