unity3d
文章平均质量分 78
IChessChess
游戏爱好者,喜欢研究搞奇奇怪怪
2020届毕业生
展开
-
Unity基于JobSystem的流式LODGroup
目录简介功能展示性能测试与Unity自LODGroup对比技术详解简介 Unity自带LODGroup是黑壳的东西,我们无法做到修改其代码(买源码的例外),在手游项目中往往要控制游戏内存的增长,是否可以从常驻内存的LODGroup入手??这里作者就写了个流式的LODGroup。 源代码连接:https://github.com/aganwenqi/LODGroup功能展示 展示LOD结构常驻内存流式加载常驻内存和流式加载混合...原创 2021-03-17 16:17:48 · 2934 阅读 · 9 评论 -
Unity URP渲染管线---实现自定义渲染物体
Unity内置管线是无法实现控制每个层级的渲染,而URP通用渲染管线却给了我们机会,这里就介绍如何自定义渲染。效果 本次示例场景中有一块plane和几个物体,这里将plane先渲染之后再渲染其他物体,图中是最终结果。 从FrameDebug中看到了先渲染了Plane,这里不是通过改变单独的RendererQueue实现的,这是相当于自己实现了渲染物体。原理详解 URP版本10.3.1,Unity2020.2.3 ...原创 2021-02-28 18:13:12 · 2135 阅读 · 0 评论 -
Unity URP渲染管线---实现云阴影效果
在很多游戏中都会有体积云这种物种,且很多是会动的体积云,那么云会动就难免会有云阴影,而实时阴影是很耗性能的,原神也是有云阴影的,至于他们怎么实现不得了之,这里作者用深度图重建世界坐标的方式实现云阴影效果,只需要2个DrawCall就可以完成。 实现是在URP下实现,如果不知道URP怎么用可以先看:https://blog.csdn.net/qq_33700123/article/details/114092028效果 主要是由下面参数云阴影,比如在什么时候加入阴影、出...原创 2021-02-26 17:38:10 · 2158 阅读 · 0 评论 -
Unity URP渲染管线---自定义渲染详解(入门)
本篇文章主要介绍URP自定义渲染RendererFeature、RendererPass的使用,并详细解析继承下来的每个方法什么时候会被调用,基础的URP请参考这位博主文章:https://blog.csdn.net/qq_30259857/article/details/108318528。测试demo效果RendererFeature、RendererPass使用在使用URP的时候先在PackageManager上导入Universal RP1、当Render...原创 2021-02-25 17:08:23 · 11947 阅读 · 8 评论 -
Unity角色残影特效支持gpuInstancing
网上的角色残影实现非常的多,不过大致思想都差不多。 这次作者也不例外,唯一不一样的是作者还实现了节省性能的GPUInstancing的处理,另外支持URP的shader代码也一并给出了。 传统的做法是将角色所有的SkinnedMeshRenderer 拷贝一份出来然后自己把拷贝的mesh通过半透明材质画出来,拷贝mesh这个过程的消耗其实很小不用担心,要担心的是SkinnedMeshRenderer网格可能面数会比较多,残影一下子生成很多个,且每个残影一个DrawCa...原创 2021-02-22 16:33:58 · 726 阅读 · 0 评论 -
Unity性能优化笔记之MMOARPG手游优化
MMOARPG手游性能优化场景优化 场景优化能够极大提高游戏性能1、花草树木使用Gpu Instancing2、关闭静态合批,因为开启后Unity会把场景所有材质球一样的静态物体合并成大网格,在打包的时候新出来的网格会占用包大小3、场景基本不重复或重复量小的物件让美术合并4、场景分层、分块加载5、一些相同材质球的Mesh被加载出来可用采取动态的静态合批策列,实测性能比不用好太多。UI相关优化 同样能够提高很大的性能1、合理、分类打图集,...原创 2021-02-21 20:39:38 · 570 阅读 · 0 评论 -
无缝大世界之任意形状切割Mesh
目录1、简介2、技术详解与实现原理简介本篇文章介绍将如何任意对mesh进行无规则切割,如下图,这是一张Unity的Terrain,通过自己指定的切割形状把需要的部分切割了出来,注意,这种算法不是只有地形可用,是针对mesh做的,图中只是示例。题外话:在无缝大世界中,往往一张大地图的地表贴图数量会很多比如有10多张,在某些地方比如下雪和秋天的交界处,往往这个地方的地形贴图是混合有两种类型的刷子贴图,如下图所示,这样shader里混合图通道需要更多,要的刷子纹理也越多,为了避免这个问题,原创 2021-02-21 16:03:32 · 1766 阅读 · 0 评论 -
无缝大世界之无缝连接Terrain转mesh
目录Terrain转Mesh介绍2、实现方案3、技术原理 (1)Terrain转Mesh (2)减面生成多层LODTerrain转Mesh介绍Unity传统的Terrain面数是非常恐怖的存在,且会产生大量的Draw Call和Terrain Data,内存大加载耗时等,它们都会导致性能的极大消耗,不适合在实际项目中使用,因此Terrain转Mesh诞生。本篇文章介绍的方案与传统的转mesh有所不同,这次转mesh是针对无缝大世界所准备,一下将会介绍方案和技术实现原理。..原创 2021-02-20 20:37:23 · 3290 阅读 · 0 评论 -
Mesh减面算法详解
本篇文章所讲述如何实现mesh减面工具。思想由作者创建。目录1、Unity Mesh对象里的数据构成2、智能减面详解Unity Mesh对象里的数据构成 这里主要介绍相关的数据,如下图。 Triangles数组存储的是所有三角形对应于vertices数组里的顶点,triangles从坐标0~n依次存储了每个三角形三个顶点在vertices下的位置,uv也是跟vertices对应的,知道这些后我们就可以对mesh任意操作了。智能减面详解减面前数据结构准备...原创 2021-02-20 20:29:58 · 4223 阅读 · 1 评论 -
Unity HLOD System(官方插件)详细解析
Unity HLOD System(官方插件)详细解析 目录简介 功能与支持 技术解析 实际使用中的扩展 改进的地方一、简介 HLOD System主要的目标是为了减少Draw Call。然后,进行更多的Batch批处理。其次,减少面数和纹理,这样我们相应地节省了内存,并提升了加载时间。 HLOD System只针对当前所在的地方进行加载,它会流式加载网格和纹理,在后台进行异步的操作。 本篇文章将细说Unity官方的HLOD做了什么工作以及他们是如何做的,...原创 2021-02-19 17:02:04 · 9514 阅读 · 10 评论 -
Unity HLOD System
1.1 HLOD System简介首先,HLOD System主要的目标是为了减少Draw Call。然后,进行更多的Batch批处理。其次,减少面数和纹理,这样我们相应地节省了内存,并提升了加载时间。 HLOD System只针对当前所在的地方进行加载,它会流式加载网格和纹理,在后台进行异步的操作。本次HLOD是基于官方AutoLOD代码的扩展和改进制作出来了的,链接:https://github.com/Unity-Technologies/AutoLOD,链接里有一篇官方的文章,...原创 2021-02-17 20:34:48 · 5074 阅读 · 3 评论 -
将Unity导航网格(navmesh)模拟输出到二维数组并导出xml
先看效果,下面两张图,第一张是unity烘焙好的网格,第二张是导出的文件,第二张因为数字长和宽不相等,所以形状被压缩了下。一、实现1、这个方法做的功能就是将navmesh网格的顶点和顶点索引导出并封装成方便操作的数据。private void LoadNavMeshToArray(){ NavMeshTriangulation tmpNavMeshTriang...原创 2019-12-08 20:47:36 · 2230 阅读 · 4 评论