Unity基础概念 - zLulus/My_Note GitHub Wiki
本质
C#脚本中的对象(可访问的)和Unity Inspector中是相互对应的,后端定义对象,前端绑定相关资源,后端操作
同样,后端也可以访问、修改Inspector中的对象
类似winform和WPF,和WPF更类似
坐标
X:红色
Y:绿色
Z:蓝色
世界坐标
整个世界的固定坐标,不会随旋转而改变
eg.现实中的东南西北
本地坐标
物体的自身坐标,随旋转而改变
eg.自己的前后左右
场景Scene
场景是一组相关联的游戏对象的集合
通常游戏中每个关卡就是一个场景,用于展现当前关卡中的所有物体
文件后缀名是.unity
游戏对象GameObject
游戏对象是运行时出现在场景中的物体
eg.人物、地形、树木等
游戏对象是一种容器
,可以挂载组件
父子物体
在Hierarchy面板中,将一个物体拖拽到另一个物体中(或者在一个物体中新建一个物体)
子物体将继承父物体的移动、旋转、缩放属性,子物体不影响父物体
组件Component
组件是游戏对象的功能模块
每个组件都是一个类的示例
Transform变换组件
决定物体的位置、旋转、缩放比
默认GameObject都会有Transform
Mesh Filter网格过滤器
用于从资源中获得网格信息
任何物体都是有无数个三角形组成的,改变物体形状,就是改变网格信息
Mesh Render网格渲染器
从网格过滤器
中获得几何形状,再根据变化组件
定义的位置进行渲染
网格过滤器和网格渲染器联合使用,使模型显示在屏幕上
GameObject没有Mesh Filter或Mesh Render,无法显示在屏幕上
相互关系
材质
摄像机
渲染管线
链接
图形数据在GPU(显卡)上经过运算处理,最后输出到屏幕的过程
顶点处理
接收模型顶点数据 坐标系转换
图元装配
组装面:连接相邻的顶点,绘制为三角形
光栅化
计算三角面上的像素,并为后面着色阶段提供合理的差值参数
像素处理
为每个像素区域进行着色 写入到缓存中
缓存
深度缓存
Occlusion Culling遮挡剔除/InstantOC即时遮挡剔除
光照系统
Levels Of Details(LOD)
多细节层次
LOD技术根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节,从而获得高效率的渲染运算
即近距离的物体高渲染,距离远的物体低渲染