对Unity3D一周所学总结(定稿)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“unity3d学习总结”。
对Unity3D一周所学的总结
一、Transform
游戏对象的Transform属性可以进行位置、旋转、大小的设置。
属性:
1、transform.position在世界空间坐标transform的位置
如:transform.position = Vector3(0, 0,100);//移动物体到(0, 0, 100)
2、transform.rotaition//旋转
如:transform.rotation = Quaternion.identity;//重设世界的旋转角度
3、transform.scale//缩放
如:transform.localScale += Vector3(0.1,0,0);//扩大物体的x轴向0.1个单位
transform.localScale-= Vector3(0.5, 0, 0);
方法:
1、位移:transform.Translate
如:transform.Translate(Vector3.forward);//对象向前位移
transform.Translate(new Vector3(10,0,0));//对象向x轴方向位移
2、旋转:transform.Rotate
如:transform.Rotate(new Vector3(0,10,0));对象绕y轴旋转
3、围绕旋转:transform.RotateAround
如: transform.RotateAround(Vector3.zero, Vector3.up, 20 * Time.deltaTime);
//围绕世界坐标原点,每秒20度物体自旋
查找:
Transform.Find //通过名字查找子物体并返回它
如: //查找到a物体并旋转它
function Update()
{
a = transform.Find(“a/b/c/d”);
a.Rotate(Time.deltaTime*20, 0, 0);
}
二、Input
想要读取轴向使用Input.GetAxis方法获取下列默认轴: “Horizontal” 和“Vertical” 映射于控制杆、A、W、S、D和箭头键(方向键)。“Mouse X” 和“Mouse Y” 映射于鼠标,“Fire1”, “Fire2” “Fire3”映射于键盘的Ctrl、Alt、Cmd键和鼠标中键或控制器的按钮。新的输入设置可以使用输入管理器来添加。
如:
if(Input.GetKey(KeyCode.E)){}//当按下键盘上的E键时发生
if(Input.GetMouseButton(0)){}//当点击鼠标左键,0、1、2表示鼠标左键右键中键 if(Input.GetButton(“Fire1”)){}//当点击鼠标时发生 float x = Input.GetAxis(“Horizontal”);//水平 float z = Input.GetAxis(“Vertical”);//垂直
//transform.Translate(x*speed*Time.deltaTime,0,z*speed*Time.deltaTime);//控制对象的前后左右的位移
三、GameObject对象
GameObject是Unity场景里面所有实体的基类.游戏对象的创建
如:GameObject cube=GameObject.CreatePrimitive(PrimitiveType.Cube);//创建一个cube对象
克隆对象:
如:GameObject.Instantiate(cube);//克隆一个cube对象
GameObject.Instantiate(cube, cube.transform.position, Quaternion.identity);//克隆一个cube对象,获取它的位置,不旋转
销毁对象:
如:GameObject.Destroy(cube);//销毁一个cube对象
GameObject.Destroy(cube, 2f);//两秒之后cube对象销毁
对象的查找:
GameObject go=GameObject.Find(“Cube”);//通过对象名称Cube查找
GameObject go2=GameObject.FindWithTag(“cube”);//通对象的标签cube查找 GameObject go3=GameObject.FindGameObjectWithTag(“cube”);//通对象的标签cube查找
获取对象脚本:
如:Player player=sphere.GetComponent();//获取脚本Player
print(player.myRocket);//获取脚本中公共的对象myRochet Time:
属性:Time.deltaTime
//计时
如:float a=3.0f;
void Update(){//三秒倒计时
a-=Time.delatTime;
print(a);
}
Random
int b=Random.Range(0,100)
包括最大和最小
float c=Random.Range(0.0f,1.0f);
包括最小但不包括最大
协程(Coroutine)
开启协程的两种方式: StartCoroutine(“Do”);StartCoroutine(Do());如:
void Start(){
print(“Start开始”);
StartCoroutine(“Do”);
print(“Do调用后”);
} IEnumerator Do(){
print(“Do开始”);
yield return new WaitForSeconds(3.0f);
print(“暂停3秒后”);}
消息传递
同级别对象之间
transform.SendMeage(“Get”);transform.SendMeage(“Get”,“aaaaaaaaaa”);
子对象向父对象发送
transform.SendMeageUpwards(“Get”);transform.SendMeageUpwards(“Get”,“aaaaaaaaaa”);父对象向子对象发送
transform.BroadcastMeage(“Get”);transform.BroadcastMeage(“Get”,“aaaaaaaaaa”);
碰撞检测:碰撞器(Collision)
触发器(Trigger)
碰撞器(Collision)
OnCollisionEnter(Collision col){}//进入 OnCollisionStay(Collision col){}//逗留 OnCollisionExit(Collision col){}//退出
触发器(Trigger)
OnTriggerEnter(Collider col){}//进入 OnTriggerStay(Collider col){}//逗留 OnTriggerExit(Collider col){}//退出
区别:是否勾选IsTrigger,触发器必须勾选上Is Trigger,碰撞器不需要。
狗刨学习网,学的更多、免费资源、免费视频下载
小班一周所学一、拼音1复习单韵母a o e i u üb p m f以及书本上学过的内容。二、数学1、复习数字宝宝1 2 3 4 5 67 8 92、认识数字宝宝10像铅笔加鸡蛋三、......
本人总结的一些Unity3d高频面试题目,希望可以帮助到大家。 限于个人水平有限,只附上一些参考答案。======================================= 数据结构和算法很重要,图形学也很......
《Unity3D网络通信》课程教学目标: 知识目标:一、弱联网(hppt)1、建立服务器2、PHP的基本语法3、WWW的基本应用4、MySql的基本应用5、上传和下载分数6、AetBundle资源的打包,加载......
1.unity简介和安装(x) 2.unity基础操作unity窗口界面介绍1.Scene场景编辑窗口(Q、W、E、R、T/按住鼠标右键—旋转视角、按住鼠标右键Q、E、W、S、A、D)2.Game游戏运行窗口(运......
Unity3D——飞机大战项目总结学飞机大战好几天了,今天就总结一下飞机大战所学的知识,所遇到的困难,还有常出现在错误。一:资源包的导入,场景的搭建步骤不在阐述在这包的导入和创......