43 lines
2.0 KiB
Markdown
43 lines
2.0 KiB
Markdown
![]() |
#unity/日常积累
|
|||
|
|
|||
|
# [GameObject](https://docs.unity.cn/cn/current/ScriptReference/GameObject.html).CreatePrimitive
|
|||
|
|
|||
|
public static [GameObject](https://docs.unity.cn/cn/current/ScriptReference/GameObject.html) CreatePrimitive ([PrimitiveType](https://docs.unity.cn/cn/current/ScriptReference/PrimitiveType.html) type);
|
|||
|
|
|||
|
## 参数
|
|||
|
|
|||
|
type
|
|||
|
|
|||
|
要创建的原始对象的类型。
|
|||
|
|
|||
|
## 描述
|
|||
|
|
|||
|
创建一个具有原始网格渲染器和相应碰撞体的游戏对象。
|
|||
|
|
|||
|
``` cs
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
public class Example : MonoBehaviour
|
|||
|
{
|
|||
|
// Create a plane, sphere and cube in the Scene.
|
|||
|
|
|||
|
void Start()
|
|||
|
{
|
|||
|
GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
|
|||
|
|
|||
|
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
|
|||
|
cube.transform.position = new Vector3(0, 0.5f, 0);
|
|||
|
|
|||
|
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
|
|||
|
sphere.transform.position = new Vector3(0, 1.5f, 0);
|
|||
|
|
|||
|
GameObject capsule = GameObject.CreatePrimitive(PrimitiveType.Capsule);
|
|||
|
capsule.transform.position = new Vector3(2, 1, 0);
|
|||
|
|
|||
|
GameObject cylinder = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
|
|||
|
cylinder.transform.position = new Vector3(-2, 1, 0);
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
__注意:[__.CreatePrimitive](https://docs.unity.cn/cn/current/ScriptReference/__.CreatePrimitive.html) 在运行时可能失败。发生此问题的原因是 您的项目在运行时未引用以下组件:[MeshFilter](https://docs.unity.cn/cn/current/ScriptReference/MeshFilter.html)、[MeshRenderer](https://docs.unity.cn/cn/current/ScriptReference/MeshRenderer.html) 和 [BoxCollider](https://docs.unity.cn/cn/current/ScriptReference/BoxCollider.html) 或 [SphereCollider](https://docs.unity.cn/cn/current/ScriptReference/SphereCollider.html)。避免此崩溃的建议方式是 声明这些类型的私有属性。此剥离系统 将识别它们的用途,这会将它们包含在此版本中,这样便不会删除这些 组件。
|