1)TMP的暗影性能如何
2)CommandBuffer.DrawMeshInstanced无奈画暗影问题
3)Unity编辑器在Require大量加载Lua文件时,常常报出not enough memory
4)场景制作的时候,2D资源受后处理调色影响比拟大
这是第335篇UWA技术常识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地把握和学习。
UWA社区主页:community.uwa4d.com
UWA QQ群:465082844
TextMeshPro
Q:请问TMP的暗影性能如何?TMP的描边没方法改成外描边吗?看起来Outline是内外都扩的,如果想要改成外扩只能改源码吗?
A1:UGUI的Outline会让对象多渲染n次,TMP的Outline并不会让对象的渲染次数减少,性能更好。
在这个Shader中把“+outline”删除,Outline就会只往外扩散了。
感激Xuan@UWA问答社区提供了答复
A2:TMP的暗影性能十分不错,因为它应用的是基于间隔场的渲染技术,这种技术能够在放弃高质量的状况下缩小渲染工夫。这意味着,即便在文本中应用多个暗影成果,也能够取得良好的性能体现。
至于TMP的描边成果,它是反对外描边的。默认状况下,TMP的描边是内外都扩的,然而你能够通过更改材质属性来将其改为外描边。
具体来说,你能够在应用TMP组件的对象上找到对应的材质,而后将材质的Outline Width属性设置为正数,这样就能够将描边扩大到文本的内部。
须要留神的是,TMP的材质是应用ShaderLab语言编写的,如果须要批改其外部逻辑,可能须要肯定的编程常识。然而,对于简略的批改,例如更改描边成果,你能够尝试应用Shader Graph工具来简化批改过程。
感激NG週@UWA问答社区提供了答复
Rendering
Q:想用CommandBuffer.DrawMeshInstanced画暗影,应用的是URP的Lit Shader,ForwardLit 是能够的,且能够AfterRenderingOpaques。然而暗影是画不进去,请问有什么解决办法吗?以下是代码(代码不是原创):
https://forum.unity.com/threads/commandbuffer-drawmeshinstanc...
局部代码截图:
针对以上问题,有教训的敌人欢送转至社区交换分享:
https://answer.uwa4d.com/question/6455c52f66cf0b727a3226f9
Rendering
Q:场景制作的时候,要不要开着后处理,遇到的问题是2D资源受后处理调色影响比拟大?
咱们的状况比较复杂:
1. 从性能角度思考,低配机型是不开后处理的
2. 2D角色、2D修建、3D场景混合渲染
3. 有半解锁的和平迷雾成果
在这些需要下,场景制作跟后处理要怎么协同呢?
思考了几个计划都不太行:
1. 在UI相机画2D,但无奈完满解决深度问题,因为场景的RT是缩放过的,但UI采纳全分辨率
2. 2D片写入Stencil,有一些半透的云可能遮住2D片,写入Stencil解决的话可能会有显著的边界问题,且UberPost最初是全屏的,因为场景RT跟界面RT尺寸不同,Stencil也不对应
3. 将后处理的调色放到Opaque之后进行,但这样其余的半透则无奈参加调色,且这种计划带来更多的RT切换,在挪动端并不明智
当初想着是在不开前期的状况下设计场景,而后前期调色只是进行微调,尽量不影响2D,如果成果甚微的话,就不开启前期调色了,不知这样解决如何?次要是2D与3D混合的场景,不是说UI,UI相机自身是不开前期的,不知大家有什么计划?
针对以上问题,有教训的敌人欢送转至社区交换分享:
https://answer.uwa4d.com/question/643e255a4530066a5c277d8f
Lua
Q:在Unity 2018编辑器上跑时,启动Require大量加载Lua文件时,常常报出not enough memory,很频繁但非必现,在Windows/Android/iOS上都不会,用的是toLua。
A:能够在编辑器外面用System.IO.File的接口读Lua,避开TextAsset在编辑器不能卸载的问题。或者尝试降级Lua版本。
感激欧月松@UWA问答社区提供了答复
封面图来源于网络
明天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,咱们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起摸索分享。欢送更多的开发者退出UWA社区。
UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官网技术QQ群:465082844