All Projects → bryik → aframe-cubemap-component

bryik / aframe-cubemap-component

Licence: MIT License
A component for creating a skybox with a cubemap in A-Frame.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to aframe-cubemap-component

Aframe School
🎒 Interactive workshop and lessons for learning A-Frame and WebVR.
Stars: ✭ 84 (+37.7%)
Mutual labels:  webvr, aframe
aframe-registry
[DISCONTINUED] Curated collection of community A-Frame components.
Stars: ✭ 76 (+24.59%)
Mutual labels:  webvr, aframe
Awesome Aframe
[DISCONTINUED] Collection of awesome resources for the A-Frame WebVR framework.
Stars: ✭ 1,310 (+2047.54%)
Mutual labels:  webvr, aframe
Mathworldvr
Math world in WebVR, powered by A-frame.
Stars: ✭ 73 (+19.67%)
Mutual labels:  webvr, aframe
lvr
👓 Augmented Reality for everyone - Out of the world experiences
Stars: ✭ 92 (+50.82%)
Mutual labels:  webvr, aframe
A Mmd
A-Frame MMD component
Stars: ✭ 74 (+21.31%)
Mutual labels:  webvr, aframe
Aframe Particle System Component
Particle systems for A-Frame.
Stars: ✭ 156 (+155.74%)
Mutual labels:  webvr, aframe
Webxr Webpack Boilerplate
Starter Kit for building rich, immersive WebXR projects (featuring A-Frame) PWA with Webpack and SASS
Stars: ✭ 48 (-21.31%)
Mutual labels:  webvr, aframe
a-blast
💥 Save the World From the Cutest Creatures in the Universe!
Stars: ✭ 116 (+90.16%)
Mutual labels:  webvr, aframe
Aframe
🅰️ web framework for building virtual reality experiences.
Stars: ✭ 13,428 (+21913.11%)
Mutual labels:  webvr, aframe
Aframe Vimeo Component
Stream Vimeo videos into WebVR.
Stars: ✭ 62 (+1.64%)
Mutual labels:  webvr, aframe
aframe-speech-controls-component
alternative form of inputs for in-VR interaction with the content of a scene
Stars: ✭ 13 (-78.69%)
Mutual labels:  webvr, aframe
Superframe
📦 A super collection of A-Frame components.
Stars: ✭ 1,061 (+1639.34%)
Mutual labels:  webvr, aframe
Aframe React
:atom: Build virtual reality experiences with A-Frame and React.
Stars: ✭ 1,199 (+1865.57%)
Mutual labels:  webvr, aframe
Hubs
Duck-themed multi-user virtual spaces in WebVR. Built with A-Frame.
Stars: ✭ 1,059 (+1636.07%)
Mutual labels:  webvr, aframe
Thehallaframe
WebVR demo that displays art
Stars: ✭ 120 (+96.72%)
Mutual labels:  webvr, aframe
Aframe Persist Component
Persisting Aframe attribute data using localStorage
Stars: ✭ 10 (-83.61%)
Mutual labels:  webvr, aframe
Aframe Camera Transform Controls Component
Camera transform controls component for A-Frame
Stars: ✭ 47 (-22.95%)
Mutual labels:  webvr, aframe
Aframe Effects
A VR Ready Post processing framework for Three.js and/or A-Frame
Stars: ✭ 176 (+188.52%)
Mutual labels:  webvr, aframe
aframe-react
React library for A-frame
Stars: ✭ 58 (-4.92%)
Mutual labels:  webvr, aframe

aframe-cubemap-component

An A-Frame component for creating a skybox from a cubemap.

Properties

Property Description Default Value
folder Path to the folder holding your cubemap or a selector none
edgeLength Controls the dimensions of the skybox 5000
ext The image extension jpg

By default, the height, width, and depth of the skybox are set to 5000. In other words, the dimensions of the skybox are 5000x5000x5000.

Note: folder can also be an ID to an <a-cubemap> asset. See ./examples/tests/a-assets/.

Events

Name Description
cubemapLoaded Emitted when a texture has finished loading

Usage

Attach the component to an entity using the path to the folder holding your cubemap as the attribute.

<a-entity cubemap="folder: /assets/Yokohama3/"></a-entity>

Inside the folder, the component assumes the following naming scheme:

// prettier-ignore
const urls = [
  'posx.jpg', 'negx.jpg',
  'posy.jpg', 'negy.jpg',
  'posz.jpg', 'negz.jpg'
];

This is the scheme used by Three.js's CubeTexture. If your cubemap images do not follow this scheme, you will need to rename them (or fork this repo and alter the above in index.js).

The Yokohama cubemap texture is the work of Emil Persson, aka Humus. Check out his website, it is a good source for cubemap textures. IIRC, I got the milky way texture from uschi0815 on the Kerbal Space Program forum.

To modify the size of the resulting skybox, use the edgeLength property.

<a-entity cubemap="folder: /assets/Yokohama3/; edgeLength: 1000"></a-entity>

Browser Installation

Install and use by directly including the browser files:

<head>
  <title>My A-Frame Scene</title>
  <script src="https://aframe.io/releases/1.0.4/aframe.min.js"></script>
  <script src="https://unpkg.com/[email protected]/dist/aframe-cubemap-component.min.js"></script>
</head>

<body>
  <a-scene>
    <a-entity cubemap="folder: /assets/Yokohama3/"></a-entity>
  </a-scene>
</body>

FAQ

Can this component display stereoscopic cubemaps?

No. However, it's not too difficult to achieve this with a little bit of JavaScript. The trick is to split a stereo cubemap into two separate cubemaps, one for each eye, and render them with separate entities. Then use JS to fetch each entity's object3D and set the left to layer 1 and the right to layer 2. Here is an example.

Local Development

Clone the repo and cd into it

git clone [email protected]:bryik/aframe-cubemap-component.git
cd aframe-cubemap-component

Install dependencies:

npm i

To run the examples locally:

npm run dev

This should start a live reloading local dev server. To stop the server, hit CONTROL-C.

To generate a minified bundle: npm run dist.

Contributing

PRs are welcome. Opening an issue to discuss large changes beforehand is a good idea.

For more information, take a look at A-Frame's contributing guide, specifically the steps for contributing code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].