首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于运动学的世界被标记运动弄乱了

基于运动学的世界被标记运动弄乱了
EN

Stack Overflow用户
提问于 2016-12-12 21:47:17
回答 1查看 85关注 0票数 1

基于运动学的世界因运动而变得混乱

你好,我一直在用Unity3d开发一个不起眼的基于AR的游戏。到目前为止,我一直使用Vuforia在一个(多)跟踪器上部署我的场景。然而,我一直在用Kudan做测试,我对它在使用跟踪器时的跟踪性能相当满意。

http://i.imgur.com/nTHs6cM.png

我的引擎是基于光线投射的碰撞,而不是"UnityEngine.Physics“(几乎所有东西都是运动学的)。当我使用Kudan引擎在跟踪器上部署我的3d环境时,我遇到了一个问题,我的整个物理都搞砸了。如果标记被移动,元素也会随之移动,但轴似乎会随着标记的变化而改变,但我的物理学似乎对我以前的轴方向做出了响应。我的角色总是在世界Y轴上向上站立(而不是跟踪器内部的局部)。另一个问题是,我的播放器3D资源不断在“站立”和“坠落”状态之间切换,最终在地板上剪切和坠落(这可能是由于相机检测中的抖动)。

http://i.imgur.com/ROn4uEz.png

我想到的解决方案之一是使用本地坐标系,但我希望有另一种解决方案,因为当我使用Vuforia时,我不必做任何进一步的修改。

任何链接或反馈都值得感谢。

EN

回答 1

Stack Overflow用户

发布于 2017-06-27 23:18:58

可以将transform.InverseTransformPoint和transform.InverseTransformDirection与Quaternion.LookDirection结合使用,以获得库丹摄影机相对于MarkerTransformDriver对象的位置和旋转。这将允许您在世界空间中定位摄影机,并使要在unity3d世界原点增加的任何内容保持静态。

代码语言:javascript
复制
cameraPos = markerTransform.InverseTransformPoint(kudanCamera.position);
cameraRot = Quaternion.LookRotation(markerTransform.InverseTransformDirection (kudanCamera.transform.forward));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41102330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档