这是我参与「第五届青训营 」伴学笔记创作活动的第 18 天
基于 Unity 软件开发 3D 游戏
3D 实体搭建
在游戏场景中给定位置搭建静态物体
3D 实体
GameObject
实体在空间中存在于特定的位置并有特定的姿态(旋转角度)
3D 游戏由各类实体构成
实体的位姿态
位置 position (x,y,z)、旋转 rotation (x,y,z)、缩放 scale (x,y,z)
通常情况下,是先缩放,再旋转,最后平移
实体创建及绘制
从组合化的基本几何体创建
材质&颜色&纹理
预制体
保存一个游戏对象,包括游戏对象的所有组件和其下的所有子游戏对象,需要时可用于创建新的实体
相机、光照和天空盒
相机实体
Clear Flag
背景颜色 Background
Culling Mask
投影 Projection(透视 Perspective、正交 Orthographic)
投影方式
透视投影 Perspective
正交投影 Orthographic
光照设置
光照类型 - 点光源、平行光、聚光灯、面积光
颜色
强度
阴影类型
天空盒
相机的清除标志
窗口-渲染-照明设置
环境-天空盒设置
控制与碰撞
实时游戏时序
初始化、物理、输入、游戏逻辑、渲染、停顿、销毁
MonoBehavior 是所有 Unity 脚本的基类
- Start 首次调用 Update 方法前调用
- Update 每帧调用
- FixedUpdate 用于物理计算且独立于帧率,固定频率帧调用
- LateUpdate 每次调用 Update 后调用
- OnGUI 用于渲染和处理 GUI 事件,每个事件调用一次(每帧可调用多次)
- OnDisable 对象被禁用或卸载后调用
- OnEnable 对象启用或激活后使用
输入管理器
InputManager
设置输入响应方式的管理列表
碰撞盒
检测碰撞的发生
一般球体检测碰撞的效率较高
标签和层级
标签
图层
玩法逻辑与 UI
…………