Unity3D将Vector3数据作为新场景中的新位置



所以,我有一个可脚本对象(So)作为包含许多数据的数据库,其中一个是新场景中对象的Vector3。我想从场景0跳到场景1,使用来自SO的Vector3数据作为刷出点。下面是一个示例代码:

"

public Transform target; 
public Vector3 loc; //This is just a dummy, I'll retrieve data from SO later.
void Start()
{
target = GameObject.FindWithTag("Player").transform;
target.transform.position = Vector3(loc); //Here is the problem. 
}

"

我可以将数据存储为x, y, z,然后将其传递给新的Vector3,但我认为这会效率低下。任何想法?我一直在网上找,但没有一个令我满意。

现在我明白了。对于有效的c#,它至少应该是

target.transform.position = new Vector3(loc.x, loc.y, loc.z);

但实际上它只是

target.transform.position = loc;

Vector3是一个结构体,所以你根本不需要使用new或构造函数,因为它无论如何都是按值赋值的,而不是通过引用

相关内容

最新更新