コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】ゲームオブジェクトを複製する関数

ソースコード

using UnityEngine;

/// <summary>
/// GameObject クラスに関する汎用関数を管理するクラス
/// </summary>
public static class GameObjectUtils
{
    /// <summary>
    /// 指定された GameObject を複製して返します
    /// </summary>
    public static GameObject Clone( GameObject go )
    {
        var clone = GameObject.Instantiate( go ) as GameObject;
        clone.transform.parent = go.transform.parent;
        clone.transform.localPosition = go.transform.localPosition;
        clone.transform.localScale = go.transform.localScale;
        return clone;
    }
}

使い方

using UnityEngine;

public class NewMonoBehaviour : MonoBehaviour
{
    private void Update()
    {
        if ( Input.GetKeyDown( KeyCode.Space ) )
        {
            GameObjectUtils.Clone( gameObject );
        }
    }
}

関連記事