1)海内设施上偶现的报错解决形式
2)Shader冗余则ShaderLab占用大小问题
3)URP Renderer Feature实现二次元描边,Cutout的解决问题
4)Unity中视频播放的解决方案
这是第286篇UWA技术常识分享的推送。明天咱们持续为大家精选了若干和开发、优化相干的问题,倡议浏览工夫10分钟,认真读完必有播种。
UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)
Android
Q:近期我的项目在海内设施上偶现图片中的报错:
A:这个问题曾经确认为Unity的bug,因为最近Google Play强制推广AAB打包,所以大概率会碰到;个别测试的时候都是用APK,很容易脱漏这个最初的步骤校验。更新Unity至相应版本后即可修复:
感激han@UWA问答社区提供了答复
Shader
Q:Shader冗余则ShaderLab占用也会变大吗?
A:在真机上进行试验,查看Shader冗余时ShaderLab的内存变动。
以下是Shader中有20份Standard时:以下是Shader中只有1份Standard时:
因为Profiler中无奈看到ShaderLab的具体内容,所以谨严地来说,Shader冗余的确会造成ShaderLab内存升高。
感激Faust@UWA问答社区提供了答复
Rendering
Q:之前咱们的卡通渲染是在Shader里写多个Pass来绘制的描边,最近尝试用SRP Batcher优化时发现,SRP Batcher不反对多个Pass的Shader。于是我尝试用URP Renderer Feature来渲染所有角色的描边。
实现起来很简略,但有一个问题解决不了,就是Cutout的问题。
裙子的下边缘是用贴图的Alpha管制的,并不是真正的顶点。以前的Pass写在角色渲染的Shader里,能够用贴图来管制,但用Renderer Feature来解决后,所有角色模型的描边是用的同一个材质,不能再用模型各自的贴图的通道来解决了。显示成果就是Cutout的描边局部无奈解决:
边缘比较复杂,然而管制的顶点就只有几个,感觉不太好实现。
当初模型顶点的色彩信息我曾经用过了,RGB是描边色彩,A是描边粗细。我能想到的方法是用A的一些非凡值来非凡解决一下某些顶点(相当于Clip掉一些顶点,但必定没有相干API),但又感觉仿佛不太可行。不晓得大家有没有遇到过,或者有没有什么好方法呢?
本人尝试了用顶点信息标记点,但有瑕疵,点关联的边会受影响,描边没了:
让美术加了一些点,根本也能解决(其实外边缘还是不会显示全,但曾经看不太进去了):
但这办法还是不好。最好在Renderer Feature里能够获取到正在渲染的模型的材质信息。
是否能够把一个多Pass的Shader里的某个Pass弄到独自的Renderer Feature里画,而不是从新画一遍?比方画第一遍的时候禁用这个Pass,Renderer Feature画的时候再启用它?
A1:自定义一个LightMode,Render Feature里设置这个LightMode,这样材质球上的贴图数据什么就能有。
补充个截图大略是这样的:
对于自定义的LightMode,Unity默认疏忽,只有Render Feature里手动指定了要画这个LightMode,Unity才会去绘制。
感激jim@UWA问答社区提供了答复
A2:如下,这样SRP Batcher终于能够合批多Pass的Shader了:
不必禁用失常的渲染。
两个pass,一个失常的pass,一个自定义lightMode的pass,lightMode的pass渲染描边用ScriptableRendererFeature手动指定渲染自定义的lightmode。unity不会去渲染你自定义的lightMode。
感激题主仇磊@UWA问答社区提供了答复
Video
Q:须要在游戏内播放视频,满足一些根本的需要,比方播放近程视频,边下边播,设置视频播放速度,视频进度条,暂停之类的。
目前已知的能够用自带的Video Player、AVPro和Sofdec2这三款,想问下有没大佬零碎钻研过视频播放这一块的,能够分享一点教训,不胜感激。
A:能够思考集成 https://github.com/bilibili/i… 到Unity上进行适配播放 :
https://www.gero.pub/2017/10/…
感激mrz@UWA问答社区提供了答复
封面图来源于网络
明天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题兴许都只是冰山一角,咱们早已在UWA问答网站上筹备了更多的技术话题等你一起来摸索和分享。欢送酷爱提高的你退出,兴许你的办法恰能解他人的当务之急;而他山之“石”,也能攻你之“玉”。
官网:www.uwa4d.com
官网技术博客:blog.uwa4d.com
官网问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官网技术QQ群:793972859(原群已满员)