unity3d - 预测旋转后的变换位置
问题描述
我有一个 GameObject 和一些是它的子对象。
我要旋转这个游戏对象,但我想预测他的孩子是否会发生碰撞,所以我可以避免旋转。为此,我需要在实际旋转父对象之前预测每个子对象的最终位置。
我正在像这样旋转父母:
transform.Rotate(x, y, z, Space.World);
在这个旋转操作之后,如何预测每个孩子的结束位置?
解决方案
我想我解决了这个问题。我使用了这个功能:
private Vector3Int RotatePointAroundPivot(Vector3 point, Vector3 pivot, Vector3 angles) {
returnQuaternion.Euler(angles) * (point - pivot) + pivot;
}
它显然在世界空间坐标中围绕另一个点旋转一个点,所以我传递了子位置 in point
,父位置 inpivot
和 a new Vector3(x, y, z)
in angles
。结果似乎是旋转后孩子的最终位置。
推荐阅读
- excel - VBA 链接到已打开的基于 Web 的文件对话框
- json - Kubernetes 服务未启动
- reactjs - 如何在reactjs中的循环内编写write if语句
- python - 使用 cppyy 从 Python 解析 C (C++) 调用方法
- ruby-on-rails - 如何自动将数据从url保存到数据库
- c# - 并行性问题
- r - 提取特定行并列出 R 中的行
- ag-grid - 我可以阻止主行更改关闭详细信息吗?
- android - cordova-icon 实用程序抛出错误“spawn convert ENOENT”
- python - 使用python从图像中提取补丁