这里是整理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模型

步骤:

  1. 创建层
  2. 创建空物体并将模型(Loa_0、Loa_1、Loa_2)添加到其中
  3. 为父物体指定层与标签
  4. 父物体或子物体添加碰撞器组件
  5. .摄像机附加脚本IOCcam

适用性:

场景中,存在高模且高模会有远近变化

缺点:

CPU消耗、占用内存(原来一个,现在三个)、(美工要做三个模)

性能优化三方面:

CPU的使用、渲染、内存的使用

(window——>Profiler)

Unity3D教程笔记——unity初始03相关推荐

  1. Unity3D教程:Unity批量处理修改烘培LightMap

    用Unity烘培后的多重纹理不能直接转到Unity中,还需要一个个的手动指认Shader.在Max里建立你的模型,然后Diffuse Map贴这个模型上,导出一个Fbx文件,然后再相同的模型和相同的D ...

  2. Unity3D脚本:Unity制作连连看脚本

    Unity3D教程:Unity制作连连看教程 GameManager.cs  游戏的核心代码,产生图片,判断是否可以销毁等. [color=#008ef1][font=宋体]using UnityEn ...

  3. 【Unity3D 教程系列第 12 篇】如何用Unity写一个简易的计时器工具?

    这是[Unity3D 教程系列第 12 篇],如果觉得有用的话,欢迎关注专栏. 平常关于延时的处理很多人都喜欢用携程去处理,但是在 Unity 里,并不建议大家用过多的携程,因为会出现一些莫名其妙的 ...

  4. 【Unity3D 教程系列第 10 篇】Unity 脚本中的生命周期流程图

    这是[Unity3D 教程系列第 10 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:生命周期流程图 二:常用的生命周期函数 三:脚本初始化和销毁 四:脚本的动态添加与静态添加 五:Awake ...

  5. 【Unity3D 教程系列第 19 篇】Unity 中根据长方体模型的尺寸添加碰撞盒 BoxCollider

    这是[Unity3D 教程系列第 19 篇],如果觉得有用的话,欢迎关注专栏. 前言: 给一个长方体模型添加碰撞盒 BoxCollider,即使手动拖拽也费不了多长时间,但手动拖动不仅显得 Low , ...

  6. [Unity3D教程]Unity粒子系统Shuriken(飞镖)

    [Unity3D教程]Unity粒子系统Shuriken(飞镖) Unity从3.5之后推出了新的粒子系统->Shuriken(飞镖),在Unity场景当中添加一个粒子对象后,会看到这个样的图片 ...

  7. 【Unity3D 教程系列第 1 篇】Unity如何去掉自带动画?

    这是[Unity3D 教程系列第 1 篇],如果觉得有用的话,欢迎关注专栏. 打开Unity,在左上角点击 File 选项后,执行如下操作 文解步骤:File → BuildSetting → Pla ...

  8. 【Unity3D 教程系列第 14 篇】如何解决启动 Unity 时,一直卡在 Loading 界面不动的问题?

    这是[Unity3D 教程系列第 14 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:问题截图 二:解决方案 方案一:文解过程 方案二:图解过程 一:问题截图 解决方案 一:问题截图 二:解决 ...

  9. 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. ...

最新文章

  1. 电子学会青少年编程等级考试Python一级题目解析03
  2. 关于(警告: No configuration found for the specified action)解决方案
  3. python能够做什么软件-python爬虫软件有哪些做的比较好的?
  4. 【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等
  5. java 集成开发工具_最好的Java开发人员测试和集成工具
  6. SQLServer安装挂起解决方法
  7. 【转载保存】RunTime.getRunTime().addShutdownHook 添加钩子
  8. python里面print是什么意思_python里print是什么意思
  9. mysql自建云盘_使用nextcloud自建私人云盘
  10. hdu4190 简单的二分法
  11. pt-table-checksum
  12. 大数据笔记--Spark机器学习(第一篇)
  13. 计算机应不应该学电路,应该怎么学才能入门电子技术
  14. 华为2019校招笔试题之处理字符串(python版)
  15. 董事长、总裁、总经理的关系
  16. 用微PE工具箱安装系统
  17. Unmapped Spring configuration files found. Please configure Spring facet or use 'Create Default Con
  18. VMware虚拟机中使用usb设备
  19. 计算机是怎么跑起来的——简记
  20. [个人笔记]关于AccountManager

热门文章

  1. 2022-5-17-验证外星语词典
  2. JS unshift() 方法
  3. 网页制作篇(智慧树网站马红老师)-基础知识总结1(标记篇)
  4. Wireshark数据包分析
  5. 在Linux服务器上安装SQL Server
  6. 排序算法——十大排序算法总结与对比
  7. 网站优化推广怎么做?
  8. springMVC + Dubbo + zooKeeper超详细 步骤
  9. Windows10安装MinGW-w64
  10. html中的函数怎么显示变量,css - 原生变量及使用函数 var()