首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全息透镜setParent位置改变相机镜头

全息透镜setParent位置改变相机镜头
EN

Stack Overflow用户
提问于 2017-10-17 05:57:13
回答 2查看 156关注 0票数 0

我正在使用Hololens镜头工具包大师。问题是,当你设置镜头相机的SetParent时,镜头的相机位置与父摄像机的位置相同。

例如,如果A的位置是0,0,0,B的位置是0,0,4,那么A.SetParent(B.Transform)将使A的位置为0,0,-4。

在统一编辑器上也是如此。

但是,如果在全息透镜上构建并运行A.SetParent(B.Transform),则A的位置将为0、0、4。

我不知道为什么会这样..。

我要0,0,-4!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-08 22:07:47

一般来说,主相机的父镜头是场景本身,你不能走得更高,所以父母是相机,除非你的相机是在另一个游戏对象内。同时也要记住,对于Hololens来说,相机是稳定的位置,所有其他东西都需要相对于相机移动,而不是相反。

更新:所以全息镜头应用程序中的主摄像机就像第一人称射击游戏中的人物相机,但是它不是移动世界的相机,应用程序也不是控制主相机,在FPS中,你可以用控制器或键盘控制字符。这里的不同之处在于,主相机是由全息透镜控制的,0,0,0,0是固定的主摄像机点,并且不会改变,结果是,在全息透镜中的探测相机根据设备中的空间映射例程更新位置,所以主摄像机的位置发生变化会产生意想不到的结果。如果您想要更改视角,我建议您创建一个新相机,并将视图转移到新摄像机并将其移动,并在您想要将其切换回主摄像机时将其还原回主摄像机。这台新相机不可能是主照相机的子代。一个警告是,我从来没有尝试过这一点,并作为一个可能的解决办法,我不知道它是否会起作用。

票数 0
EN

Stack Overflow用户

发布于 2017-10-17 06:04:56

SetParent函数有两个重载:

代码语言:javascript
复制
SetParent(Transform parent)

SetParent(Transform parent, bool worldPositionStays);

第一个参数使用true作为默认参数。使用第二个函数并将false传递给它,以强制对象在设置其父函数时使用其位置。

代码语言:javascript
复制
A.SetParent(B.Transform, false);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46783378

复制
相关文章

相似问题

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