在b站上找了一个超详细的讲Unity和c#程序的老师的课,超级多,但是一定会努力啃下来!由于本人已经有一些C/C++及Java的编程基础,很多基础知识就略过了,主要记一些之前学习漏掉的,感觉非常有用可以时常查阅的东西。✧⁺⸜(●˙▾˙●)⸝⁺✧
还是一样附上链接哟
Unity3D定义
- 创建游戏
- 三维互动内容
- 专业游戏引擎
游戏
- 2D:视角完全锁定,二维坐标
- 3D:任意变化视角,三维坐标
游戏引擎
- 程序的框架,一款游戏最最核心的代码
- 渲染引擎、物理引擎、碰撞检测系统、音效、脚本引擎、动画系统、人工智能、网络引擎、场景管理。
- 开发者可以重用已有的核心技术,将精力集中在游戏逻辑和设计上。
Unity Hub
可以管理多个版本的Unity3D
看傅老师的课去了,回来有点小飘
散乱知识点(快捷操作)
.FBX - 模型
Assets - 资源
按住v - 紧密贴合
鼠标中间 - 拖动画面
Ctrl + 9 - 打开Asset Store
center 中心 | pivot 模型制作时的中心
Local 自身坐标系 | Global 世界坐标系
Ctrl + N - 创建新Scene
子物体的 Transform 是相对于父物体的
组件 Component
- Transform 变换组件:位置、选装、缩放比;
- Mesh Filter 网格过滤器: 用于从资源中获取网格信息;
- Mesh Render 网格渲染器:从网格过滤器中获得几何形状,再根据变化组件定义的位置进行渲染。
- 网格过滤器和网格渲染器
材质 Material
- 材质:物体的质地,指纹理、色彩、光滑度、透明度、反射率、发光度等;
- shader 着色器: 用来渲染3D图形的技术;
- Rendering Mode 渲染模式
- Opaque 不透明;
- Transparent 透明,用于半透明和全透明物体,如玻璃;
- Cutout 镂空,用于完全透明或完全不透明物体,如栅栏;
-
Fade 渐变,用于需要淡入淡出的物体。
- 添加shader(一段代码,可自己编写)
1.创建新material- shader导入U3D
- shader拖拽到material (不是物体)
Camera
天空盒
- 6 Sided
-
Procedural
Culling Mask
剔除遮罩使用层有选择地渲染一组对象
Projection
- perspective(3D)
- orthographic (2D)
Clipping Planes
渲染范围,太远的可以不需要渲染
Viewport Rect
- X + Y - 左下角坐标
- W - 宽度
- H - 高度
- Depth - 深度(数越大越优先显示)
应用:后视镜、小地图*
耳朵只能有一个 - Ctrl + Shift + F — 选中的物体快速定位到当前视角;
【小地图例子】重点思路:
人物头顶加Mark 分层;
地图用贴图,放在真的地图下方,分层;
头顶摄像机只看Mark和地图贴图!
Depth only去掉地图其他部分。
InstantOC
渲染管线
图形数据在GPU上经过运算处理,最后输出到屏幕的过程。
Instant Occlusion Culling即时遮挡剔除
- 当物体被送进渲染流水线之前,将摄像机视角内看不到的物体进行剔除,从而减少每帧渲染数据量,提高渲染性能。
- 缺:牺牲CPU减少GPU工作量。
-使用场景:场景中存在大量的分布较密集的物体。
多层次细节 LOD(Levels of Detail)
- 根据物体模型的节点在现实环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。
- 缺:CPU判断距离。占用内存多。
光照系统
GI(Global Illumination) 全局光照
- 能够计算直接光、间接环境光以及反射光的光照系统。
实时GI
烘焙GI
Lightmap 技术的原理是将场景中的灯光与物体产生的光照与阴影信息烘培在一张或者多张Lightmap 贴图中,这些物体将不再参与实时光照计算,从而减少了大量的性能开销。
它的缺点就是参与烘培计算的对象在游戏过程中不能发生移动。
所以游戏中通常会将物体分成两类:一类是可发生位移变化的对象,他们使用实时光照计算;另一类是不可发生位移变化的,他们采取预先烘培Lightmap。
Auto Generate 选择后会自动烘培,如果场景中元素比较多,不建议开启。
在游戏中少部分物体需要实时光,例如控制主角移动时,需要动态地产生光照和阴影信息。
如果场景中灯光很多,如何管理:
打开Window → Rendering → Lighting Explorer。
光源侦测 Light Probes
-
Light Probes组件可以通过Probe收集光影信息,然后对运动物体邻近的几个Probe进行差值运算,最后将光照作用到物体上。
声音
- 分为2D(背景音乐)和3D(空间感)两类;
-
新建Audio Source,拖进去。
FINISH 2020-3-10