0

我想创建指向我的游戏的指针

我的尝试

1- 创建球体对象。

2-将此球体连接到右眼(RightEyeAnchor)。

3-使球体与右眼具有相同的空间

4-在下面写代码。

using UnityEngine;
using System.Collections;

public class Pointer_Mock : MonoBehaviour {

 public GameObject targetCam;
 // Use this for initialization
 void Start () {
  targetCam = transform.parent.gameObject;
 }

 void Update() {
  transform.LookAt (targetCam.transform);

  float localX = transform.localPosition.x;
  float localY = transform.localPosition.y;

  float h = (localX += (Input.GetAxis("Mouse X") * 0.05f));
  float v = (localY += (Input.GetAxis("Mouse Y") * 0.05f));
  transform.localPosition = new Vector3 (h, v, transform.localPosition.z);

 }
}

5-将右眼代码附加到我的脚本 // I am not sure what desired game object

我遵循的本教程

http://unitygirldev.blogspot.com/2015/01/unity-script-oculus-3d-pointer.html

4

1 回答 1

2

Oculus 论坛上有一个指南可能会对您有所帮助,特别是本节建议将相机设置为CenterEyeAnchor而不是RightEyeAnchor

  1. 在 OVRCameraRig->CenterEyeAnchor 对象下,在位置和旋转 0,0,0 处添加一个常规 Unity 摄像机,并将此摄像机的 Culling Mask 设置为“Nothing”,这样它实际上就不会渲染任何东西并浪费 CPU/GPU 周期。我把它命名为“看相机”。此相机仅供 UI 事件系统使用。通过将它放在 CenterEyeAnchor 对象下,它可以完美地跟踪头部。OVR 相机似乎不适用于 UI 系统,可能是因为它们使用渲染纹理而不是屏幕空间渲染。这款虚拟外观相机解决了这个问题。

您还需要将渲染模式设置为世界空间。这可以在 UI Canvas 对象的渲染模式下拉列表中找到:

在此处输入图像描述

于 2015-08-24T13:21:05.273 回答