【发布时间】:2016-08-22 17:08:57
【问题描述】:
好的,我已经尝试了所有方法,但我正在使用 Unity3D 中的 Google Cardboard 创建一个 VR 应用,并且我正在尝试设置头部对象的旋转。我可以通过打印 head1.transform.localRotation 并使用 public CardboardHead head1; 获取 Head 对象将 Head 对象的旋转打印到控制台,但是与其他对象不同,我无法更改此旋转。
我意识到 CardboardHead 脚本在这里不断覆盖并设置 Head 对象的旋转:
if (trackRotation) {
var rot = Cardboard.SDK.HeadPose.Orientation;
if (target == null) {
transform.localRotation = rot;
} else {
transform.rotation = target.rotation * rot;
}
}
我什至尝试改变这些值,但我只是想暂时改变头部对象的旋转,以便在我的游戏回合结束后头部对象“捕捉”到某个旋转(之后如果他们转动他们的头,Head 对象像往常一样转动)
我只想让玩家“看”某处(我希望他们面对画布)但是当我尝试像这样改变 Head 对象的旋转时:
head1.transform.rotation = new Quaternion(0.0f,0.0f,0.0f,0.0f);
或
head1.transform.localRotation = new Quaternion(0.0f,90.0f,70.0f,80.0f);
什么都没有发生。 Head 对象保持在最初设置的旋转中,看起来是 (1.0,0.0,0.0,1.0)。为什么是这样?如何更改头部旋转以使用户面向画布/指向设定的方向?
【问题讨论】:
标签: unity3d rotation google-cardboard virtual-reality