3D 游戏实战开发 | 青训营笔记

108 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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

…………