首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >头部VR卡板转向对象

头部VR卡板转向对象
EN

Stack Overflow用户
提问于 2016-02-08 20:24:29
回答 1查看 959关注 0票数 0

有人能告诉我怎么做基于头部的转向吗?我知道怎么做,但我知道如何做,但我想通过头和相机来跟踪物体。我需要这个,因为我想实现游戏逻辑的对象(它将为我工作,如果我可以把相机作为一个正常的对象)。

我找到了这个代码,它只适用于驾驶相机:

代码语言:javascript
复制
public float speed = /* some number */;

private CardboardHead head;

void Start()
{
head = // find the CardboardHead
// example:
// head = Camera.main.GetComponent<StereoController>().Head;
// or, make the variable public and use drag-and-drop in the Editor
}

void Update()
{
transform.position += speed * head.Gaze.direction;
}

我开始为团结而做游戏,所以如果我犯了一些错误,请纠正我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-09 11:09:11

你在这里用的是硬纸板插件吗?https://developers.google.com/cardboard/unity/download

如果你这样做了,那么就有一个名为“硬纸板主”的预制件,把它放在场景中,然后如果你看到里面有一个名为Head的游戏对象,它包含了CardboardHead脚本。下面是您的脚本:

代码语言:javascript
复制
public GameObject head; // drag the Head gameobject to here or you can just get it from the start

void Start()
{
    if (!head) // if you didn't drag the gameobject
    {
        head = FindObjectOfType<CardboardHead>().gameObject;
    }
}

void Update()
{
    transform.position += speed * head.transform.forward; // it is better to multiply by Time.deltaTime
}

另外,为什么它被标记为Java?

新问题:

所以我就是这么做的。我把“视觉”和“机械”分开。我把网格渲染器从播放器中移开,冻结了它的旋转。我为“可视”做了一个新的子程序,它有一个名为Rotate.cs的脚本,并删除了它的对撞机。

对脚本的更改:在Forward.cs中使用rb.AddForce(transform.forward * speed);返回,在Rotate.cs中只使用

代码语言:javascript
复制
void Update () {
        transform.Rotate(Vector3.right * 5);
}

这是我能想到的最快的解决方案,我相信还有其他的解决办法,你可以试试

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35278623

复制
相关文章

相似问题

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