Unity3D教程笔记——unity初始03
这里是整理unity教程笔记的第三天!又是收获满满的一天!!!
每日一句:做一个温柔的人,永远不卑不亢清澈善良
插件:Instant OC
[链接:https://pan.baidu.com/s/1A8IUPgpk8rGgzE7NnbY0DA?pwd=ufl2
提取码:ufl2(可免费提取博主网盘的Instant OC插件,别忘啦点赞博主文章作为答谢呦)]
03DAY
目录
制作游戏场景小地图
渲染管线:
顶点处理:
图元装配:
光栅化:
像素处理:
缓存:
帧缓存:
深度缓存z-buffer:
Occlusion Culling遮挡剔除:
含义(优点):
缺点:
适用性:
步骤:
LOD
含义(优点):
属性:
步骤:
适用性:
缺点:
性能优化三方面:
制作游戏场景小地图
让摄像机的模型看似好像一个物体,就把它们放在统一的父物体里,对父物体操作——>摄像机可以有多个,Audio Listener(耳朵)只能有一个
(两个摄像机的错误提示)——>调深度值——>在人物上做一平面,用来当小地图的标识,Main Camera不想看到平面,MipCamera不想看到人物:新建层,用Culling Mask隐藏
(实际开发时:地图摄像机不让看地形,渲染消耗大,美工准备一张图放地下,camera只看人物标识,性能优化了)——>小地图去掉空白部分:MipCamera—>Clear Flags—>Depth Only(空白地方不做渲染)
渲染管线:
图形数据在GPU上经过运算处理,最后输出到屏幕的过程
CPU:中央处理器
GPU:显卡,做渲染的
Draw Call(unity5叫Batches):每次引擎准备数据并通知GPU的过程。通俗讲,每帧调用显卡渲染物体的次数
(Batches越大,渲染越多,要减少Batches)
顶点处理:
接受(GPU给它发)模型顶点数据;坐标系转换
图元装配:
组装面:连接相邻的顶点,绘制三角面
光栅化:
计算三角面上的像素,并为后面着色阶段提供合理的插值参数
像素处理:
对每个像素区域进行着色,写入到缓存中
缓存:
一个存储像素数据的内存块,最重要的缓存是帧缓存与深度缓存
帧缓存:
存储每个像素的色彩,即渲染后的图像。帧缓存常常在显卡中,显卡不断读取并输出到屏幕中
深度缓存z-buffer:
存储像素的深度信息,即物体到摄像机的距离。
光栅化时便计算各像素的深度值,如果新的深度值比现有深度值更近,则像素颜色被写到帧缓存,并替换深度缓存。
Occlusion Culling遮挡剔除:
含义(优点):
当物体被送到渲染流水线之前,将摄像机视角内看不到的物体进行剔除,从而减少了每帧渲染数据量,提高渲染性能(优点)
插件:Instant Occlusion Culling
[链接:https://pan.baidu.com/s/1A8IUPgpk8rGgzE7NnbY0DA?pwd=ufl2
提取码:ufl2(可免费提取博主网盘的Instant OC插件,可点赞博主文章作为答谢呦)]
缺点:
判断物体是否被遮住,CPU使用了额外的开销
适用性:
在场景中,物体分布较密集且存在着大量的被挡物体
步骤:
1.创建层
2.为游戏制定层(将参与遮挡剔除)与标签(将自动附加IOClod脚本)
3.物体添加碰撞器Collider组件
4.摄像机附加脚本IOCcam.
LOD
含义(优点):
多细节层次(Level Of Detail)
LOD技术指根据物体模型的节点在显示环境中所处的位置重要性,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而或得高效率的渲染运算
减少了相机与模型之间的距离去选择高、中、低模(Lod_0精模、Lod_1中模、Lod_2简模)
属性:
lod 1distance:摄像机到物体距离小于当前距离时,使用Lod_0模型
lod 2distance:摄像机到物体距离大于Lod 1且小于当前距离时,使用Lod_1模型,大于当前值,使用Lod_2模型
步骤:
- 创建层
- 创建空物体并将模型(Loa_0、Loa_1、Loa_2)添加到其中
- 为父物体指定层与标签
- 父物体或子物体添加碰撞器组件
- .摄像机附加脚本IOCcam
适用性:
场景中,存在高模且高模会有远近变化
缺点:
CPU消耗、占用内存(原来一个,现在三个)、(美工要做三个模)
性能优化三方面:
CPU的使用、渲染、内存的使用
(window——>Profiler)
Unity3D教程笔记——unity初始03相关推荐
- Unity3D教程:Unity批量处理修改烘培LightMap
用Unity烘培后的多重纹理不能直接转到Unity中,还需要一个个的手动指认Shader.在Max里建立你的模型,然后Diffuse Map贴这个模型上,导出一个Fbx文件,然后再相同的模型和相同的D ...
- Unity3D脚本:Unity制作连连看脚本
Unity3D教程:Unity制作连连看教程 GameManager.cs 游戏的核心代码,产生图片,判断是否可以销毁等. [color=#008ef1][font=宋体]using UnityEn ...
- 【Unity3D 教程系列第 12 篇】如何用Unity写一个简易的计时器工具?
这是[Unity3D 教程系列第 12 篇],如果觉得有用的话,欢迎关注专栏. 平常关于延时的处理很多人都喜欢用携程去处理,但是在 Unity 里,并不建议大家用过多的携程,因为会出现一些莫名其妙的 ...
- 【Unity3D 教程系列第 10 篇】Unity 脚本中的生命周期流程图
这是[Unity3D 教程系列第 10 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:生命周期流程图 二:常用的生命周期函数 三:脚本初始化和销毁 四:脚本的动态添加与静态添加 五:Awake ...
- 【Unity3D 教程系列第 19 篇】Unity 中根据长方体模型的尺寸添加碰撞盒 BoxCollider
这是[Unity3D 教程系列第 19 篇],如果觉得有用的话,欢迎关注专栏. 前言: 给一个长方体模型添加碰撞盒 BoxCollider,即使手动拖拽也费不了多长时间,但手动拖动不仅显得 Low , ...
- [Unity3D教程]Unity粒子系统Shuriken(飞镖)
[Unity3D教程]Unity粒子系统Shuriken(飞镖) Unity从3.5之后推出了新的粒子系统->Shuriken(飞镖),在Unity场景当中添加一个粒子对象后,会看到这个样的图片 ...
- 【Unity3D 教程系列第 1 篇】Unity如何去掉自带动画?
这是[Unity3D 教程系列第 1 篇],如果觉得有用的话,欢迎关注专栏. 打开Unity,在左上角点击 File 选项后,执行如下操作 文解步骤:File → BuildSetting → Pla ...
- 【Unity3D 教程系列第 14 篇】如何解决启动 Unity 时,一直卡在 Loading 界面不动的问题?
这是[Unity3D 教程系列第 14 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:问题截图 二:解决方案 方案一:文解过程 方案二:图解过程 一:问题截图 解决方案 一:问题截图 二:解决 ...
- Unity3D学习笔记3——Unity Shader的初步使用
文章目录 1. 概述 2. 详论 2.1. 创建材质 2.2. 着色器 2.2.1. 名称 2.2.2. 属性 2.2.3. SubShader 2.2.3.1. 标签(Tags) 2.2.3.2. ...
最新文章
- 电子学会青少年编程等级考试Python一级题目解析03
- 关于(警告: No configuration found for the specified action)解决方案
- python能够做什么软件-python爬虫软件有哪些做的比较好的?
- 【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等
- java 集成开发工具_最好的Java开发人员测试和集成工具
- SQLServer安装挂起解决方法
- 【转载保存】RunTime.getRunTime().addShutdownHook 添加钩子
- python里面print是什么意思_python里print是什么意思
- mysql自建云盘_使用nextcloud自建私人云盘
- hdu4190 简单的二分法
- pt-table-checksum
- 大数据笔记--Spark机器学习(第一篇)
- 计算机应不应该学电路,应该怎么学才能入门电子技术
- 华为2019校招笔试题之处理字符串(python版)
- 董事长、总裁、总经理的关系
- 用微PE工具箱安装系统
- Unmapped Spring configuration files found. Please configure Spring facet or use 'Create Default Con
- VMware虚拟机中使用usb设备
- 计算机是怎么跑起来的——简记
- [个人笔记]关于AccountManager