OpenGL中Shader LOD失效
- 作者:admin
- /
- 时间:昨天 10:36
- /
- 浏览:48 次
- /
- 分类:厚积薄发
1)OpenGL中Shader LOD失效
2)DoTween的GC优化
3)开发微信小程序游戏有没有类似Debug真机图形的方法
4)射线和Mesh三角面碰撞检测的算法
这是第418篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。
UWA社区主页:community.uwa4d.com
UWA QQ群:793972859
Rendering
Q:我切换为OpenGL之后,发现切换Shader LOD的功能不能用了,切换为Vulkan没问题,但是OpenGL就不行。同样的Shader代码,同样的LOD配置。有什么解决思路吗?
切换为OpenGL之后,Frame Debugger抓帧,都看不到那些本来要绘制的物体,感觉是完全没有找到对应的LOD SubShader。
A:Unity引擎里没有处理好关于CBuffer变量的问题。如果CBuffer中有Shader用不到的变量,并且这个变量没有在Properties中定义,那么就会导致对应的Pass直接不渲染。
修改方法就是,要么直接去掉这些不用的CBuffer中的变量,要么增加对应Properties中的定义。
感谢付炳楠@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/6784ada03d306f3e9d594e0f
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问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/676698093d306f3e9d594dd0
Rendering
Q:开发微信小程序游戏有什么科学的Debug真机图形的方法吗?比如RenderDoc?
A1:推荐Frame Debugger,团结可用。
感谢tmp@UWA问答社区提供了回答
A2:1. 游戏可以在浏览器跑的话,可以用SpectorJS。
- RenderDoc曾经也可以抓Chrome,但后来官方禁了,可能需要自己魔改编译一个RenderDoc。
- 也可以用MuMu模拟器+RenderDoc抓微信,MuMu需要开启Vulkan模式,RenderDoc开全局Hook,Attach到MuMu的进程上,但是抓到的是Vulkan的API。
感谢littlesome@UWA问答社区提供了回答
A3: RenderDoc可以考虑,但需要旧版本的RenderDoc。
或者配合模拟器截帧,或者Root的手机都可以,或者用浏览器都行,方式很多,个人推荐模拟器+截帧。
感谢司马老师@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/677250003d306f3e9d594de3
Physics
Q:请问有没有射线和Mesh所有三角面碰撞检测的算法?
A:非常古早的DX9官方示例里面就有:
https://www.tutorialspoint.com/directx/directx_picking.htm
感谢Dang@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/6784b469682c7e5cd61bf9f2
封面图来源于网络
今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。
UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859