如何动态创建一个新的游戏对象并在场景Unity3d中添加游戏对象

MGS*_*ces 5 c# unity-game-engine

你好吗.我想创建一个新的游戏对象,然后在场景中添加游戏对象.

我该怎么做呢?

我的代码是:

GameObject a = new GameObject();
GameObject aClone = Instantiate(a) as GameObject;
Run Code Online (Sandbox Code Playgroud)

但是无法正常工作.

Fun*_*onR 10

正确的方法:

GameObject obj = Instantiate(prefab) as GameObject;
Run Code Online (Sandbox Code Playgroud)

您也可以指定positionrotation.

Vector3 position    = new Vector3(1, 1, 1);
Quaternion rotation = new Quaternion(1, 1, 1, 1);
GameObject obj      = Instantiate(prefab, position, rotation) as GameObject;
Run Code Online (Sandbox Code Playgroud)

显然,通过更改参数来使用positionrotation您喜欢的.

一个预制很简单:

public GameObject prefab;
Run Code Online (Sandbox Code Playgroud)

GameObject通过编辑器将a 拖入脚本.

  • 没有预制件,我可以拥有一个新的GameObject吗? (5认同)

Cat*_*ood 0

实例化需要 3 个参数,即gameObject、位置和旋转。这将根据您解析为值的内容将其放入您的场景中。

Instantiate(a, Vector3 (x, y, z), Quaternion.identity);
Run Code Online (Sandbox Code Playgroud)