unity 创建游戏物体的常用方法

论坛 期权论坛 脚本     
匿名网站用户   2020-12-21 01:37   11   0

1.创建空的游戏物体

new GameObject ();//创建一个空的游戏物体
new GameObject ("table");//创建一个空的游戏物体,给它命名为table
GameObject go =new GameObject ("table");//创建一个空的游戏物体命名为table,用go接受对象,在代码内操作其他属性

2.通过预制体创建对象
方法大致有五个
GameObject.Instantiate(Object original);//指定参数只有一个,预制体(实例化对象)

GameObject.Instantiate(Object original, Transform parent);//参数,预制体(实例化对象)和 指定创建对象的父类

GameObject.Instantiate(Object original, Transform parent, bool instantiateInWorldSpace);//最后一个参数是-分配父类的时候是否保持原始的世界位置,false不保留,true保留(这个方法不怎么用到)

GameObject.Instantiate(Object original, Vector3 position, Quaternion rotation);//参数分别是,实例化对象(预制体),实例化的位置,实例化的角度

GameObject.Instantiate(Object original, Vector3 position, Quaternion rotation, Transform parent);//参数分别是,实例化对象(预制体),实例化的位置,实例化的角度,指定父类

下面以prefab做为预制体名称

 //这里创建一个空的游戏物体作为父类
 GameObject go =new GameObject ("table");//创建一个空的游戏物体名为table,用go接受对象,在代码内操作其他属性
 
 GameObject.Instantiate (prefab);//实例化对象
 
 GameObject.Instantiate (prefab,go.transform);//创建的时候指定父类(go.transform)
 
 GameObject.Instantiate(prefab,go.transform,false);//分配父类的时候是否保持原始的世界位置,false不保留,true保留
 
 GameObject.Instantiate(prefab,go.transform.position,Quaternion.identity);//Quaternion.identity  -对象与世界轴或父轴完美对齐 说白了就是 “ 无旋转”
 
 GameObject.Instantiate(prefab,go.transform.position,Quaternion.identity,go.transform);//创建对象的同时指定父类

3.创建原始对象Cube,Sphere,Capsule等(这个看看,了解一下就行啦)

 GameObject.CreatePrimitive (PrimitiveType.Cube);//正方体
 GameObject.CreatePrimitive (PrimitiveType.Sphere);//球体
 GameObject.CreatePrimitive (PrimitiveType.Capsule);//胶囊
 GameObject.CreatePrimitive (PrimitiveType.Cylinder);//圆柱体
 GameObject.CreatePrimitive (PrimitiveType.Plane);//平面,占用内存大
 GameObject.CreatePrimitive (PrimitiveType.Quad);//平面,占用内存小
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP