本文汇总了 2024 年 4 月 13 日 - 2024 年 4 月 19 日 Unity 中文社区精选问答。如果在使用 Unity 过程中遇到任何问题,欢迎点击阅读原文前往 Unity 中文社区提问,将有官方技术支持及社区贡献者当日解答。此外,本周还有少量待解决问题,欢迎小伙伴们到社区分享经验,为他人答疑解惑。
本期问题目录:
2. 为什么我写 Unity 脚本用结构体的时候没有引用
4. 团结引擎点击鸿蒙 build 就在一直报错,完全新的空工程
技术交流:
5. AR 项目导出问题
6. easy road 的问题
答主 溜肉段:
void Start()
{
//向量,坐标,旋转,缩放
Vector3 v = new Vector3(1, 1, 1);
v = Vector3.zero;
v = Vector3.right;
Vector3 v2 = Vector3.forward;
//计算两个向量夹角
Debug.Log(Vector3.Angel(v,v2))
}
答主 橙子:
using UnityEngine;
public class MyScript : MonoBehaviour
{
void Start()
{
// 定义和使用 Vector3
Vector3 v = new Vector3(1, 1, 1);
v = Vector3.zero;
v = Vector3.right;
Vector3 v2 = Vector3.forward;
// 计算两个向量之间的夹角
float angle = Vector3.Angle(v, v2);
Debug.Log("夹角:" + angle);
}
}
在摄像机上也添加了物理射线,用的是下面的脚本,给立方体也添加了 event trigger,但是还是打不开,想知道怎么解决
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class open : MonoBehaviour
{
// Start is called before the first frame update
public void Click()
{
gameObject.SetActive(true);
}
}
using UnityEngine;
public class OpenUI : MonoBehaviour
{
public GameObject uiPanel; // UI面板
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
if (hit.collider.gameObject == gameObject)
{
uiPanel.SetActive(true);
}
}
}
}
}
请确保在立方体上添加了 Collider 组件,并将 UI 面板对象分配给 uiPanel 变量。这样,当您点击立方体时,UI 面板将被打开。
Q4.团结引擎点击鸿蒙 build 就在一直报错,完全新的空工程
这个是 1.1.0 版本已知问题,1.1.1 版本修复。
Q5.AR 项目导出问题
在导出安卓平台的 AR 项目时导出无响应
团结 Muse Chat 已解决:
要使用 EasyRoads3D 插件来绘制道路,您需要按照以下步骤进行操作:
首先,确保您已经成功导入了 EasyRoads3D 插件。您可以在 Unity Asset Store 中找到该插件并将其导入到您的项目中。
在 Unity 编辑器中,选择 "GameObject" 菜单,然后选择 "3D Object",然后选择 "EasyRoads3D",然后选择 "New Road Network"。这将在场景中创建一个新的道路网络对象。
在场景中选择新创建的道路网络对象。在 Inspector 窗口中,您将看到 EasyRoads3D 的道路编辑器工具。
要开始绘制道路,您可以使用道路编辑器工具栏中的各种按钮。例如,您可以使用 "Add Marker" 按钮在场景中添加道路标记点,然后使用 "Connect Markers" 按钮将它们连接起来形成道路。
您还可以使用道路编辑器工具栏中的其他按钮来调整道路的形状、宽度、高度等属性。
请注意,EasyRoads3D 插件提供了许多功能和选项,您可以根据需要进行进一步的探索和学习。您可以参考 EasyRoads3D 的官方文档和教程,以获取更详细的使用说明和示例代码。
在运行一个事件时 for 循环执行了一次过后就报错,第一遍循环时可以成功执行。
检查一下报空的位置,看看组件是不是没有挂载上。
Q8. 帧不在模块中
你可能尝试在非主线程(例如协程)中进行调试操作,而调试器需要在主线程中执行。这可能会导致一些调试功能无法按预期工作。你可以尝试在不启用调试模式的情况下运行协程,或者尝试在其他环境中进行调试。