初识Unity

初识Unity

第一次参加实习,同样也是第一次写博客,目的就是想给自己的实习留下一个简单的记录。
刚开始听到Unity,以为就是做3D游戏(感觉“高大上”,还是蛮期待的),现在已经有25天的接触史了,才发现原来游戏的动画原来这么难,要做到场景逼真那就更难了。“高大上”是有,难度也是不容小觑的呢。
到现在初步做出了第一个任务:坦克撞击树木,树木要实现破碎效果。撞击效果是出来了,但是很不逼真,所以下一步就是让树木的破碎效果更逼真(树木倒地再破碎或者破碎效果更像现实生活中破坏效果)。
接下来就是自己的初识Unity的学习笔记。

温馨提示:个人笔记,有点混乱,不喜勿喷,谢谢。

学习内容:

Unity面板简介:
project面板管理游戏资源(可以比作家里的冰箱,蔬菜,肉,水果,饮料什么都有)。
Hierarchy面板管理游戏对象(今天中午吃西红柿炒鸡蛋,那就把冰箱里的西红柿,鸡蛋拿出来备用)。
Scene面板提供设计游戏界面的可视化面板(想象成一口炒菜锅,展现做菜的过程,放油,放葱姜蒜,煎蛋,放西红柿(成块亦或成片随你刀工)翻炒的过程,直到最后的的出锅)。该面板的快捷键如下:
点物体按F键:居中;
手掌:拖动场景;
四箭头:上下左右移动物体;
ALT+鼠标左键:围绕物体旋转;ALT+鼠标右键:物体放大缩小。
还有播放控件和视图等等。

顶点吸附:
选择物体后按住V键,定位定点,再拖拽到目标物体某个定点上。备注:先松V键。
创建立方体
第一步:创建空物体: GameObject-Create Empty;
第二步:创建网格过滤器: Component-Mesh–Mesh Filter设置Mesh属性;
第三步:创建网格渲染器: Gomponent-Mesh-MeshRenderer,设置材质Materials属性。

理解项目,场景,游戏对象,组件之间的关系:

在这里插入图片描述

Material:实际就是Shader的实例。
材质:物体的质地,指色彩、纹理、出滑度、透明度、反射率、折射率、发光度等。
Shader着色器:专门用来渲染3D图形的技术,可以使纹理以某种方式展现。实际就是一段嵌入到渲染管线中的程序,可以控制GPU运算图像效果的算法。
纹理:附加到物体表面的贴图。
Rendering Mode
渲染模式分为以下四种:Opaque不透明,默认选项。Transparent透明,用于半透明和全透明物体,如玻璃。Cutout镂空,用于完全透明或完全不透明物体,如栅栏。Fade渐变,用于需要淡入淡出的物体。

纹理,着色器与材质的关系如下图:(重点)

在这里插入图片描述

相机天空盒(SkyBox):围绕整个场景的包装器,用于模拟天空的材质。天空盒材质种类: 6 Sided ,Procedural。
使用天空盒
设置摄像机Clear Flags属性为Skybox
方式一:摄像机添加组件Skybox;
方法二:光照窗口Window -Lighting-Environment Lighting -Skybox可作为反射源将天空色彩反射到场景中物体。

InstantOC分为渲染管线,即时遮挡剔除(Instant Occlusion Culling),多细节层次(Levels of Detail)三部分:
第一部分:渲染管线
在这里插入图片描述

顶点处理:接收摸型页点数据;坐标系转换。
图元装配:组装面:连接相邻的顶点,绘制为三角面。
光栅化:计算三角面上的像素,并为后面着色阶段提供合理的插值参数。
像素处理:对每个像素区域进行着色;写入到缓存中。
缓存:一个存储像素数据的内存块,最重要的缓存是帧缓存与深度缓存。

第二部分:即时遮挡剔除(Instant Occlusion Culling)

遮挡剔除:当物体被送进渲染流水线之前,将摄像机视角内看不到的物体进行剔除,从而减少了每帧渲染数据量,提高渲染性能。
遮挡剔除优点:被遮挡的物体不用渲染,即cpu节省时间。
遮挡剔除缺点:cpu判断物体是否被遮挡,有额外的资源消耗。
适合场景中物体分布较密集,存在大量物体被遮挡。

第三部分:多细节层次(Instant Occlusion Culling)
LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。
LOD优点:近距离:高面模型;远距离:低面模型;顶点数量和三角形数量减少,渲染面减低。
LOD缺点:cpu需要判断距离远近,消耗资源。内存量占用多,美工工作量大。
适用于是否有精模和远近是否不影响物体的基本形态(纹理,小细节),如房子等。

全局光照(Global Illumination)简称GI

能够计算直接光、间接光、环境光以及反射光的光照系统。通过GI算法可以使渲染出来的光照效果更为真实丰富。
实时全局光照(Realtime GI):所谓"实时"是指在运行期间任意修改光源,而所有的变化可以立即更新。
烘焙(Lightmap)
当场景包含大量物体时,实时光照和阴影对游戏性能有很大影响。使用烘焙技术,可以将光线效果预渲染成贴图再作用到物体上模拟光影,从而提高性能。适用于在性能较低的设备上运行的程序。
光源侦测(Light Probes)
由于LightMapping只能作用于static物体,所以导致运动的物体与场景中的光线无法融合在一起,显得非常不真实。而Light Probes组件可以通过Probe收集光影信息,然后对运动物体邻近的几个Probe进行插值运算,最后将光照作用到物体上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值