摘要:
在新版本的Unity中提供了MeshDataArray和MeshData等多个API,使Mesh数据操作支持多线程;以更好的支持DOTS。 API文档:https://docs.unity3d.com/es/2020.2/ScriptReference/Mesh.MeshData.html 1.IJ 阅读全文
摘要:
在日常开发中会有需求合并多个Mesh网格,并且它们重合处的顶点也要合并,而并非合并成两个subMesh。 而近期刚好在学习Geomipmap的细分,需要把多个mesh块进行合并,于是写了这个脚本 (简单的情况下用Mesh.CombineMeshes也可以)。 见下图,多对象合并前后对比: 使用时传入 阅读全文
摘要:
本篇文章整理了URP管线使用中的一些简单的心得记述 1.使用ScriptableRendererFeature自定义渲染特性 在内建(Build-in)管线中可以使用CommandBuffer并添加到摄像机上来实现自定义的特性。在URP管线中,处理方法变成了RendererFeature Rende 阅读全文
摘要:
1.简述 诸如npm、Nuget之类的包管理工具,Unity推出了自己的Unity Package Manager(UPM)工具来管理使用到的第三方库。 现在Unity Package Manager可以直接允许我们导入git仓库进行链接。 2.UPM库的配置与链接 通过Unity官方文档的教程可进 阅读全文
摘要:
首先感谢帮助和参与前期检阅的朋友们。本书是我经验积累的提炼,书中既有干货分享也有对基础内容的详解补充。 同时由于是第一次撰写书籍,许多地方仍有不足还请读者朋友们见谅。 在京东或当当等都可以购买到本书: 京东购买地址:https://item.jd.com/12683035.html 当当购买地址:h 阅读全文
摘要:
在Shader中处理流控制语句时,常加上一些宏去处理流控制指令。例如: UNITY_UNROLL for (int i = 0; i < 10; i++) { //do something... } 在buildin shader包中的CGIncludes\HLSLSupport.cginc中可以找 阅读全文
摘要:
在使用大面积的平铺纹理时,会导致重复感较强的贴图呈现在画面中。我们可以通过许多方法进行优化,WangTile就是其中一种。 WangTile(王浩瓷砖)方法通过对每条边标记颜色,并在平铺时将相同颜色的边拼接在一起,最终铺满整个平面。 参考《GPU Gems2》中的做法,但这里使用一组预先设定好的可循 阅读全文
摘要:
Unity2018新加入了该接口,可以做到异步RenderTexture->像素数据和异步的ComputeBuffer.GetData ,该功能对于异步ComputeShader获取数据来说非常实用,性能也比同步调用更快。 1.RenderTexture->Texture2D 异步: IEnumer 阅读全文
摘要:
之前一直没有自己实现过阴影,只是概念上有所了解,这次尝试实际编写学习下。 Shadowmap主要思想是通过深度图可得到世界坐标位置,所以光源位置渲染一张场景深度图以得到光源位置像素点的世界坐标, 再对比主相机的像素点世界坐标,如果两个世界坐标距离小于误差则说明两者都能看见这个点,则这个点不在阴影内, 阅读全文
摘要:
灯光衰减图可以模拟3D贴图的效果,但也有一定的局限性。给灯光使用衰减图可以一定程度的控制灯光形状。 应该也是某种程度的灯光cookie。 使用衰减图与翻页动画制作的灯火效果: 优点: 一定程度上的3D Texture 可以拿来做摇曳灯火等 缺点: 定制性比较高,真正使用可能要借助CB 相比3D Te 阅读全文