gear-vr - 如何在 React VR 场景中检测 Gear VR 输入?

标签 gear-vr react-360

我正在尝试使用 React VR 创建一个 Web 应用程序并使用 Samsung Gear VR 运行它。

在场景中处于 VR 模式时,我看不到默认的白点(VR 指针)。因此,“onInput”和“onClick”等方法不起作用。如果我在 VR 模式之外查看相同的场景,即使使用 Gear VR 中提供的浏览器,相同的方法也能正常工作。

我错过了什么吗?如何在 Gear VR 的 VR 模式下访问这些方法?

示例代码在普通网络浏览器(包括 Gear VR 中的浏览器)中可以正常工作,但在 VR 中则不行。

<Text
    style={{
        // backgroundColor: '#777879',
        fontSize: 0.2,
        transform: [{translate: [0, 0, -5]}],
        color: this.state.textColor
    }}
    onEnter={() => this.setState({textColor: 'gold'})}
    onExit={() => this.setState({textColor: 'white'})}>
    This text will turn gold when you look at it.
</Text>

最佳答案

您需要添加光线转换器:

为此,您需要执行以下操作:

在您的项目中,转到 <project root>/vr/client.js 。 就在 init 之前方法,添加 SimpleRaycaster常数。

const SimpleRaycaster = {
    getType: () => "simple",
    getRayOrigin: () => [0, 0, 0],
    getRayDirection: () => [0, 0, -1],
    drawsCursor: () => true
};

function init(bundle, parent, options) {

//...

然后,在 init方法,设置cursorVisibility: visible并将光线转换器添加到 raycasters 数组中:

function init(bundle, parent, options) {
  const vr = new VRInstance(bundle, 'Example', parent, {
      raycasters: [
          SimpleRaycaster // Add SimpleRaycaster to the options
      ],
      cursorVisibility: "visible", // Add cursorVisibility
      enableHotReload: true,
    ...options,
  });
  vr.render = function() {
    // Any custom behavior you want to perform on each frame goes here
  };
  // Begin the animation loop
  vr.start();
  return vr;
}

window.ReactVR = {init};

就是这样。现在您的 View 中间应该有一个白点。

关于gear-vr - 如何在 React VR 场景中检测 Gear VR 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44259273/

相关文章:

android - 我可以使用新的 Samsung Gear VR 为 Android 开发 VR 应用程序吗?

android - 线程优先级安全异常确保 apk 已签名

iframe - React-VR iFrame 全屏

javascript - ReactVR如何正确设置指针(raycaster)

javascript - React VR 组件和 native 模块代码之间的持久桥梁

react-360 - 如何在react-VR中将某些元素固定在屏幕上

android - Gear VR with Unity 和 Keystore : thread priority security exception

android - 如何从WebVR/A-Frame在YoutubeVR应用程序中打开360 Youtube视频

android - 使用 Android 6.0.1 但不是 5.1.1 的 Galaxy S6 上的 Gear VR 应用程序中的 TBE 音频跳过

android - 如何防止 Oculus Home 在插入 Gear VR 时接管 Cordova+React VR 应用程序