読者です 読者をやめる 読者になる 読者になる

Unity5.4 で Object.Instantiate()に親が指定できる

タイトルままですが、
ふとintellisenseが見慣れないサジェスチョンしてきたので気づきました。

docs.unity3d.com

引数にparentとなるtransformを指定できます。
生成時に他のTransformの子として生成できます。

これは便利、というかいままで無くて不便なので、
拡張メソッドでInstantiateAsChild(this Transform parent) みたいなものを作ってました。


Release noteにも

unity3d.com

Core: Object.Instantiate now takes a optional Transform parent parameter.

ちゃんとありましたね。

    [SerializeField]
    GameObject childPrefab;


    void Start ()
    {
        var parent = this.transform;
        Instantiate(childPrefab, Vector3.zero, Quaternion.identity, parent);
    }

こんな感じで。
オブジェクトに追加しておくと、

f:id:kurihara-n:20160813011402p:plain

このように呼び出したものの子になる。