OpenGL中Shader LOD失效

ops/2025/1/16 23:50:50/

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

 


http://www.ppmy.cn/ops/150664.html

相关文章

【编程语言】C/C++语言常见标准和规范

C/C 是两种功能强大且广泛使用的编程语言。尽管它们没有像 Java 那样强制性的命名规则,但为了提高代码的可读性和可维护性,遵循一些普遍认同的编程规范和标准仍然是非常重要的。本文将探讨 C/C 编程中的一些命名规范及标准,以帮助开发者编写更…

C#上位机通过CAN总线发送bin文件

让gpt生成一段代码用来把bin文件通过can总线发出去 c#代码还是比较强大的,各种功能基本都是一两行代码就实现了,这里记录一下对这个代码的理解和解读 主要代码如下,传入bin文件的地址即可将其从指定的can通道发送出去: public …

windows wsl ubuntu22 远程桌面连接

转载链接:https://canwdev.github.io/VM%E8%99%9A%E6%8B%9F%E6%9C%BA/WSL/wsl2%20wslg%20%E9%85%8D%E7%BD%AE%E5%B9%B6%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%28xrdp%29/ Wsl2 wslg 配置并开启远程桌面(xrdp) 准备工作 推荐到微软应用商店下载最…

ruoyi-cloud docker启动微服务无法连接nacos,Client not connected, current status:STARTING

ruoyi-cloud docker启动微服务无法连接nacos,Client not connected, current status:STARTING 场景 当使用sh deploy.sh base来安装mysql、redis、nacos环境后,紧接着使用sh deploy.sh modules安装微服务模块,会发现微服务无法连接nacos的情…

初学stm32 --- DAC输出三角波和正弦波

输出三角波实验简要: 1,功能描述 通过DAC1通道1(PA4)输出三角波,然后通过DS100示波器查看波形 2,关闭通道1触发(即自动) TEN1位置0 3,关闭输出缓冲 BOFF1位置1 4,使用12位右对齐模式 将数字量写入DAC_…

【2024年华为OD机试】 (C卷,100分)- 停车场车辆统计(Java JS PythonC/C++)

一、问题描述 题目描述 特定大小的停车场,数组 cars[] 表示,其中 1 表示有车,0 表示没车。 车辆大小不一,小车占一个车位(长度1),货车占两个车位(长度2),卡…

微信小程序集成Vant Weapp移动端开发的框架

什么是Vant Weapp Vant 是一个轻量、可靠的移动端组件库,于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。 官网地睛:介绍 - Vant Weapp (vant-ui.gith…

JSON.stringify(res,null,2)的含义

JSON.stringify(res, null, 2) 是 JavaScript 中将对象转换为 JSON 字符串的方法,具体说明如下: 参数解释 res:要转换的对象。它可以是 JavaScript 中的任意类型,如对象、数组、字符串、数字等。例如,{name: "K…