版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yeluo_vinager/article/details/52523534
关于创建基本物体:
有些情况会使用上,物体碰撞,游戏里怪物和英雄的触发事件上,创建一个简单物体,隐藏mesh可以作为简单的触法器使用;多次创建预制体Prefab。
方法Instantiate (original : Object, position : Vector3, rotation : Quaternion):
克隆原始物体,位置设置在position,设置旋转在rotation,返回的是克隆后的物体。这实际上在Unity和使用复制(ctrl+D)命令是一样的,并移动到指定的位置。如果一个游戏物体,组件或脚本实例被传入,实例将克隆整个游戏物体层次,以及所有子对象也会被克隆。所有游戏物体被激活。
//实例化10个 prefab拷贝,间隔2个单位
Public Transform prefab ;
for (int i= 0;i < 10; i++) {
Instantiate (prefab, Vector3(i * 2.0, 0, 0), Quaternion.identity);
}
Instantiate(实例化)能克隆Object(物体)任何类型,包含script(脚本)。
方法CreatePrimitive (type : PrimitiveType)
//在场景中创建一个平面,球体,立方体,胶囊,圆柱体
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);