入门
认识
逻辑 游戏逻辑、AI、物理运算
显示 动画系统、底层渲染
声音 相对独立
游戏引擎
减少重复的工作,降低门槛
Unity——包含AI、渲染、物理运算、声音、动画系统、资源管理、跨平台、系统构架的游戏引擎
unity工程简介
创建工程——new Project-set目录,名称-3D/2D-create Project。
unity基础
名词术语
trasform 大小、形状
mesh 显示
meterials 材质
colider 碰撞
脚本驱动
Instantiate()创建GameObject
Awake()和Start()来做初始化
Update,LateUpdate和FixedUpdate更新逻辑
脚本间通信
GetComponment来找到其他脚本
GameObject.Find来找到其他物体
用户输入
在Edit-Project Setting - Input 设置游戏输入
在脚本中利用Input类来检测输入状态
Input.GetAxis返回的值是 -1到1之间,0表示没有输入
动画
引入.fbx文件
应用Animator——Add Compoment - Avator - Controller设置动画切换(设置状态机和脚本,用脚本更新状态机中的参数)
动态的生成/销毁物体
在update()中Instantiate()
在update()中Destroy(),(物体变为Active时触发OnEnable()函数,可以记录出生时间)
动态生成物体开销大,可建缓存保存,关键代码如下:
MonoBehaviour.Instantiate(prefab) as GameObject;//建cacheSize个实例放在cache中
objects[i].SetActive(false);//置为非活跃
//循环寻找一个非活跃实例
//设置位置,角度等
obj.SetActive(true);//会触发OnEnable()
ObjectToDestory.SetActive(false);//不实际销毁,置为非活跃
碰撞框collider
Mesh collider完全与物体形状相同,最为精确,最消耗性能,不常用
开始碰撞,调用OnTriggerEnter();
持续碰撞,OnTriggerStay();
结束碰撞,OnTriggerExit();
加入Rigidbody,可触发OnCollision事件,碰撞物体发生移动
Rigidbody
加入物理系统,控制物体运动:
碰撞检测,不能穿墙,重力,加速,旋转等;
AI基础
1.加入敌人
2.设置Collider(有多层)
3.编写代码
4.用Collider触动代码
导航系统
1.设置导航网格—— window - navigation
2.设置Nav Mesh Agent
3.调用Nav Mesh Agent的方法设置路径
UI系统
基本元素 GameObject - UI
布局 元素相对锚点距离不变,屏幕自适应
慕课网HenryLiang老师Unity3D快速入门课程的笔记,谢谢讲师!