(映维网 2019年12月31日)A-Frame已经进入第四个年头。开发团队于四年前(2015年12月16日)发布了第一个版本,并旨在简化VR体验的构建过程,并确保Web保持与VR行业一致的前进步伐。在数十万开发者的帮助下,他们正在为社区带来A-Frame v1.0.0,而这一版本将支持在过去数年间一直在讨论的WebXR规范。
随着越来越多的浏览器放弃WebVR并且仅支持WebXR规范,所以我们有必要将工具升级到A-Frame v1及更高版本。WebXR是指Web对AR和VR的支持。所以,对于支持ARCore和ARKit的浏览器,A-Frame提供了开箱即用的AR模式。在项目构建期间,请确保使用HTTPS。
对于A-Frame的使用,开发者添加了script标签和a-scene自定义元素。A-Frame可以处理3D样板、VR设置和默认控件。A-Frame的主要目的是支持所有Web开发者以及VR爱好者,设计师,艺术家等人员都能轻松构建VR和AR内容。A-Frame建立在three.js、WebXR和WebGL之上。
尽管A-Frame使用HTML DOM,但其元素不会触及浏览器布局引擎。相反,内存中的3D对象更新的负载非常低,即使是非常复杂的3D渲染,内容都可以保持90fps的流畅度。A-Frame提供可视的3D检查器来调试和理解场景。
A-Frame提供了一系列核心组件,包括几何形状、材质、照明、动画、模型、光线投射器、阴影、位置音频、文本以及大多数主要头显的控件。除了包含的组件之外,A-Frame社区同时提供了数百个组件,包括环境、状态、粒子系统、物理、多用户和增强现实等等。
A-Frame社区提供了各种各样的示例,并作为交互式演示托管至Glitch。例如,a-frame-registry说明了如何访问物理系统和海洋粒子。
A-Frame是具有实体组件系统(entity-component-syste;ECS)架构的3.js框架。A-Frame遵循继承和层次结构原则。A-Frame团队介绍了ECS的优势:
通过混合和匹配可重复使用的部分,在定义对象时将具有更大的灵活性。
消除了具有复杂交织功能的冗长继承链的问题。
通过解耦,封装,模块化,可重用性促进了整洁的设计。
就复杂性而言,这是构建VR应用程序的最具扩展性的方案。
经过验证的3D和VR开发架构。
允许扩展新功能(作为社区组件共享)。
A-Frame由Mozilla VR团队于2015年启动开发,是基于MIT许可的开源软件。值得一提的是,谷歌为Supermedium提供了一定的资助,以帮助开发和维护A-Frame的WebXR支持。另外,谷歌,Oculus和Web社区为这一版本的测试贡献了力量,而开发团队表示未来将继续提供A-Frame的必要更新。