A-frame 学习笔记-介绍

1,863 阅读4分钟

A-frame 是webvr当前相对比较成熟的框架,当前没有完善的中文文档,只能基于英文的文档进行学习,在掘金记录一下自己的学习过程,主要是对官方文档的翻译参考了以及例子的实操经验~

官方文档

介绍

入门

A-frame可以在经典的html文件中进行使用,无需额外安装工具,web的初学者也可以按照教程进行使用,创建一个.html文件,并在<head>中引用A-frame:

<html>
  <head>
    <script src="https://aframe.io/releases/1.0.3/aframe.min.js"></script>
  </head>
  <body>
    <a-scene>
      <a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
      <a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
      <a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
      <a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
      <a-sky color="#ECECEC"></a-sky>
    </a-scene>
  </body>
</html>

可以在A-frame School学习一些基础内容。

什么是A-frame

A
A-Frame 是一个用来构建虚拟现实(VR)应用的网页开发框架。由WebVR的发起人Mozilla VR 团队所开发,是当下用来开发WebVR内容主流技术方案。WebVR是一个完全开源的项目,已成长为领先的VR社区。

A-Frame基于HTML,容易上手。但是A-Frame不仅仅是一个3D场景渲染引擎或者一个标记语言。其核心思想是基于Three.js来提供一个声明式、可扩展以及组件化的编程结构。

A-Frame支持主流VR头显如Vive, Rift, Daydream, GearVR, Cardboard, 甚至可被用于增强现实(AR)。虽然A-Frame支持全谱,A-Frame的目标是定义具有位置跟踪和操控的完全身临其境和交互式VR体验,超出基本的360° 内容呈现。Mozilla VR团队正在使用A-Frame构建虚拟实境(Metaverse)项目的基础。 Metaverse由meta和verse组成,meta表示超越,verse表示现实世界,合起来就寓意超现实,技术上是VR、AR和移动互联网的融合。

特性

简化VR制作: 只需要引入 <script> 标签 和 <a-scene>. A-Frame 将自动生成3D渲染的样板代码,VR相关设置和缺省的交互控制。不需要安装任何东西也无需编译构建。

声明式HTML: HTML很容易阅读,理解和 复制粘贴。基于HTML,A-Frame使得每个人都可以轻松访问: 网站开发者,虚拟现实爱好者,艺术家,设计师,教育家,制造商以及孩子们.

跨平台VR: 构建能兼容主流头显设备的VR应用程序,如HTC Vive, Rift, Daydream, GearVR, 和 谷歌Cardboard,乃至在普通电脑和手机上运行。

实体-组件架构: A-Frame 基于强大的 three.js 框架, 同时提供声明式、组件化、可复用的 实体组件(entity-component)结构。HTML只是冰山的一角, 开发者可以自由的使用JavaScript、DOM API,Three.js,WebVR,和 WebGL。

高性能: A-Frame 从底层对WebVR做了优化,尽管A-Frame使用DOM,但其元素并不接触浏览器的布局引擎。3D 对象的更新全部在低开销内存中通过单个 requestAnimationFrame 来调用,甚至能够像本地应用一样来运行 (90+ FPS)。

工具无关性: 由于是构建在HTML之上,所以 A-Frame 和大多数开发库、框架和工具如 React, Preact, Vue.js, Angular, d3.js, Ember.js, jQuery 兼容。

可视化检测工具: A-Frame 提供一个便捷的内置3D可视化检测工具。打开任意的A-Frame场景,敲击 + + i 组合键,将切换到3D元素检测模式。

组件:A-Frame的核心组件如几何,材料,灯光,动画,模型,光线投射器,阴影,定位音频,文本和大多数主要vr设备的控件,为您提供了坚实的基础。从数百个社区的组件中进一步发展,包括环境,状态,粒子系统,物理,多用户,海洋,隐形传态,超级手和增强现实。

可靠且可扩展:A-Frame已被Google,迪士尼,三星,丰田,福特,雪佛兰,国际组织,CERN,NPR,半岛电视台,华盛顿邮报,美国国家航空航天局(NASA)等公司使用。诸如Google,Microsoft,Oculus和Samsung之类的公司都为A-Frame做出了贡献。