WebVR — 网络虚拟现实

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 虚拟现实的概念本身并不新鲜,但现在我们拥有让它正常工作的技术,以及一个JavaScript API可以在Web应用程序中使用它。本文从WebVR在游戏中的使用角度介绍了WebVR。
推荐:使用 NSDT编辑器 快速搭建3D应用场景

虚拟现实设备

随着Oculus Rift和许多其他生产设备即将上市,未来看起来很光明——我们已经有足够的技术来使VR体验“足够好”,可以玩游戏。有许多设备可供选择:像Oculus Rift或HTC Vive这样的桌面设备,通过带有Playstation VR的游戏机(目前不支持WebVR),再到Gear VR或Google Cardboard等移动体验。

注意:有关更多信息,请阅读我们的 WebVR 概念文章。

The WebVR API

WebVR API 是用于捕获连接到计算机的 VR 设备上的信息和头戴设备位置/方向/速度/加速度信息的核心 API,并将其转换为可在游戏和其他应用程序中使用的有用数据。

注意:当然,还有其他可用于创建游戏的 API,例如用于控制输入的游戏手柄 API,以及用于处理移动设备上的显示方向的设备方向 API。

浏览器支持和规范状态

目前,浏览器对WebVR API的支持仍处于实验阶段——它可以在Firefox的夜间构建和Chrome的实验性版本中工作(Mozilla和Google联手共同致力于实现),但我们迟早会在常规版本中看到它。

WebVR 规范处于编辑草稿状态,这意味着它仍可能发生变化。该开发由Mozilla的Vladimir Vukicevic和Google的Brandon Jones领导。有关更多信息,请务必访问 https://mixedreality.mozilla.org/ 和 WebVR.info 网站。

使用 WebVR API

WebVR API基于两个概念 - 将立体图像发送到头戴式设备中的两个镜头,并从传感器接收头部的位置数据,这两个概念由HMDVRDevice(头戴式显示器虚拟现实设备)和PositionSensorVRDevice处理。

获取设备

若要获取有关连接到计算机的设备的信息,可以使用 Navigator/getVRDisplay 方法:

.JS复制到剪贴板

navigator.getVRDevices().then((devices) => {
  for (let i = 0; i < devices.length; ++i) {
    if (devices[i] instanceof HMDVRDevice) {
      gHMD = devices[i];
      break;
    }
  }
  if (gHMD) {
    for (let i = 0; i < devices.length; ++i) {
      if (
        devices[i] instanceof PositionSensorVRDevice &&
        devices[i].hardwareUnitId === gHMD.hardwareUnitId
      ) {
        gPositionSensor = devices[i];
        break;
      }
    }
  }
});

此代码将遍历可用设备并为头戴式设备分配适当的传感器 — 第一个数组包含连接的设备,并完成检查以找到 HMDVRDevice,并将其分配给变量 — 使用它您可以设置场景、获取眼睛参数、设置视野等。例如:devicesgHMD

.JS复制到剪贴板

function setCustomFOV(up, right, down, left) {
  const testFOV = new VRFieldOfView(up, right, down, left);
  gHMD.setFieldOfView(testFOV, testFOV, 0.01, 10000.0);
}

该变量保存 PositionSensorVRDevice — 使用它,您可以获取当前位置或方向状态(例如,更新每帧的场景视图),或重置传感器。例如,下面的代码在屏幕上输出位置信息:gPositionSensor

.JS复制到剪贴板

function setView() {
  const posState = gPositionSensor.getState();
  if (posState.hasPosition) {
    const format = (axis) => `${axis}${roundToTwo(posState.position[axis])}`;
    posPara.textContent = `Position: ${axis("x")} ${axis("y")} ${axis("x")}`;
    xPos = -posState.position.x * WIDTH * 2;
    yPos = posState.position.y * HEIGHT * 2;
    zPos = -posState.position.z > 0.01 ? -posState.position.z : 0.01;
  }
  // …
}

