OpenGL中Shader LOD失效

1)OpenGL中Shader LOD失效
2)DoTween的GC优化
3)开发微信小程序游戏有没有类似Debug真机图形的方法
4)射线和Mesh三角面碰撞检测的算法


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

Rendering

Q:我切换为OpenGL之后,发现切换Shader LOD的功能不能用了,切换为Vulkan没问题,但是OpenGL就不行。同样的Shader代码,同样的LOD配置。有什么解决思路吗?

切换为OpenGL之后,Frame Debugger抓帧,都看不到那些本来要绘制的物体,感觉是完全没有找到对应的LOD SubShader。

A:Unity引擎里没有处理好关于CBuffer变量的问题。如果CBuffer中有Shader用不到的变量,并且这个变量没有在Properties中定义,那么就会导致对应的Pass直接不渲染。

修改方法就是,要么直接去掉这些不用的CBuffer中的变量,要么增加对应Properties中的定义。

感谢付炳楠@UWA问答社区提供了回答


Script

Q:为什么DoTween中的APIGetTweener会有GC?因为没有DoTween的源码,不知道有什么替代方案吗?

A1:可以参考以下文章:
Demigiant/dotween: A Unity C# animation engine. HOTween v2

感谢zerolj@UWA问答社区提供了回答

A2:可以参考以下文章:
AnnulusGames/LitMotion: Lightning-fast and Zero Allocation Tween Library for Unity

感谢菜鸟@UWA问答社区提供了回答


Rendering

Q:开发微信小程序游戏有什么科学的Debug真机图形的方法吗?比如RenderDoc?

A1:推荐Frame Debugger,团结可用。

感谢tmp@UWA问答社区提供了回答

A2:1. 游戏可以在浏览器跑的话,可以用SpectorJS

2. RenderDoc曾经也可以抓Chrome,但后来官方禁了,可能需要自己魔改编译一个RenderDoc。

3. 也可以用MuMu模拟器+RenderDoc抓微信,MuMu需要开启Vulkan模式,RenderDoc开全局Hook,Attach到MuMu的进程上,但是抓到的是Vulkan的API。

感谢littlesome@UWA问答社区提供了回答

A3: RenderDoc可以考虑,但需要旧版本的RenderDoc。

或者配合模拟器截帧,或者Root的手机都可以,或者用浏览器都行,方式很多,个人推荐模拟器+截帧。

感谢司马老师@UWA问答社区提供了回答


Physics

Q:请问有没有射线和Mesh所有三角面碰撞检测的算法?

A:非常古早的DX9官方示例里面就有:
DirectX - Picking

感谢Dang@UWA问答社区提供了回答

封面图来源于网络


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

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值