【发布时间】:2019-06-04 09:21:07
【问题描述】:
我正在尝试制作一个随机生成系统,随机化有效,但是对象永远不会移动到该位置。我已经把它分解成现在只有一个物体在按下空间时移动到生成点。但是,对象没有移动,我不确定接下来要尝试什么。
public Transform spawn1;
public Transform spawn2;
public Transform spawn3;
public Transform obj1;
public Transform obj2;
public Transform obj3;
private Transform[] spawns = new Transform[3];
private Transform[] objects = new Transform[3];
private bool[] spawnUsed = new bool[3];
private bool[] objectUsed = new bool[3];
private int randomRun = 0;
void Start()
{
spawns[0] = spawn1;
spawns[1] = spawn2;
spawns[2] = spawn3;
objects[0] = obj1;
objects[1] = obj2;
objects[2] = obj3;
}
void Update()
{
if (Input.GetKeyDown("space"))
{
// RandomChoice();
// int ran = Random.Range(0, 2);
obj1.transform.position = spawn1.transform.position;
Debug.Log("Moved");
}
}
我已经尝试过将对象和生成作为变换和游戏对象,但没有任何区别。当按下空格时,调试“已移动”确实显示在 lof 中,但没有其他反应。
【问题讨论】:
-
您是否可能不小心为
obj和spawn引用了相同的游戏对象? -
不,我已经检查过了,它们被分配给了正确的。
-
你确定你在为 obj1 和 spawn1 使用场景游戏对象吗?如果您引用预制件而不是场景对象,您发送的代码将不起作用。
-
任何机会 obj1 上都有一个 navmesh 代理
-
@JackMariani 目前它们只是统一的形状,所以立方体、球体等