c# - 当手靠近/远离 HoloLens 相机时,将游戏对象移近/远离 HoloLens 相机

标签 c# unity3d hololens

我目前遇到一个问题,当我的手向前/向后时,我想将游戏对象移近/远离我(HoloLens 相机)。好吧,我已经正确地实现了将对象移近/移远的逻辑,但无法通过确定手的运动来解决问题。 我正在使用 HoloToolkit 的 IManipulationHandler 接口(interface)来移动对象,这是我现在使用的主要逻辑:

void IManipulationHandler.OnManipulationUpdated(ManipulationEventData eventData)
{
    transform.position = Vector3.MoveTowards(objectPosition, cameraPosition,
        - (eventData.CumulativeDelta * ManipulationSpeed).z);
}

(只有当我不改变我的位置时它才能正常工作)

这是我使用的另一种逻辑:

void IManipulationHandler.OnManipulationUpdated(ManipulationEventData eventData)
{
    transform.position = Vector3.MoveTowards(objectPosition, cameraPosition,
        Vector3.Distance(cameraPosition, eventData.CumulativeDelta));
}

根据上述逻辑,每当我移动我的手(向前或向后)时,对象总是靠近,因为两个向量的黑白距离总是首先增加。

请帮我解决这个问题。谢谢。

注意:我想在我的手向左/向右拖动时旋转对象,并在我的手向前/向后拖动时将对象移近/移远。

最佳答案

您可以从 MixedRealityToolkit 查看 HandDraggable 脚本。

关于c# - 当手靠近/远离 HoloLens 相机时,将游戏对象移近/远离 HoloLens 相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54568176/

相关文章:

c# - 如何使用预构建类设置事件处理

c# - 添加 .NET Standard 2.0 依赖项后未找到方法 System.Net.Http.Formatting.MediaTypeFormatter.get_SupportedMediaTypes()

c# - 为什么原始对象在复制后更改,而不使用 ref 参数?

c# - 充电能量并在按住鼠标按钮时释放它

c# - Unity玩游戏服务认证失败

unity3d - Hololens Unity 应用程序始终以 2D 而不是 3D 部署

c# - 如何更改游戏对象的枢轴

c# - 使用 Linq 根据 Values 自定义对象的属性过滤 Hashtable

c# - ASP.NET核心: UsePathBase extracts pathbase from path but MapControllers() does not consider path

c# - 需要帮助使用继承来接受有限状态机中的派生类型参数