这是我参与「第五届青训营 」伴学笔记创作活动的第 18 天。
一、本堂课重点内容:
-
本堂课的知识要点有哪些?
- 3D 游戏中的实体模型、材质与位姿
- 相机、光照、天空盒
- 游戏控制、刚体属性与物理碰撞
- 玩法逻辑与游戏UI
二、详细知识点介绍:
- 本堂课介绍了哪些知识点?
3D实体搭建
3D游戏由一个个具有形状的实体组成,每个实体在空间中存在于特定的位置,有特定的姿态(旋转角度)。位置position(x,y,z) 旋转rotation(x,y,z) 缩放scale(x,y,z)都是三维向量坐标。
在unity中,绝大部分情况下是先缩放,后旋转,最后平移。
创建实体时,美术同学给的maya做好的模型有fbx,gltf,obj等,或者通过组合参数化的基本几何体创建。绘制时,修改材质、纹理、颜色。
游戏开发时基于预制体prefab,预制体存储游戏对象
相机,光照,天空盒
相机是3D空间到2D的降级。选clear flag,背景颜色,culling mask,projection选择投影方式:透视far,near,fov/正交far,fear,size
光照:类型包括:电光源、平行光、聚光灯、面积光。其他介绍:颜色、强度、阴影类型
天空盒:相机的清除标志设为“天空盒”,讲到了窗口-渲染-照明设置。天空盒材质
三、实践练习例子:
-
火箭展示
-
控制与碰撞的案例 过程:初始化-物理-输入-游戏逻辑-渲染-停顿-销毁
- 通过物理管理器——实现碰撞
- 通过Input.GetAxis()与InputManager监听玩家输入
- 通过Instantiate()动态生成游戏实体实例
-
MonoBehaviour是一个基类,所有Unity脚本都派生自该类
- Start()在首次调用任何Update方法之前在帧上调用
- Update()每帧调用
- FixedUpdate()每个固定帧调用
- LateUpdate()每次调用Update函数后调用
- OnGUI()渲染和处理GUI事件,可多次调用
- OnDisable()在对象销毁时调用
- OnEnable()在对象变为启用和激活时调用
四、课后个人总结:
- 本章有什么知识点不容易掌握?
- 什么地方容易与其他内容混淆?
了解游戏开发的基本流程,需要后面再看一遍,第一遍记不住
五、引用参考:
- 我参考了哪些外部博客/笔记/文章?
- 文章中有什么地方是我参考引用了外部博客/笔记/文章的?