【厚积薄发】Shader预热生成的内容会被RUUA卸载吗

文摘   2024-09-09 19:00   上海  

这是第402篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com

UWA QQ群:793972859


本期目录:
  • Shader预热生成的内容会被RUUA卸载吗

  • 纯WebGL可以实现微信小游戏提供的WASM分包功能吗

  • 如何为单个实例添加命中计数

  • 如何从蓝图中的for循环中获得所有Index


Shader

Q:Shader WarmUp生成的内容会被Resources.UnloadUnusedAssets的操作而卸载吗?

A:保证相关的SVC不被卸载,这样Shader就会被引用住,相关的WarmUp的内容就不会被Resources.UnloadUnusedAssets卸载了。


WebGL

Q:纯WebGL(浏览器上跑的游戏)可以实现微信小游戏提供的WASM分包功能吗?



以上两条问答均为UWA DAY 2024大会中对于《Unity移动游戏性能优化全解析与小游戏转化的实战经验》议题的提问精选,欢迎大家前往UWA问答【UWA DAY 2024 留言帖】下一起讨论,关于大会的疑问以及针对大会议题内容的提问,我们将尽快为您解答。

https://answer.uwa4d.com/question/66db9ae93d306f3e9d594d18




Script

Q:类似于敲砖块的游戏,我希望为游戏中的实例对象增加生命值,被击中一定次数后将其摧毁,有什么巧妙的方法可以实现这种功能呢?

A:可以使用一个Map类型的Int变量来储存所有实例的index和当前生命值,被击中时更新生命值-1,当生命值为0时将其销毁即可。


如果希望让实例能够在不同的生命值情况下有不同的材质显示,使用Custom Primitive Data功能会是一种比较巧妙的方式,可以在运行时修改材质中的标量和矢量参数,而不需要设置多个材质实例。


如果针对基础物体,需要将材质中要实时修改的参数勾选Use Custom Primitive Data选项,并将Primitive Data Index设置为相互独立的值;之后在蓝图或C++中控制这些Custom Primitive Data,例如蓝图中使用Set Custom Primitive Data Float/Vector节点。



如果针对物体实例,则需要在材质蓝图中使用PerInstanceCustomData或者PerInstanceCustomData3Vector,在Const Default Value设置默认值并将Data Index设为相互独立的值,之后同样通过蓝图或C++对其进行控制。








对于敲砖块类型的游戏,可以在材质中用Lerp来控制健康的状态(如绿色)到不健康状态(如红色),使用PerInstanceCustomData来控制Alpha。在某个实例被击中时除了控制生命值外,也通过Set Custom Primitive Data Float来调整这个值,即可实现被击中时变化材质的效果。




针对以上问题,有经验的朋友欢迎转至社区交流
https://answer.uwa4d.com/question/66debd86682c7e5cd61bf8d4
Script

Q:我想创建一个圣诞彩灯,让其中奇数用黄色的材质,偶数用蓝色的材质,交替出现。我用for循环来获取所有灯的Index,如果除以2余0就设置为黄色,不是则设置蓝色。但是最后结果都是同一种颜色,有人知道我哪里做错了吗?



A:因为你用了InstanceStaticMesh,只能有一个网格和一个材质,所以无论如何分配材质只会给到组件上的所有实例。要想实现所说的效果有以下几种方法:


1. 直接用两个InstanceStaticMesh;



2. 不用InstanceStaticMesh,改用StaticMesh;


3. 使用CustomPrimitiveData,可以实现一个InstanceStaticMesh,一个材质,任意多的颜色。


针对以上问题,有经验的朋友欢迎转至社区交流
https://answer.uwa4d.com/question/66debe5e3d306f3e9d594d20

封面图来源于网络


天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。


UWA官网:www.uwa4d.com

UWA社区:community.uwa4d.com

UWA学堂:edu.uwa4d.com

官方技术QQ群:793972859


(长按识别二维码进入UWA问答)


点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~

 

使用 UWA Gears 测试小游戏性能


近期精彩回顾

【学堂上新】UWA学堂上新|Unity3D网络游戏实战

【万象更新】使用 UWA Gears 测试小游戏性能

【万象更新】UWA支持鸿蒙HarmonyOS NEXT

【万象更新】使用 UWA Gears 定位游戏内存问题


侑虎科技
UWA,专业的游戏和VR应用性能优化平台。www.uwa4d.com
 最新文章