C# 如何实例化一个游戏对象而不是它的克隆
我在场景中实例化了一个游戏对象,但是它的克隆被实例化了。我需要游戏对象,而不是它的克隆。更改名称并不能解决我的问题C# 如何实例化一个游戏对象而不是它的克隆,c#,unity3d,C#,Unity3d,我在场景中实例化了一个游戏对象,但是它的克隆被实例化了。我需要游戏对象,而不是它的克隆。更改名称并不能解决我的问题 public GameObject player; public GameObject collectableObjects; private void Awake() { GenerateSceneElements(); } void GenerateSceneElements() { Insta
public GameObject player;
public GameObject collectableObjects;
private void Awake()
{
GenerateSceneElements();
}
void GenerateSceneElements()
{
Instantiate(player, new Vector3(0, 0.5f, 0), Quaternion.identity);
//TODO make it better random
for (int i = 0; i < 5; i++)
{
float randomX = Random.Range(-5f, -2f);
float randomZ = Random.Range(5f, 20f);
Instantiate(collectableObjects, new Vector3(randomX, 0.5f, randomZ), Quaternion.identity);
}
}
公共游戏对象玩家;
公共游戏对象可收集对象;
私人空间
{
生成元素();
}
无效生成元素()
{
实例化(player,新向量3(0,0.5f,0),四元数.identity);
//要做得更好吗
对于(int i=0;i<5;i++)
{
float randomX=随机范围(-5f,-2f);
float randomZ=随机范围(5f,20f);
实例化(collectableObjects,新矢量3(randomX,0.5f,randomZ),四元数.identity);
}
}
您可以实例化预置,修改实例化的克隆,并在完成后用它替换原始资产
或者根据您的需要,在更改数据/退出游戏等时传递您需要保存的数据。您的意思是什么?使用“始终”创建给定对象的“克隆”。。。我想你只是想改变它的位置,为什么不使用
player.transform.position=newvector3(0,0.5f,0);player.transform.rotation=Quaternion.identity代码>?为什么克隆不充分?我已经处理过了。我在游戏开始时生成每个对象,也希望摄影机跟随玩家,但只是因为在场景中实例化了一个玩家,它看起来像克隆人,所以摄影机没有跟随玩家,因为引用变为空,但修复了这个问题,这就是为什么克隆人对我来说不够