UWA社区主页:community.uwa4d.com
UWA QQ群:793972859
Shader预热生成的内容会被RUUA卸载吗
纯WebGL可以实现微信小游戏提供的WASM分包功能吗
如何为单个实例添加命中计数
如何从蓝图中的for循环中获得所有Index
A:保证相关的SVC不被卸载,这样Shader就会被引用住,相关的WarmUp的内容就不会被Resources.UnloadUnusedAssets卸载了。
以上两条问答均为UWA DAY 2024大会中对于《Unity移动游戏性能优化全解析与小游戏转化的实战经验》议题的提问精选,欢迎大家前往UWA问答【UWA DAY 2024 留言帖】下一起讨论,关于大会的疑问以及针对大会议题内容的提问,我们将尽快为您解答。 https://answer.uwa4d.com/question/66db9ae93d306f3e9d594d18
A:可以使用一个Map类型的Int变量来储存所有实例的index和当前生命值,被击中时更新生命值-1,当生命值为0时将其销毁即可。
如果希望让实例能够在不同的生命值情况下有不同的材质显示,使用Custom Primitive Data功能会是一种比较巧妙的方式,可以在运行时修改材质中的标量和矢量参数,而不需要设置多个材质实例。
对于敲砖块类型的游戏,可以在材质中用Lerp来控制健康的状态(如绿色)到不健康状态(如红色),使用PerInstanceCustomData来控制Alpha。在某个实例被击中时除了控制生命值外,也通过Set Custom Primitive Data Float来调整这个值,即可实现被击中时变化材质的效果。
A:因为你用了InstanceStaticMesh,只能有一个网格和一个材质,所以无论如何分配材质只会给到组件上的所有实例。要想实现所说的效果有以下几种方法:
1. 直接用两个InstanceStaticMesh;
今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。
UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859
(长按识别二维码进入UWA问答)
点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~
近期精彩回顾