这是我参与「第五届青训营 」伴学笔记创作活动的第17天
一、本堂课重点内容:
二、详细知识点介绍:
- 学习目的
在没有美术的前提下, 利用Unity快速搭建电子游戏原型,制作游戏Demo
-
3D实体
-
3D实体的位姿态
1)位置
2)旋转
3)缩放
其中使用欧拉角进行调整物体的旋转角度
旋转角度有:
1)偏角
2)偏航
3)侧滚
其中实体坐标系类型有:
1)右手坐标系
2)左手坐标系
在Unity中先缩放后旋转最后平移
-
3D实体的创建
1)通过加载3D模型创建,如fbx、gltf、obj
2)通过组合参数化的基本几何体创建
-
3D实体的绘制
1)材质
2)颜色
3)纹理
-
3D实体创建之模型制作
-
3D实体开发与面向对象开发区别
与面向对象的开发形式对比,3D最大的区别是以组合的形式,基于对象的形式开发
具体区别有:
面向对象通常以封装、继承、多态等形式从父类继承 游戏中多以EC(实体)结构形式开发,添加组件进行修改,用组合的方式将插件挂载到不同实体上故诞生预置体的概念
-
预置体
将游戏对象保存在工程中,在需要的时候创建出来,这就是预置体
预置体存储着一个游戏对象,包括游戏对象的所有组件以及其下的所有子游戏对象。
在游戏场景中任意预置体与任意实例可以随意转换
-
-
-
渲染游戏氛围,游戏场景环境
-
相机
三维到二维的降维操作
1)Clear Flag
2)背景颜色
3)Culling Mask
4)投影(透视、正交)
-
投影类型
透视:平时看到的场景,近大远小(通常采用)
正交:近远无差(一般二、渲染游戏氛围,游戏场景环境
-
-
光照
1)类型:点光源、平行光(前两者常用)、聚光灯、面积光(后两者运行效率不高)
2)颜色
3)强度
4)阴影类型(投影边缘硬或软)
-
天空盒
无论什么角度都可以观察到环境纹理,是一种图片素材
1)相机的清除标志设为“天空盒” 2)窗口-渲染照明设置 3)环境天空盒材质
-
-
对静态实体如何控制与碰撞
-
实时游戏的时序
每秒进行更新,逻辑判断以及监听
-
添加控制逻辑
1)添加刚体组件
2)添加自定义脚本
3)设置标签、图层和物理规则
游戏中存在不同类型的游戏对象,它们需要放置在不同的图层中,并与其他游戏对象发生不同的交互
4)添加碰撞代码
-
三、引用参考:
- 文章 实时游戏的时序 图片参考引用于「3D 游戏实战开发」第五届字节跳动青训营 - 前端专场 课程