我正在创建一个虚拟现实应用程序与mrtk 2.1,并希望用户在相同的高度时,发挥坐姿或站立。坐着玩的时候摄像机太低了。
我可以调整包含MixedRealityPlayspace的MainCamera的高度,但是在使用了传送函数之后就会重置。此外,从这个GitHub邮政中了解到,MainCamera和MixedRealityPlayspace之间有一个偏移,这是通过mrtk无法访问的,因此计算正确的高度是很困难的。这似乎并不是正确的方法。
我如何确保用户在游戏中总是处于正确的头部高度,即使在玩坐姿时也是如此?
发布于 2020-07-15 08:09:26
好的,我找到了一个对我有用的解决方案。我使用以下代码将mixedRealityPlayspace向上或向下移动以达到想要的播放器高度。(如果要使用此代码,请确保标记您的mixedRealityPlayspace GameObject " player ")
var mixedRealityPlayspace = GameObject.FindGameObjectsWithTag("Player")[0].transform;
var camHeight = mainCamera.transform.position.y;
var adjustement =wantedPlayerHeight-camHeight ;
mixedRealityPlayspace.position= new Vector3(mixedRealityPlayspace.position.x,mixedRealityPlayspace.position.y+adjustement, mixedRealityPlayspace.position.z);在我的场景开始和OnTeleportCompleted事件中,我称之为MRTK传送系统的DokumingfortheMRTK传送系统
发布于 2019-12-03 21:56:02
我提出了以下特性请求:https://github.com/microsoft/MixedRealityToolkit-Unity/issues/6786
未经测试的解决办法可能有以下几点:
与不同的MRTK贡献者交谈时,它认为您可能需要在运行时执行此转换配置。在编辑器/场景层次结构中尝试这样做可能会遇到问题,因为人们不确定主摄像机的父摄像机是否设置为MixedRealityPlayspace,而不管主摄像机是否是MixedRealityPlayspace的孙辈。
https://stackoverflow.com/questions/59106315
复制相似问题