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

82 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 17 天。

一、什么是3D实体

3D游戏是由一个个具有形状的实体组成的。每个实体在空间中存在于特定的位置,有特定的姿态(旋转角度)。

二、3D实体的位姿态

1.位置Position (x, y, z),是一个三维向量坐标

⒉旋转 Rotation (x, y,z),是一个三维向量坐标

3.缩放 Scale (x, y, z),是一个三维向量坐标

在Unity中,绝大部分情况下,是先缩放,后旋转,最后平移。

三、3D 实体的创建

1.通过加载3D模型创建,如fbx、gltf、obj.

2通过组合参数化的基本几何体创建。

四、3D 实体的绘制三要素

1.材质。

2.颜色。

3.纹理。

五、预制体

将游戏对象保存在工程中,在需要的时候创建出来,这就是预制体(prefab)。

预制体存储着一个游戏对象,包括游戏对象的所有组件以及其下的所有子游戏对象。

六、相机

1. Clear Flag。2.背景颜色。

3.Culling Mask.4.投影(透视、正交)

光照

1.类型:点光源、平行光、聚光灯、面积光。2颜色。

3.强度。

4.阴影类型。

设置标签、图层和物理规则

游戏中存在不同类型的游戏对象,它们需要放置在不同的图层中,并与其他游戏对象发生不同的交互。

标签和图层管理器

1.菜单栏中执行Edit > Project Settings > Tags and Layers命令。

2打开Tags左侧的三角形展开按钮。单击标签下方的+符号并输入标签名称。3.单击 Layers旁边的三角形展开按钮从 User Layer 8开始,依次输入图层名称

物理管理器

菜单栏中执行Edit > Project Settings > Physics命令。

知识点总结

- 学习在Unity中创建实体,给实体设置位姿、材质、刚体、脚本。

- 学会配置相机、光、天空盒。

- 理解实时游戏update的时序机制。

- 通过lnput.GetAxis()与lnputManager监听玩家输入。

- 用InstantiateGameObject()动态生成游戏实体实例。

- 从Camera.main获得相机参数,设置场景中的物体在画面中的位置。

- 利用标签、图层管理器区分实体种类并设置物理规则。

- 通过Collider 组件与OnTrigger函数添加碰撞事件。

- 通过图形用户界面(GUI)管理游戏界面。