我基本上是想让一个游戏对象在到达空间中的某个位置后掉头。我有一个预置,创建游戏对象并让它随机移动。然而,打印位置值给了我相同的值(0,4,0),这基本上是产卵器的位置。我想知道对象在空间中移动时的位置。以下是代码:
If (Input.GetMouseButtonDown(0))
{
direction = new Vector3(Random.Range(-1.0f,1.0f), Random.Range(-1.0f,1.0f), Random.Range(-1.0f,1.0f));
GameObject sphere = Instantiate(spherePrefab, transform.position, Quaternion.identity);
sphere.GetComponent<Rigidbody>().velocity = direction * speed; // this moves the object randomly
position = sphere.transform.position;
Debug.Log(position); // This prints the spawners location every frame but no the spheres.
我只在场景中创建了一个spawner对象,并使用脚本示例化了球体。
任何帮助感激不尽!
1条答案
按热度按时间qcuzuvrc1#
您没有更新日志中打印的值。
position变量只保存预置件示例化时的世界位置。
下面是一个基于您的代码的基本脚本,它给出了您所期望的世界位置。
下面,spherePrefab是一个3D游戏对象球体,我只添加了一个带有默认参数的刚体。
用例如下所示:按下鼠标按钮,然后观察Unity控制台。