社区问答 | 本周问答汇总 0907-0913

文摘   科技   2024-09-13 19:00   上海  

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

本期问题目录:

新手答疑:
1. Package Manager 无法连接到 api.unity.com
2. Unity 图形颜色问题
3. 请问如何得到射线与物体(例如一定会厚度的球壳)相交的所有交点而不是第一个交点?

4. 中文语言包无法安装,显示磁盘空间不足

技术支持:
5. Unity 转 Mac 应用 udp 提示 “Access denied”

6. 无法打开/新建 Unity 项目

技术交流:

7. 如何修改 ECS 里的单个 entity 的材质?

Unity引擎:

8. Unity 6 版本编辑器界面无法加载完整

新手答疑
  Q1.Package Manager 无法连接到 api.unity.com

打开 Package Manger 时,显示以下报错信息:[Package Manager Window] Error searching for packages. Unable to perform online search: Cannot connect to 'api.unity.com' (error code: ECONNRESET). Verify your environment firewall policies allow connection to this host name. If your system is behind a proxy, verify your proxy environment variables (HTTP_PROXY and HTTPS_PROXY) are properly set.

尝试刷新 Unity Rigistry 时,同样显示该报错,导致无法正常刷新 Unity Rigistry。当尝试更新 Unity Rigistry 里的内容时显示同样类型报错,不过变成了 Cannot connect to 'download.packages.unity.com'

尝试:

My Assets 里的内容可以正常刷新与加载;

切换了几个不同版本 Unity,问题仍然存在;

检查环境变量中 HTTP_PROXY、HTTPS_PROXY 配置正确;

检查了防火墙设置,入站规则中所有 Unity Editor 都是允许连接,甚至尝试关闭了防火墙也不行;

尝试 UnityHub 重新登录/重新获取许可证/重启 UnityHub;

尝试开启/关闭魔法、切换手机热点;

尝试重装 Unity Hub/Unity Editor;

!控制台可以 ping 通 api.unity.com 和 download.packages.unity.com。

自答
已解决。类似问题参考:

https://discussions.unity.com/t/package-manager-cannot-connect-to-api-unity-com/1517074

  Q2.Unity 图形颜色问题

目前自学 Unity 中,想要实现怪物受伤后闪烁的那个效果,但是素材里没有那个效果,我就想选一张图把它改成白色,但是 Color RGB 全 255 是原色,想请教一下,怎么样才能实现我想的那个效果?

答主 Penny Lu:
如果是 2D 资源,可以用 PS 等软件改一下原图;如果是 3D 资源,可以新建一张白色材质替换上去。

  Q3.请问如何得到射线与物体(例如一定会厚度的球壳)相交的所有交点而不是第一个交点?

Physics.Raycast 进行射线与物体的相交检测时只能得到与物体的第一个交点,且当射线起点位于物体内部时检测不到与该物体的相交。请问该如何得到射线穿过物体时与物体的所有交点?且当几何比较复杂时物体可能与射线不只两个交点。
答主 溜肉段
有一个思路,可以利用递归,从第一个射到的交点处,向同方向偏移极小的量,作为新的射线源头,再发出射线,递归射线检测函数,将新的 hit 加入列表,因此列表中的最后一个元素就是当前所有交点中最后一个交点。参考:

https://www.bilibili.com/read/cv19147712/

  Q4.中文语言包无法安装,显示磁盘空间不足

答主 溜肉段

清除一下 Unity Hub 的缓存,然后重新下载试一下;或者先下载 editor,然后后续再添加模块。

技术支持
  Q5.Unity 转 Mac 应用 udp 提示 “Access denied”

我们在 Unity 使用了 .net 的 udp (UdpClient),editor 下正常使用。我们使用 Unity 的 build Settings 打包了 PC + Mac + android + iPhone 多个平台包。但是 mac 下调用 udp 提示“Access denied”。

进一步排查,在打包 mac 时不勾选 “Create Xcode Project” 直接出安装包是可以正常使用 udp ,勾选后使用 xcode editor 模式和使用 Xcode 打包 ipa 包这种方式就不能使用。

排查得挺头疼的,不知道大家有啥思路或者有遇到过吗?
自答:
问题找到了,上架时苹果强制要求设置沙盒权限,然后我们设置沙盒权限的时候未开启 “Incoming Connections(server)"。不知道为啥要设置 server 的权限。

  Q6.无法打开/新建 Unity 项目

一直可以正常打开 Unity 的项目,但是今天搬家后(也许是网络环境变了)就直接打不开了,更无法新建。Untiy 在打开项目的进度条快满的时候,会直接闪退,重装 Unity、Unity Hub,重登账户,重新激活许可证,重启电脑,断网打开 Untiy,跳过 Unity Hub 直接通过 Unity 客户端打开项目,更新最新版本的 Unity,均失败。
Unity 版本:2022.3.44f1 及 2022.3.45f1;Unity Hub 3.8.0
自答:
问题已经解决了,是不知道为啥 Unity 把我 c 盘 romaing 里的东西删除了,然后就直接闪退。
技术交流
  Q7.如何修改 ECS 里的单个 entity 的材质?

我看了篇文章,说用在 entity 加入组件,并且他身上的材质(URP)带 _animCtrl 变量,就可以修改成功。弄半天了还是不行。网上资料真的好少求助。

[MaterialProperty("_AnimCtrl")]public struct AnimMatProp : IComponentData { public float4 value;}
自答:
找出原因了 ,其实是可以改变颜色的,但是因为我渲染的对象不是 mesh 而是 sprite ,sprite 不支持 entity 改变材质属性的颜色。
Unity引擎
  Q8.Unity 6 版本编辑器界面无法加载完整
Unity 6 新建 2D 核心项目无法加载完整,编辑器界面不显示文字。
控制台窗口、项目窗口、检查器窗口也只有图标不显示文字,英文和中文都没有展示。
如果我切换成 2023 或者 2022 版本的编辑器新建的项目打开就没问题。已经重复安装编辑器和 Unity Hub 几次了,一直没有解决。我最开始以为是这个的错,但是一直没找到解决方法,救救孩子吧!!!
Unity 6;windows 11

自答

问题找到了,我把编辑器和项目路径中的中文去除后就能显示完整了。


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

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



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