当前位置:网站首页>Introduction to A-frame virtual reality development
Introduction to A-frame virtual reality development
2022-07-04 00:41:00 【Brain in new VAT】
WebVR and WebGL API Has enabled us to start in Web Create virtual reality in browser (VR) Experience , But the community is still waiting for tools and libraries , To make this task easier .
Mozilla Of A-Frame The framework provides a markup language , Allow us to use Web System construction familiar to developers 3D VR scene , The system follows the coding principle of game development ; This is useful for rapid and successful prototyping and demonstration , Without writing a lot JavaScript or GLSL. This article explains how to start and run A-Frame, And how to use it to build a simple demonstration .
1、A-Frame summary
A-Frame The current version of is 0.3.2, This means that it is highly experimental , But it already works , You can test it immediately in the browser . It can be on a desktop 、 Mobile devices (iOS and Android) as well as Oculus Rift、Gear VR and HTC Vive Up operation .
A-Frame Based on the WebGL above , And provides pre built components for use in applications —— Model 、 Video player 、 Sky box 、 Geometry 、 Control 、 Animation 、 Cursor, etc . It is based on entity component system , This is well known in the field of game development , But it's for people who are familiar with markup structures Web Developer , You can use JavaScript To operate . The end result is enabled by default VR Of 3D Web experience .
2、 Environment settings
Let's first set up an environment to use A-Frame Create something . Then we will build a demo and run it . You should start :
- Make sure you use a good WebGL Modern browsers supported ( If available VR Hardware , It supports WebVR), For example, the latest Firefox or Chrome — download Firefox Nightly or Chrome(v54 Or later ).
- ( Optional ) Set up VR equipment , for example Oculus Rift or Google Cardboard.
- Create a new directory to save the project .
- Save the latest in your directory A-Frame JavaScript Copy of library file ( Check GitHub Repository to get the latest stable development version ).
- Open in a separate tab A-Frame file —— It's useful to refer to it .
3、HTML structure
The first step is to create a HTML file —— In your project directory , Create a new index.html file , And save the following HTML:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>MDN Games: A-Frame demo</title>
<script src="aframe.min.js"></script>
</head>
<body>
<!-- HTML goes here -->
</body>
</html>
This contains some basic information , For example, documents charset and
4、 Initialize the scene
The scene is where everything happens . When creating a new object in the demo , We will add them all to the scene to make them visible on the screen . stay A-Frame in , Scene by Scene entity Express .
Be careful : An entity is any element —— It can be like a box 、 Objects such as cylinders or cones , But it can also be a camera 、 Light source or sound source .
<a-scene>
Let's create a scene by adding an element to the element <body>
:
<a-scene>
</a-scene>
5、 Add cube
<a-box>
Add a cube to the scene by adding a simple element inside the element <a-scene>
. Now add it :
<a-box
color="#0095DD"
position="0 1 0"
rotation="20 40 0">
</a-box>
It contains some defined parameters :color and position—rotation These parameters are quite obvious , They define the primary color of the cube 、3D The position in the scene and the rotation of the cube .
Be careful : Distance value ( For example, Cube y Location ) Is unitless , Basically, it can be any value you think is suitable for your scene —— mm 、 rice 、 Feet or miles —— It's up to you .
6、 Add background : Sky box
Skybox is 3D The background of the world , Represented by an element . In our case , We will use simple colors , But it can also be images . Looking around gives people a feeling of being in the open sky 、 Impression of wooden barn —— No matter where you like ! Add the following before the element HTML :
<a-sky color="#DDDDDD"></a-sky>
here , If you save the code and refresh the browser , You can already see the cube with our custom background on the screen :
You can go to github View this code .
Link to the original text :A-Frame VR Introduction to development — BimAnt
边栏推荐
- 2022 Software Test Engineer skill list, please check
- Att & CK actual combat series - red team actual combat - V
- [common error] UART cannot receive data error
- Axure resources and prototype tool Axure RP 9 download
- P1339 [USACO09OCT]Heat Wave G
- Similarities and differences of text similarity between Jaccard and cosine
- From functools import reduce -- see the use of reduce function from typical examples
- A Kuan food rushed to the Shenzhen Stock Exchange: with annual sales of 1.1 billion, Hillhouse and Maotai CCB are shareholders
- Arc 135 supplementary report
- 基于.NetCore开发博客项目 StarBlog - (14) 实现主题切换功能
猜你喜欢
Joint examination of six provinces 2017
NLP Chinese corpus project: large scale Chinese natural language processing corpus
A-Frame虚拟现实开发入门
[PHP basics] cookie basics, application case code and attack and defense
[common error] custom IP instantiation error
How to use AHAS to ensure the stability of Web services?
BBS forum recommendation
It's OK to have hands-on 8 - project construction details 3-jenkins' parametric construction
Future source code view -juc series
Interview script of Software Test Engineer
随机推荐
Sequence list and linked list
OS interrupt mechanism and interrupt handler
What is the future of software testing industry? Listen to the test veterans' answers
MySQL is installed as a Windows Service
What are the application fields of digital twins in industry?
Qtcharts notes (V) scatter diagram qscatterseries
MySQL winter vacation self-study 2022 12 (1)
Global and Chinese markets for instant saliva testing devices 2022-2028: Research Report on technology, participants, trends, market size and share
老姜的特点
Pytest unit test framework: simple and easy to use parameterization and multiple operation modes
[PHP basics] session basic knowledge, application case code and attack and defense
不得不会的Oracle数据库知识点(三)
Beijing invites reporters and media
Release and visualization of related data
[complimentary ppt] kubemeet Chengdu review: make the delivery and management of cloud native applications easier!
[dynamic programming] leetcode 53: maximum subarray sum
Is the securities account opened by Caicai for individuals safe? Is there a routine
基于.NetCore开发博客项目 StarBlog - (14) 实现主题切换功能
Analysis: misunderstanding of choosing WMS warehouse management system
[C language] break and continue in switch statement