有关演示的完整说明和更多详细信息,请参阅使用 WebVR API。

工具和技术

第一个WebVR实验和演示使用了Three.js因为它可能是网络上最受欢迎的3D引擎。请参阅 Three.js GitHub 上提供的 VREffect 和 VRControls 函数,以帮助您使用 Three.js 实现和处理 WebVR。

鲍里斯·斯穆斯(Boris Smus)写过关于响应式WebVR的概念,其中单个网页游戏可以在各种设备上玩,例如没有VR硬件的笔记本电脑,带有Oculus Rift的PC或Google Cardboard中的智能手机,并且仍然可以在所有设备上提供独特而有价值的体验。这就像响应式设计,但应用于VR世界 - 编写一次即可在任何VR头显中运行,或者没有它。您可以查看 WebVR 样板资源 — 这是开始学习 WebVR 的一个很好的例子,也是任何基于 Web 的 VR 体验的起点。

还有一个名为A-Frame的标记框架,它为WebVR提供了简单的构建块,因此您可以快速构建和试验VR网站和游戏:阅读使用A-Frame构建基本演示教程以获取更多详细信息。

沉浸感比游戏玩法或图形更重要 - 你必须感觉自己“在”体验中。这并不容易实现,但它不需要逼真的图像。恰恰相反,因为拥有以高帧率飞来飞去的基本形状可以赚很多钱。请记住:实验是关键 - 看看什么特别适合你的游戏。

WebVR 的未来

它正在发生 - 消费者设备现在正在进入市场,我们已经有JavaScript API在Web上支持它们。我们现在需要的只是一个稳定的规范,良好的用户体验和UI,更好的硬件以及更多的工具和库 - 所有这些都即将出现。现在是潜入和尝试WebVR的最佳时机。


原文链接:https://www.mvrlink.com/webvr/

