虚拟现实变得简单:A-Frame 只需插入<a-scene>
声明式 HTML:HTML 易于阅读和复制粘贴。由于 A-Frame 可以从 HTML 使用,因此每个人都可以访问 A-Frame:Web 开发人员、VR 爱好者、教育工作者、艺术家、创客、孩子。
实体组件架构:A-Frame 是一个基于 three.js 的强大框架,为 three.js 提供声明式、可组合、可重用的实体组件结构。虽然可以从 HTML 使用 A-Frame,但开发人员可以无限制地访问 JavaScript、DOM API、three.js、WebVR 和 WebGL。
性能:A-Frame 是一个基于 three.js 的精简框架。虽然 A-Frame 使用了 DOM,但 A-Frame 并没有触及浏览器布局引擎。性能是重中之重,在高度交互的 WebVR 体验中经过实战测试。
跨平台:为 Vive、Rift、Daydream、GearVR 和 Cardboard 构建 VR 应用程序。没有耳机或控制器?没问题!A-Frame 仍然适用于标准台式
机和智能手机。
Visual Inspector:A-Frame 提供了一个内置的可视化 3D 检查器,其工作流程类似于浏览器的开发人员工具和类似于 Unity 的界面。打开任何 A-Frame 场景并点击<ctrl> + <alt> + i
。
特点:使用 A-Frame 的内置组件(例如几何体、材质、灯光、动画、模型、光线投射器、阴影、位置音频、跟踪控制器)开始运行。进一步利用社区组件,例如粒子系统、物理学、多用户、海洋、山脉、语音识别或隐形传态!
只需几行 HTML 即可在浏览器中构建 VR 场景!要立即开始播放和发布,请重新混合入门示例:
<html>
<head>
<script src="https://aframe.io/releases/1.4.2/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 的实体组件架构,我们可以从生态系统(例如,海洋、物理)中加入社区组件,并将它们直接从 HTML 插入到我们的对象中:
<html>
<head>
<script src="https://aframe.io/releases/1.4.2/aframe.min.js"></script>
<script src="https://unpkg.com/aframe-particle-system-component@1.0.x/dist/aframe-particle-system-component.min.js"></script>
<script src="https://unpkg.com/aframe-extras.ocean@%5E3.5.x/dist/aframe-extras.ocean.min.js"></script>
<script src="https://unpkg.com/aframe-gradient-sky@1.4.2/dist/gradientsky.min.js"></script>
</head>
<body>
<a-scene>
<a-entity id="rain" particle-system="preset: rain; color: #24CAFF; particleCount: 5000"></a-entity>
<a-entity id="sphere" geometry="primitive: sphere"
material="color: #EFEFEF; shader: flat"
position="0 0.15 -5"
light="type: point; intensity: 5"
animation="property: position; easing: easeInOutQuad; dir: alternate; dur: 1000; to: 0 -0.10 -5; loop: true"></a-entity>
<a-entity id="ocean" ocean="density: 20; width: 50; depth: 50; speed: 4"
material="color: #9CE3F9; opacity: 0.75; metalness: 0; roughness: 1"
rotation="-90 0 0"></a-entity>
<a-entity id="sky" geometry="primitive: sphere; radius: 5000"
material="shader: gradient; topColor: 235 235 245; bottomColor: 185 185 210"
scale="-1 1 1"></a-entity>
<a-entity id="light" light="type: ambient; color: #888"></a-entity>
</a-scene>
</body>
</html>
要使用 A-Frame 的最新稳定版本,请包括aframe.min.js
:
<head>
<script src="https://aframe.io/releases/1.4.2/aframe.min.js"></script>
</head>
要查看稳定版和主版,请参阅dist/
文件夹。
npm install --save aframe
# Or yarn add aframe
require('aframe') // e.g., with Browserify or Webpack.
git clone https://github.com/aframevr/aframe.git # Clone the repository.
cd aframe && npm install # Install dependencies.
npm start # Start the local development server.
并在浏览器中打开http://localhost:9000。
npm run dist
如需问题和支持,请在 StackOverflow 上提问。