社区问答 | 本周问答汇总 0803-0809

文摘   科技   2024-08-09 19:19   上海  

本文汇总了 2024 年 8 月 3 日 - 2024 年 8 月 9 日 Unity 中文社区精选问答。如果在使用 Unity 过程中遇到任何问题,欢迎点击阅读原文前往 Unity 中文社区提问,将有官方技术支持及社区贡献者当日解答此外,本周还有少量待解决问题,欢迎小伙伴们到社区分享经验,为他人答疑解惑。

本期问题目录:

新手答疑:

1. 角色和场景为什么会一直往下掉落?

团结引擎:

2.URP 转为小游戏失败,Shader error in 'Hidden/Universal Render Pipeline/Sampling': 'FragBlit'

3.团结 1.2.0 TuanjiePackageManager.exe 启动失败

4.团结引擎 1.2.0 在 vs2022 中没有 TuanjieEditor 实例

5.团结引擎 1.2.0 无法导出鸿蒙包

6.团结引擎各版本微信小游戏、鸿蒙平台相关 sdk 版本匹配问题
Unity 引擎:
7. Unity WebGL 平台 RTSP 推流问题

技术支持:

8. USS 中的 :active 伪类无法适用于 VisualElement

新手答疑
  Q1.角色和场景为什么会一直往下掉落?

我在 99 元可视化编程教程第七课中,按照前面视频一切顺利,但是到了给角色添加死亡取消摄像机跟随这个功能后,每次测试,我的角色和场景地形就会一直往下掉落,不知道为什么,重新看着视频做了好几次也是一样的问题,我在摄像机 CM vcam1 中的 Scene 添加 name 为 Player 类型为 Game Object,然后我把角色 Player 添加到 Value 中,但是 Ground check 是在 Player 下的,所以不知道是不是这个问题。

答主 溜肉段
您好,应该是刚体组件开启了重力,所以会往下掉,如果不需要的话可以关掉~

团结引擎
  Q2.URP 转为小游戏失败,Shader error in 'Hidden/Universal Render Pipeline/Sampling': 'FragBlit'

Shader error in 'Hidden/Universal Render Pipeline/Sampling': 'FragBlit': no matching 2 parameter function at /Work/ProjectLSX/skygame/Library/PackageCache/com.unity.render-pipelines.core@14.0.8/Runtime/Utilities/Blit.hlsl(119) (on gles)

自答:

安装 webgl 忘记重启项目了,没事了。

  Q3.团结 1.2.0 TuanjiePackageManager.exe 启动失败
正在写代码, 提示 hub 更新,重启了 hub 导致 tuanjie 引擎直接卡死了, 并且一直无法启动,电脑重启过了,百度能找到的办法都试过了。Package Manager 报错常见处理这个方案的防火墙和环境变量试过了还是不行。

自答:

已解决,重装 hub 和团结就可以了。

  Q4.团结引擎 1.2.0 在 vs2022 中没有 TuanjieEditor 实例
如图

答主 Pluto:

Visual Studio 目前还没有完全集成团结引擎的支持,直接在快捷菜单中点 Attach to Unity 会找不到 TuanjieEditor,需要 Attach to Unity Debugger,具体做法为:

1. 在 Visual Studio 中安装 Game development with Unity 扩展

2. 打开 Visual Studio 后,菜单栏 Debug -> Attach to Unity Debugger,应该能在进程列表中看到 TuanjieEditor。如果还是看不到,请提供更多的信息,包括 vs,tuanjie 版本号,系统版本等等。

  Q5.团结引擎 1.2.0 无法导出鸿蒙包

引擎和 sdk 以及 jdk 都默认用 TuanjieHub 自带的,直接 Build,空场景都无法导出,报错如图 2,Export 去工程去最新的 DevEco Studio NEXT Developer Beta1,提示需要迁移,迁移之后发现自动导出的 TuanjiePlayerAbility.ts 文件中,编译都报错,其中 “$r” 方法是 ets 脚本才有的,默认的 TuanjiePlayerAbility 是 ts 脚本,手动修改后缀之后能编过,其次,脚本中 import tuanjie from 'libtuanjie.so'; 这一行,报错如下

Unity 版本 团结引擎 1.2.0;平台 Openharmony

答主 beiji:

图1:应该 node 版本需要更新到新的版本;

图2:脚本中 import tuanjie from 'libtuanjie.so'; 这个不影响编译,不需要管他。团结内置的鸿蒙 sdk 版本和 DevEco Studio NEXT Developer Beta1 对应不一致,需要迁移,点击自动就行了。

  Q6.团结引擎各版本微信小游戏、鸿蒙平台相关 sdk 版本匹配问题

如标题,请问一下有没有团结引擎各版本对应微信小游戏、鸿蒙平台需要的各相关 sdk 版本要求,包括 jdk、nodejs、Harmonysdk 之类的版本。

官方回答:

您好,鸿蒙平台对应的 sdk 在 hub 下载 Open Harmony module 时,提供推荐版本 SDK 下载,可以直接下载使用。鸿蒙平台使用的 node.js 近期也会一并提供下载,请关注最新版本 release。
Unity 引擎
  Q7.Unity WebGL 平台 RTSP 推流问题
各位大佬,用 Unity 发布 WebGL 后,在浏览器中无法播放 RTSP 流(在编辑器内部可以正常推流)。目前已经尝试了 AVProUMPHLS 等插件,在打包 WebGL 后都无法正常播放。请问是使用的插件不支持吗?还是方法有错呢?有没有其他啥思路呢?

自答:

目前已经解决,记录一下方法:将 RTSP 流转换为 HLS 来实现在 WebGL 中的播放。

技术支持
  Q8.USS 中的 :active 伪类无法适用于 VisualElement

Unity 中的 UI Toolkit 中的 uss 里伪类选择器的一个问题。":active" 这个伪类选择,对很多元素都不起作用。比如 VisualElement 等,点击这些元素不会触发 :active 效果。只有按钮 Button 才有效果。

这是 Unity 的 bug 吗还是就是这么设计的,因为在 html 的 css 里,:active 伪类选择器可以适用于所有元素,哪怕是个 div 都可以设置 :active,点了也有效果。

Unity 版本:6000.0.4f1c1 P.S. 我看了下 6.x 每个新版本的更新日志,一直到 6000.0.10f1 好像都没有这方面的描述,应该是到 6000.0.10f1 都有问题。

平台:windows

相关代码:

.btn:hover {    -unity-background-image-tint-color: skyblue;}.btn:active {    -unity-background-image-tint-color: black;    color: red;    opacity: 0.2;}
自答:

自己解决了。原来 Unity 里面故意这么设计的,估计是为了性能吧。如果自定义组件想要拥有能够触发 :active 伪类的能力,必须执行此逻辑:

this.AddManipulator(new Clickable(doClickFun));
相当于注册了一个点击捕获器。这样才能够被 :active 伪类样式影响。同时也自动注册了点击事件,不用再通过 this.RegisterCallback<ClickEvent>() 这个方法去注册点击事件了。


本系列问题汇总将每周更新,欢迎点击阅读原文,与 Unity 中文社区成员一起答疑互助,共同进步。
长按关注
Unity 官方开发者服务平台
第一时间了解 Unity 社区动向,学习开发技巧

 点击“阅读原文”,访问 Unity 社区问答



Unity官方开发者服务平台
Unity引擎官方开发者服务平台,分享技术干货、学习课程、产品信息、前沿案例、活动资讯、直播信息等内容。
 最新文章