目录
相关文章
|
3月前
|
安全 物联网 网络安全
网络安全的屏障与密钥:揭秘网络漏洞、加密技术与安全意识的重要性新技术趋势与应用:区块链、物联网与虚拟现实的未来展望
【8月更文挑战第27天】在数字时代的浪潮中,网络安全成为了我们不可忽视的话题。本文将深入浅出地探讨网络安全中的漏洞问题、加密技术的应用及其重要性,以及提升个人和组织的安全意识的必要性。通过分析常见的网络攻击手段和防御策略,我们将了解到保护信息资产的紧迫性,并掌握一些基础的防护措施。文章还将分享几个实用的代码示例,帮助读者更好地理解加密技术在实际应用中的作用。
|
3月前
|
机器学习/深度学习 编解码 人工智能
【生成式对抗网络】GANs在数据生成、艺术创作,以及在增强现实和虚拟现实中的应用
生成对抗网络(Generative Adversarial Networks, GANs)在数据生成领域具有显著的应用价值。GANs通过生成器(Generator)和判别器(Discriminator)两个相互竞争的神经网络,不断迭代优化,从而生成高质量的数据样本。这一技术在数据增强方面尤为重要,特别是在数据稀缺或难以获取的领域,如医疗影像分析、自动驾驶等。GANs能够生成与真实数据相似的新数据样本,从而扩充数据集规模,提高模型的泛化能力。此外,GANs还可以用于生成仿真数据,如金融领域中的股票价格走势,用于训练预测模型,提高预测准确性
53 2
|
3月前
|
安全 物联网 区块链
未来已来:探索区块链、物联网与虚拟现实的融合趋势网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【8月更文挑战第30天】本文将带领读者穿梭于新兴技术如区块链、物联网(IoT)和虚拟现实(VR)的发展浪潮之中,揭示这些技术如何相互交织,共同塑造我们的未来。我们将从技术的基本原理出发,逐步深入到它们的应用场景,并探讨它们如何在未来形成一股不可逆转的融合趋势。通过深入浅出的分析,本文旨在为读者提供一个关于这些技术发展趋势的全景视图,同时激发思考它们将如何影响我们的生活和工作方式。
|
3月前
|
安全 物联网 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享未来技术浪潮中的领航者:区块链、物联网与虚拟现实
【8月更文挑战第30天】在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和建议来保护个人信息和数据安全。
|
3月前
|
安全 物联网 网络安全
揭秘网络防御:安全漏洞、加密技术与意识提升新兴技术浪潮下的未来社会:区块链、物联网与虚拟现实的融合与创新
【8月更文挑战第27天】在数字时代的浪潮中,网络安全已成为保护个人隐私和企业资产的盾牌。本文深入探讨了网络安全的核心要素:安全漏洞、加密技术和用户安全意识。我们将通过实际案例分析常见的安全威胁,并解释如何利用最新的加密算法来保护数据不被窃取。此外,我们还将揭示提升用户安全意识的重要性,并提供实用的策略,以增强个人和组织在网络空间的防御能力。
|
4月前
|
机器学习/深度学习 物联网 区块链
未来触手可及:探索区块链、物联网和虚拟现实的革新之路探索深度学习中的卷积神经网络(CNN)
随着科技的飞速发展,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正不断重塑我们的工作和生活方式。本文将深入探讨这些技术的最新发展趋势,分析它们如何在不同行业实现应用革新,并预测其未来的融合潜力。我们将从技术的基本原理出发,通过案例研究,揭示它们在现实世界中的创新应用场景,并讨论面临的挑战与机遇。 在机器学习领域,卷积神经网络(CNN)已成为图像识别和处理的基石。本文深入探讨了CNN的核心原理、架构以及在多个领域的应用实例,旨在为读者提供从理论到实践的全面理解。
|
2天前
|
存储 安全 算法
网络安全与信息安全:漏洞、加密技术及安全意识的重要性
如今的网络环境中,网络安全威胁日益严峻,面对此类问题,除了提升相关硬件的安全性、树立法律法规及行业准则,增强网民的网络安全意识的重要性也逐渐凸显。本文梳理了2000年以来有关网络安全意识的研究,综述范围为中国知网中篇名为“网络安全意识”的期刊、硕博论文、会议论文、报纸。网络安全意识的内涵是在“网络安全”“网络安全风险”等相关概念的发展中逐渐明确并丰富起来的,但到目前为止并未出现清晰的概念界定。此领域内的实证研究主要针对网络安全意识现状与问题,其研究对象主要是青少年。网络安全意识教育方面,很多学者总结了国外的成熟经验,但在具体运用上仍缺乏考虑我国的实际状况。 内容目录: 1 网络安全意识的相关
|
2天前
|
SQL 安全 算法
网络安全与信息安全:漏洞、加密技术与安全意识的交织
【10月更文挑战第28天】在数字时代的浪潮中,网络安全与信息安全成为保护个人隐私和企业资产的重要盾牌。本文将深入探讨网络安全中的常见漏洞,介绍加密技术的基本概念及其在保护数据中的应用,并强调提高安全意识的重要性。通过分析具体案例和提供实用的防护措施,旨在为读者提供一个全面的网络安全知识框架,以应对日益复杂的网络威胁。
17 4
|
1天前
|
存储 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第30天】在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术以及安全意识等方面的知识,帮助读者更好地了解网络安全的重要性,提高自己的网络安全意识和技能。
|
2天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务中的信息安全技术
【10月更文挑战第29天】在数字化时代的浪潮中,云计算作为一种革命性的技术,正日益成为企业和个人数据存储与处理的首选方案。然而,随之而来的网络安全问题也愈发复杂和严峻。本文将深入探讨云计算服务中的网络安全挑战,并分析如何通过先进的信息安全技术来加强保护措施。我们将从云服务的基础知识出发,逐步深入到网络安全的各个方面,包括数据加密、身份验证、访问控制等关键技术的应用。通过理论与实践的结合,旨在为读者提供一套全面而实用的云计算安全指南。