摘要:
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 阅读全文
摘要:
应该是unity 2018.3中加入的功能,对象可以放置于不同的物理场景中。 一个Scene对应一个物理场景(PhysicsScene),若想放入独立的物理场景测试创建一个Scene即可。见下图gif。 若测试模拟功能,须在Physics中关闭自动模拟。脚本如下: 测试仓库: https://git 阅读全文
摘要:
StreamingMipmaps是Unity2018.2中加入的新功能,意指通过CPU控制,只加载部分Mipmap图片以节省更多的内存及显存空间。 我测试时遇到了问题,后来发现必须打包出来测才有效(注:最新版unity追加了编辑器内生效功能)。 官方文档里写给维京村落demo使用该功能后节省了25% 阅读全文
摘要:
官方文档:https://docs.unity3d.com/Manual/SparseTextures.html 是一种虚拟贴图,可以动态的加载或卸载某一块tile。从而实现超大尺寸贴图的加载。 更新tile: 卸载tile: 官方有一个小demo(链接在文档里),使用了分型图片来演示。我录了一段g 阅读全文