实例化一个gameObject并为其命名



我想实例化一个gameObject,并在层次结构中给它一个特定的名称,因为它在默认情况下给出"gameObject(克隆(";,但我想知道是否有一种方法可以让它将派生的对象命名为";gameObject";而不是";gameObject(克隆(";。谢谢

您可以创建一个扩展方法来克隆对象,然后将克隆的名称设置为与原始对象的名称相匹配。

using UnityEngine;
public static class ObjectExtensions
{
public static TObject Instantiate<TObject>(this TObject original) where TObject : Object
{
TObject result = Object.Instantiate(original);
result.name = original.name;
return result;
}
}

用法:

GameObject clone = gameObject.Instantiate();

您可以将实例化的Prefab分配给游戏对象,然后更改游戏对象的名称。

这是的样本代码

my_spawned=Instantiate(prefab,transform.position,Quaternion.identity) as GameObject;
my_spawned.name="Myobject";

来源:https://vionixstudio.com/2019/11/27/unity-instantiate/

相关内容

  • 没有找到相关文章

最新更新