社区问答 | 本周问答汇总 0615-0621

文摘   科技   2024-06-21 20:01   上海  

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

本期问题目录:

新手答疑:
1. 怎样修改下载的模型呢?
2. 打包后游戏内功能缺失
3. 电动汽车的 360 环视模块
4. 新手求解答,为什么会瞬移?
5. 打不开 Unity 项目
6. 刚体属性

7. 打包项目出现“变量未有命名空间引用”的报错

Unity 引擎:

8. Unity 2023 版本导航器未显示

新手答疑
  Q1.怎样修改下载的模型呢?
下载了个熊猫的模型,想要进行旋转方向,以及修改它的大小,并保留设置到预设体。如果修改预设体在检查器面板点击覆盖可以解决,但是修改模型检查器面板却显示 no overrides,想知道该怎么修改。

答主 橙子:

将下载的模型文件放入 Unity 项目的 Assets 文件夹中。Unity 会自动导入该文件并将其存储为 Unity 资源。 
在 Project 窗口中选择该模型文件,然后在 Inspector 窗口中查看导入设置。 
在 Inspector 窗口的 Model 选项卡中,可以修改模型的缩放和旋转属性。通过调整 Scale 属性来修改模型的大小,通过调整 Rotation 属性来修改模型的旋转方向。 
确保将修改后的模型设为预设体的子对象。可以将模型拖拽到场景中或者将其拖拽到 Hierarchy 窗口中的预设体对象上。 
在 Inspector 窗口中选择预设体对象,然后点击 Override 按钮。这将显示预设体的覆盖列表。 
在覆盖列表中,可以看到模型的缩放和旋转属性已经被覆盖。确保这些属性被正确设置。
  Q2.打包后游戏内功能缺失
在编辑器中游戏音频播放和 UI 交互正常,但是项目导出后,音频无法播放,UI 也无法交互,这是什么原因造成的?
Unity 版本:2022
答主 橙子:

将音频文件拖放到 Unity 项目中,或者在“Assets”窗口中右键单击并选择“导入新资源 Import New Asset”。

选中导入的音频文件,进入 Inspector 窗口,在 “Audio Clip” 选项卡中设置属性,例如音量、播放速度等。

  Q3.电动汽车的 360 环视模块

电动汽车的 360 环视模块,在 Unity 上是怎么实现的,是将汽车放在了一个碗状模型上了吗?这个碗状模型是分前后左右四个模型还是一个模型?

团结 MuseChat 已解决:

电动汽车的 360 环视模块在 Unity 中实现通常是通过全景视频功能来展现的,而不是将汽车放在一个碗状模型上。全景视频功能可以让您轻松添加 360 度真实视频镜头,从而实现全方位的环视效果。

在 Unity 中,全景视频可以采用等距圆柱投影布局或立方体贴图布局。对于 360 度视频,等距圆柱投影布局的 2D 视频宽高比应为 2:1,而立方体贴图布局的 2D 视频宽高比可以是 1:6、3:4、4:3 或 6:1,具体取决于工作面布局。

在实现 360 环视模块时,您可以按照以下步骤操作:

1. 设置视频播放器(Video Player)以向渲染纹理播放视频源。

2. 根据 360 度视频的布局选择合适的全景材质(Skybox/Panoramic Material)设置,以确保视频能够正确显示在全景环境中。

这种方法不涉及将汽车放在碗状模型上,而是通过全景视频技术来展现 360 度环视效果。全景视频会呈现整个环境,而不是将汽车放在特定的模型上。

  Q4.新手求解答,为什么会瞬移?

一个胶囊一个平面,胶囊加了刚体,碰撞器和 character controller,和一个脚本

private void FixedUpdate() 
{ player = GetComponent(); float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); float jump = Input.GetAxis("Jump"); Vector3 dir = new Vector3(horizontal, jump, vertical); if (dir != Vector3.zero) { player.Move(dir 1 Time.deltaTime); } }

运行以后胶囊运动状态很诡异,然后哪怕它掉下平面,只要我一控制移动就瞬移回来。

答主 Peng Fan、ManHua

移除 Rigidbody 组件,详见:
https://docs.unity.cn/2021.3/Documentation/Manual/class-CharacterController.html
  Q5.打不开 Unity 项目

进度条跑到一半就跳了这个提示,文件夹里面的东西也都创建好了,应该怎么办啊?

答主 年少有你

这是 360 安全软件的问题,关闭杀毒软件,重新安装。 保险一点可以把注册表和缓存文件也删了。 希望能解决你的问题~
  Q6.刚体属性
拉进 Unity 的模型加上刚体属性后直接穿过地面掉下去了。

答主 溜肉段

需要添加碰撞体,Is Trigger 事件也要勾选上。

  Q7.打包项目出现“变量未有命名空间引用”的报错

我在脚本中使用 SceneAsset 的命名空间的引用,但是在我在导出 WebGL 项目时遇到了“没有引用命名空间”的报错,我该怎么解决这个问题? 

团结 MuseChat 已解决:

要解决在导出 WebGL 项目时出现的“变量未有命名空间引用”的报错,你可以按照以下步骤进行操作:

1. 添加 link.xml 文件:

  • 创建一个名为 link.xml 的 XML 文件,并将其放置在 Assets 文件夹中。

  • 在 link.xml 文件中添加以下内容,以确保 SceneAsset 的命名空间在构建中被包含:
<linker>  <assembly fullname="Assembly-CSharp">    <namespace fullname="UnityEditor.SceneManagement" preserve="all"/>  </assembly></linker>
2. 检查脚本中的引用:
  • 确保在脚本中正确引用了 SceneAsset 的命名空间。例如:
using UnityEditor.SceneManagement;
3. 强制 Unity 在构建中包含该类的代码:
  • 确保在项目中有对 SceneAsset 类的引用,可以在脚本中直接使用该类或者在场景中使用相关功能。
通过以上步骤,你可以解决在导出 WebGL 项目时出现“变量未有命名空间引用”的报错问题。如果问题仍然存在,可以进一步检查代码中的命名空间引用是否正确,并确保所有相关类都被正确引用和包含在构建中。
Unity 引擎
  Q8. Unity 2023 版本导航器未显示

平行光源和 camera 也没有显示图标。

答主 Mark:

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

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



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