这是我参与「第五届青训营」伴学笔记创作活动的第 18 天
Unity3D是由Unity Technologies开发的一个能让玩家轻松创建诸如三维游戏、虚拟现实、实时电影与动画、建筑可视化、数字教育、汽车/运输与制造等众多类型互动内容的多平台的综合型游戏开发工具,是一款功能强大的专业游戏引擎。Unity类似于Director,Blender,Virtools或Torque Game Builder等利用交互的图形化开发环境为首要方式的软件。
概述
本节课程主要分为四个方面:
- 3D 游戏中的实体模型、材质与位姿
- 相机、光照、天空盒
- 游戏控制、刚体属性与物理碰撞
- 玩法逻辑与游戏UI
实体搭建
3D实体
- 3D游戏是由一个个具体形状的实体组成的,每一个实体在空间中存在于特定的位置,有特定的姿态(旋转角度)。
3D实体的位姿态(Transform)
- 位置Position(x,y,z) 是三维向量坐标
- 旋转 Rotation(x,y,z), 是一个三维向量坐标
- 缩放 Scale(x,y,z), 是一个三维向量坐标
在Untiy中,绝大部分情况下,是先缩放,后旋转,最后平移
3D实体的创建
- 通过加载 3D 模型创建,如 fbx、gltf、obj
- 通过组合参数化的基本几何体创建。
3D实体的绘制
- 材质
- 颜色
- 纹理
预制体
- 将游戏对象保存在工程中,在需要的时候创建出来,这就是预制体(prefab)
- 预制体存储着一个游戏对象,包括游戏对象的所有组件以及其下的所有子游戏对象。
光照、相机、天空盒
相机
-
Clear Flag
-
背景颜色
-
Culling Mask
-
投影(透视、正交)
- 透视投影(Perspective)
- 正交投影(Orthographic)
光照
- 类型:点光源、平行光、聚光灯、面积光
- 颜色
- 强度
- 阴影类型
天空盒
- 相机的清楚标志设为“天空盒”
- 窗口-渲染-照明设置
- 环境-天空盒材质
总结
我的专业是数字媒体技术,所以有接触过游戏开发的课程,但是我的主攻方向还是前端开发,所以对于这个技术可以有所了解,因为以后也不知道WebGL等一些3D库的发展会是如何,包括Web3.0和元宇宙等技术,毕竟我们得展望未来,不拘泥于现在的知识。