一.应用背景在现代游戏中,游戏资源越来越多,游戏场景也越来越大越来越复杂,虽说硬件设备更新迭代很快,性能也日渐强大,但这还远不能缓解复杂繁多的资源带来的性能压力,因而性能优化仍然很有必要。场景资源的剔除是性能优化的一个重要方面,剔除方式也有很多,比如OcclusionCulling、Frustum Culling、layerCullingDistance等。由于项目的需要,这里重点关注Frustu
转载 2024-03-31 21:36:15
29阅读
Unity中的Culling Mode是指在渲染过程中决定哪些物体会被剔除(不进行渲染),从而提高性能和减少资源消耗。在Unity中,有三种主要的Culling Mode可供选择:None、Based On Renderers和Based On Bounds。下面将详细介绍如何在Unity中设置Culling Mode,并展示具体的代码示例。 整个设置Unity Culling Mode的流程
原创 2024-04-24 10:00:00
184阅读
文章目录一、ArrayList二、Stack三、Queue四、Hashtable五、泛型六、泛型约束七、List八、Dictionary九、LinkedList十、泛型 Stack 和 Queue十一、委托十二、事件十三、匿名函数十四、Lambda表达式十五、闭包十六、List 排序十七、协变逆变十八、多线程十九、预处理器指令二十、反射二十一、特性二十二、迭代器二十三、特殊语法 一、ArrayL
转载 10月前
40阅读
本文章由cartzhang编写,转载请注明出处。 所有权利保留。 作者:cartzhang一、unity裁剪包括,视锥裁剪和遮挡裁剪。什么是视锥体裁剪? 我们来直接看下官方的图解,看图说话。 场景中的对象: ​​https://docs.unity3d.com/uploads/Main/OcclusionNoCulling.png​​ 视锥体的裁剪
转载 2023-01-10 00:50:24
759阅读
最近发现了一个非常好用的工具Adreno Profiler,可以用来分析安卓手机上OpenGL ES绘制过程。这个东西牛的地方在于可以抓取任何可以运行的App,而且使用起来非常方便、没有额外限制。这个工具本质上是一个OpenGL ES Draw Call Replay;如果你用过PIX或者GPA,就会感到很非常熟悉了。下图是贵易的魔天记,挂起来毫无压力233 申明: 我不会回答任何关于资源导出方面
觉得这个讲的挺好的,就转过来了:)太抽象的理论总是让人眼花缭乱,所以我这里以例证为主。1,测试OnTriggerEnter和OnCollisionEnter的区别测试:如果两个物体A,B 两者都有碰撞体collider(Box Collider,Sphere Collider,Capsule Collider等)A,B都有刚体(Rigidbody)A或者B中有一个勾选isTrigger或
转载 2024-02-20 13:00:42
146阅读
目录一.Unity裁剪包括,视锥裁剪和遮挡裁剪。二.首先搭建一个简单场景。三.这是怎么回事。四.是不是全部都需要为静态的呢?实验一实验二五.注意:六.打包测试七.工程地址: 介绍下关于Occlusion Culling 遮挡剔除的内容,遮挡剔除, 当一个物体被其他物体遮挡住而不在摄像机的可视范围内时不对其进行渲染。遮挡剔除在3D图形计算中并不是自动进行的。一.Unity裁剪包括,视锥裁剪
转载 2024-06-26 15:23:35
87阅读
Tutorial 04里面的注释,关于camera视截体裁剪的规则和不同种类object render的顺序/*                 Object sorting + object culling based on the frustum of the camera
转载 2009-12-01 20:35:23
359阅读
官方Github地址:https://github.com/Unity-Technologies/com.unity.cinemachine/tree/main/com.unity.cinemachine文档在Documentation~文件夹下。这里主要介绍各个组件的功能,具体参数设置查阅文档即可。目录1 Brain大脑CinemachineBrain可直接通过AddComponet就能添加。
转载 2024-05-06 22:43:32
577阅读
1.简述两个属性1.1 Clear Flags 清除标记       每个相机在渲染时会存储颜色和深度信息。屏幕的未绘制部分是空的,默认情况下会显来完成:1.Skyb
转载 2023-04-27 15:43:22
990阅读
1.简述两个属性 1.1 Clear Flags 清除标记        每个相机在渲染时会存储颜色和深度信息。屏幕的未绘制部分是空的,默认情况下会显示天空盒。当你使用多个相机时,每一个都将自己的颜色和深度信息存储在缓冲区中,还将积累大量的每个相机的渲染数据。当场景中的任何特定相机进行渲染时,你可以设定清除标记以清除缓冲区信息的不同集合。可以通过下面
原创 2014-01-16 15:44:00
1137阅读
这次接着上一篇ComputeShader基础用法系列之三来继续说。上一节说到了要通过Compute Shader进行GPU Culling。为什么需要GPU Culling呢?使用GPU  Culling能带来什么好处?传统意义上的culling是通过相机的Cull进行的,Camera.Cull所带来的性能问题随着场景的复杂程度提高而会越来越严重。那么我们能否将Cull放到GPU来做呢,
转载 2024-04-08 21:58:21
77阅读
详细介绍了Cesium中用到的地平线裁剪的技术。
翻译 2021-11-01 17:02:29
1179阅读
最近集成遮挡剔除算法,最终从各种算法预研收敛到HIZ算法(此算法也可快速将视锥剔除集成进来做到剔除算法全部采用GPU驱动为主,可参照Vulkan_基于GPU的视锥体剔除和LOD),因此本部分我们来着重看一下HIZ算法。首先我们来看一下遮挡剔除的算法有哪些:一、遮挡剔除算法遮挡剔除的几种主要算法包括:遮挡查询算法软件遮挡剔除算法覆盖缓冲区算法使用几何着色器进行 GPU 驱动的遮挡剔除算法使用计算和间
前提最近在阅读《Real-Time Rendering》Third Edition时,发现对于渲染管线中不同剔除部分的具体含义和生效阶段不甚明了
转载 2022-11-29 21:18:15
875阅读
Unity Shader的组织形式 Unity Shader的形态Unity官方手册上讲Unity Shader有三种不同的编写方案,这三种编写方案分别是surface shaders、vertex and fragment shaders和fixed function shaders。 从前面几篇笔记中可以了解到,可编程图形管线中能够编写shader的主要是两个部分:vertex sh
转载 2024-07-31 14:44:15
69阅读
在很多枪战游戏中,都有子弹射击到物体上后出现弹孔的效果,类似的贴图功能早已实现。由于项目需要,最近接触到这一需求,需要在场景模型中特定的地方做标记,本来一开始想着用贴Plane面片的方式实现,也就是在射线射中的模型对应的点生成一张带贴图的面片,但随后发现,这种方式只适合平面,若在弯曲的地方,面片无法贴合在模型上,于是就只能通过修改模型贴图的方式,也就是说在模型的贴图上在叠加弹孔,这样的话,子弹孔就
转载 2024-04-18 17:22:55
386阅读
文章目录什么时 Dithering色阶纹理图案 - Texture Dither Pattern程序化 动态 Dithering - 让 RGBA8888 压缩到 RGBA4444 而没有明显色阶Floyd-SteinbergUnity 自带的 RGBA32->RGBA4444使用 keijiro dither 4444 优化RGBA32->RGB565Bayer-Matrix-Di
转载 2024-04-30 15:17:41
964阅读
  总的来说unity的脚本生命周期分几个部分:编辑→初始化→游戏逻辑→渲染→GUI→Teardown首先是Reset,顾名思义:重置。在什么情况下调用呢?1.用户第一次添加组件时。2用户点击见组件面板上的Reset按钮时。接下来的几个比较重要:Awake():当脚本实例被载入时调用,一般进行一些初始化赋值。Start():Start只在Update第一次被调用前执行一次。接下
转载 2024-03-03 13:53:46
119阅读
一些常用术语直接光:光线直接或者经过一次反射进入我们的视野 间接光:光线经过多次反射进入我们的视野 逐像素光:一个像素一个像素处理光照计算 逐顶点光:一个顶点一个顶点处理光照计算,这个相对逐像素处理比较节省性能,因为顶点会经过光栅化产生更多的像素,顶点TypedirectionalLight:平行光,模仿世界中的太阳光 spotLight:聚光灯,由一个点发出一个光,形成一个椎体 pointLig
转载 2024-03-22 14:11:00
194阅读
  • 1
  • 2
  • 3
  • 4
  • 5