首页 > 解决方案 > 在 VR 中使用控制器旋转具有固定点的对象

问题描述

我想要一个具有固定点并根据 VR 中的控制器移动旋转的对象。

这是我想要实现的

  1. 用户抓取一个对象。
  2. 用户在抓取时向任何方向拉/推对象。
  3. 基于控制器的移动(推/拉),对象像杠杆一样旋转。
  4. 约束:对象不能离开它的位置,它必须保持固定。

此视频中显示了一个插图 ->固定点旋转

我正在尝试使用 Unity 和 VRTK 来实现这一点。

标签: unity3dsteamvrvrtk

解决方案


https://docs.unity3d.com/ScriptReference/Transform.RotateAround.html

仅使用transform.RotateAround()和要旋转的确切中心位置和第一个参数。您可以使用 Vector3.Angle 和 Transform.InverseTransformDirection 计算角度。

此功能也已在 SteamVR SDK 的示例中实现:https ://assetstore.unity.com/packages/tools/integration/steamvr-plugin-32647


推荐阅读