11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

Mozilla 开源了 VR 框架 A-Frame

  • 2015-12-23
  • 本文字数:1062 字

    阅读完需:约 3 分钟

Mozilla 创建并开源了 A-Frame ,这是一个用于在桌面浏览器、智能手机和 Oculus Rift 上创建 VR 场景的框架。

A-Frame 是一个在浏览器中创建 VR 体验的开源框架。该框架由 Mozilla 的 MozVR 团队创建和开发。A-Frame 使用了一个在游戏开发中经常使用的“实体 - 组件( Entity-component )”系统,其中,实体是放置在场景中的对象,而组件是与那些实体相关的属性。实体使用 HTML 标签定义,而组件则基于一种类似 CSS 语法的 HTML 属性。实体需要置入一个场景,其中包含了 VR 中需要渲染的一切内容。

下面的示例代码描绘了一个边长为 1 米的红盒子实体(立方体):

复制代码
<a-scene>
<a-entity geometry="primitive: box; width: 1" material="color: red"></a-entity>
</a-scene>

目前,geometry组件支持下列primitiveboxcirclecylinderplaneringspheretorustorusKnot。其他组件包括:cameralightsoundfogmaterialscale,等等。实体可以关联多个组件创建更复杂的场景,像下面的示例代码这样:

复制代码
<a-entity geometry="primitive: cube; depth: 1; height: 1; width: 1"
material="color: pink"
light="intensity: 2"
position="-1 5 0"
sound="src: dangerzone.mp3; volume: 2">
</a-entity>
{1}

为了简化开发人员的工作,Mozilla 封装了一些实体 - 组件元素,创建了若干语法更简单易用的原语。如下所示,这行代码描绘了与上文相同的正方体:

<a-cube width="1" color="red"></a-cube>预定义的原语包括:a-cameraa-cylindera-planea-spherea-lighta-skya-imagea-video,等等。a-model让开发人员可以在场景中加载 OBJ 或 DAE 3D 模型资产。

动画是虚拟现实渲染的重要组成部分。A-Frame 内部使用基于 Web 动画规范的 tween.js 。下面的这段代码实现了一个男人的旋转模型:

复制代码
<a-entity id="model" position="0 0 -2">
<a-animation attribute="rotation" from="0 -30 0" to="0 330 0" dur="15000" easing="linear" repeat="inifite"></a-animation>
<a-model position="-.35 0 .55" rotation="0 -20 0" scale="1.5 1.5 1.5" src="../_models/man/man.dae"></a-model>
</a-entity>

A-Frame 可以用于主流的桌面浏览器中,场景受鼠标或键盘控制,也可以用于智能手机和 Oculus Rift 头戴设备上。有个问题是,某些特定的场景在部分 Android 设备上不能正常渲染,但这个问题很快就会被修复。Mozilla 创建了若干展示这项技术的演示程序。感兴趣的读者可以从GitHub 上下载A-Frame 的源代码

查看英文原文: Mozilla Has Created A-Frame, a VR Framework

2015-12-23 18:007017
用户头像

发布了 1008 篇内容, 共 346.7 次阅读, 收获喜欢 330 次。

关注

评论

发布
暂无评论
发现更多内容

华为云GuassDB(for Redis)发布全新版本,两大核心特性正式亮相

华为云开发者联盟

数据库 华为云 GuassDB(for Redis) Lua脚本 SSL连接加密

1ms的时延,10Gbps速率…5G通信技术解读

华为云开发者联盟

5G 物联网 通信 网络架构 网络切片

飞桨中国行走进成都 与当地企业共话制造智能化升级

百度大脑

人工智能 飞桨

月薪10K码农,跳槽到40K架构师,技术学习路线图汇总

小傅哥

Java 学习 运维 大前端 后端

干货 | TDSQL-A核心架构揭秘

腾讯云数据库

数据库 tdsql

手撸二叉树之二叉树的直径

HelloWorld杰少

九月

【OpenIM原创】C/C++调用golang函数,golang回调C/C++函数

OpenIM

华云大咖说 | 华云数据企业开发测试平台解决方案

华云数据

缓存和数据库一致性问题,看这篇就够了

Kaito

数据库 redis 缓存 后端 一致性

架构实战营 - 模块 7 - 王者荣耀商城异地多活架构设计

雪中亮

架构实战营 #架构实战营

【LeetCode】检查平衡性Java题解

Albert

算法 LeetCode 9月日更

Kubernetes生态系统与演进路线

博文视点Broadview

TDSQL-A,全力应对海量数据实时分析需求

腾讯云数据库

数据库 tdsql

新来的前端小姐姐问:Vue路由history模式刷新页面出现404问题

华为云开发者联盟

node.js Vue hash 404 history 模式

西部首个国家级车联网先导区获批,EMQ 联手中国移动打造 5G 交通生态链

EMQ映云科技

自动驾驶 车联网 5G 移动 emq

springboot vue二手交易市场毕设源码

清风

毕业设计

《联想发布绿色智城解决方案,加速城市绿色低碳转型发展》

科技大数据

2021 Atlassian 大中华区用户大会来袭!

Atlassian

DevOps 敏捷 Atlassian Jira 敏捷精益

web技术分享| webRTC 媒体流录制

anyRTC开发者

音视频 WebRTC 流媒体 web技术 流媒体录制

如何借助腾讯云简单、高效移动开发

腾讯云数据库

数据库 tdsql

TDSQL Inside:从腾讯的分布式数据库能力到行业的能力

腾讯云数据库

数据库 tdsql

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之模块管理(十四)

crudapi

Vue API crud crudapi qusar

架构训练营模块七作业

喻高咏        

架构训练营 模块七

王者荣耀商城异地多活分析-模块7

小牧ah

架构实战营

特洛伊木马-图解VXLAN容器网络通信方案

Lance

一年数十万次实验背后的架构与数据科学

百度Geek说

人工智能 架构 数据科学

【架构训练营】模块七作业

zclau

C#多线程开发-任务并行库04

Andy阿辉

C# asp.net 多线程 多线程并发

【Flutter 专题】52 图解可折叠状态栏

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

企业为什么要建设自有即时通讯软件系统

WorkPlus Lite

阅读

Mozilla开源了VR框架A-Frame_开源_Abel Avram_InfoQ精选文章