Skip to content

Commit

Permalink
Environment: Adds oceans and fog/dust
Browse files Browse the repository at this point in the history
  • Loading branch information
DougReeder committed Aug 13, 2024
1 parent a13c2c1 commit 39f45b3
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 8 deletions.
2 changes: 1 addition & 1 deletion en/pages/component-directory.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ If you find something that isn't here add it! If you build something, add it! Ol
| viewpoint-renderer | On-screen rotating cube to use to pick a viewpoint on a 3D scene | [Repo](https://github.com/diarmidmackenzie/aframe-multi-camera#viewpoint-selector) | [Example](https://diarmidmackenzie.github.io/aframe-multi-camera/examples/viewpoint-selector-basic.html) | Actively maintained | 1.3.0 | |
| vr-super-stats | Rendering performance stats, visible while in VR | [Repo](https://github.com/kylebakerio/vr-super-stats) | https://vr-super-stats.glitch.me/| Unknown| 1.3.0 | fps-counter|
| water | High quality (but GPU intensive) ocean water component. | [Repo](https://github.com/Dante83/a-water) | [Example](https://code-panda.com/pages/projects/a_ocean/v_0_1_0) | Maintained| 1.3.0| ocean |
| water | gpu-cheap water, cell-shaded effect | [Repo](https://github.com/kylebakerio/ada-water) | [Example](https://ada-water.glitch.me/) | Maintained | 1.3.0 | water, ocean |
| ada-water | gpu-cheap water, cell-shaded effect | [Repo](https://github.com/kylebakerio/ada-water) | [Example](https://ada-water.glitch.me/) | Maintained | 1.3.0 | water, ocean |
| web2vr | GUI and display lib, use html & css | [Repo](https://github.com/kikoano/web2vr) | [Example](https://glitch.com/edit/#!/web2vr-demo?path=index.html%3A5%3A47) | Unknown| 1.3.0| htmlembed, htmlmesh, websurfaces |
| web-portals | create portals to other websites | [Repo](https://github.com/ryota-mitarai/aframe-web-portals) | [Example](https://codesandbox.io/s/aframe-web-portals-example-27guc) | Unknown| 1.2.0 | portals |
| websurfaces | interactive canvas rendering of an iframe based on CSS3DRenderer, doesn't work in VR | [Repo](https://github.com/ryota-mitarai/aframe-websurfaces) | [Example](https://codesandbox.io/s/aframe-websurfaces-example-l44vc?file=/index.html) | Unknown | 1.2.0 | htmlembed, htmlmesh, web2vr |
Expand Down
87 changes: 80 additions & 7 deletions en/pages/environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Source: https://github.com/supermedium/aframe-environment-component
This is a classic from the early days that gives a wide range of vibes with a lot of tweakable params. Most quick demos you see rely on this package. High performance, and extremely easy to integrate. Two lines of HTML, and you have a stage. Developed by core contributors at supermedium.
## aframe-enviropacks
Source: https://www.npmjs.com/package/aframe-enviropacks
A more recent contribution featuring more attrative textures. Haven't worked with it yet, but a lot less 'basic' looking than the OG.
A more recent contribution featuring more attractive textures. Haven't worked with it yet, but a lot less 'basic' looking than the OG.
# Sky
Most projects will want some kind of sky.
## Full Sky System
Expand All @@ -24,17 +24,90 @@ Based on the sun-sky shader, as well as code pulled and integrated from the afra
[variation](https://github.com/aframevr/aframe/blob/b164623dfa0d2548158f4b7da06157497cd4ea29/examples/test/shaders/shaders/sky.js) in the aframe repository's examples that may be an updated version. This version seems to be identical to that used in the aframe-environment-component as well.
[example](https://supermedium.com/superframe/components/sun-sky/)
Classic project with beautiful visuals and high performance. Canonical examples are using older versions of A-Frame, but there are no real compatibility issues with newer versions. The animated example is currently incompatible with modern a-frame, which led to the development of a-super-sky; note that this sky shader lives on in the aframe-environment-component
## just sky
## Just sky
### background
[documentation](https://aframe.io/docs/1.6.0/components/background.html)
Sets a basic color background.

### a-sky
[documentation](https://aframe.io/docs/1.6.0/primitives/a-sky.html)  
A large sphere with a background color or equirectangular 360° image.

### simple-sun-sky
[source](https://github.com/DougReeder/aframe-simple-sun-sky)
[example](https://dougreeder.github.io/aframe-simple-sun-sky/example.html)
Lightweight, simple gradient + sun.
## just stars
[source](https://github.com/DougReeder/aframe-simple-sun-sky)  
[example](https://dougreeder.github.io/aframe-simple-sun-sky/example.html)  
Lightweight, simple gradient + sun. Includes directional light source.

### a-sky-background
[source](https://github.com/mrxz/fern-aframe-components/tree/main/sky-background)  
[npm](https://www.npmjs.com/package/@fern-solutions/aframe-sky-background)  
[example](https://aframe-components.fern.solutions/sky-background/)  
A gradient or an equirectangular skybox that renders a fullscreen triangle covering the far plane.

## Just stars
### aframe-star-system-component
[source](https://github.com/handeyeco/aframe-star-system-component)
Works for pre A-Frame 1.2.0. To get the same effect > 1.2.0, see the example of stars used in `a-super-sky` or `aframe-environment-component`.

# Terrain
## Land
### Mountain
[source](https://github.com/supermedium/superframe/tree/master/components/mountain/)  
[npm](https://www.npmjs.com/package/aframe-mountain-component)  
Uses Perlin noise to create a height map, create a shaded texture from that height map using a `<canvas>`, and using the height map to create vertices on a BufferGeometry.

### a-atoll-terrain
[source](https://github.com/DougReeder/aframe-atoll-terrain) &nbsp;
[npm](https://www.npmjs.com/package/aframe-atoll-terrain) &nbsp;
[example](https://dougreeder.github.io/aframe-atoll-terrain/example.html) — reload to see variations.

A circle of high-resolution Perlin noise terrain near the origin, surrounded by a low-resolution sea or plain that stretches to the horizon.
Optionally, the high-resolution area can include a central plateau or sea.
Hillsides opposite the sun are in shadow.

## Water
### a-ocean
[source](https://github.com/c-frame/aframe-extras/tree/master/src/primitives) &nbsp;

### ada-water
[source](https://github.com/kylebakerio/ada-water) &nbsp;
[Example](https://ada-water.glitch.me/) &nbsp;
[original article](https://medium.com/samsung-internet-dev/generating-a-water-effect-part-1-svg-and-canvas-2ad07060cc0d) &nbsp;
A very cheap large ocean based on the shader tutorial by Ada Rose.

### a-water
[source](https://github.com/Dante83/a-water) &nbsp;
[example](https://code-panda.com/pages/projects/a_ocean/v_0_1_0) &nbsp;
An infinite procedural ocean with animated rolling waves. Requires a powerful GPU.

# Buildings
### aframe-shader-buildings
[source](https://github.com/DougReeder/aframe-shader-buildings)
Add a city's worth full of low-poly buildings, cheap!
Now supports textures, and updated for compatibility with A-Frame 1.4.0.
Now supports textures and box texture for windows, and updated for compatibility with A-Frame 1.6.0.

# Fog / Dust / Rain
### fog
[documentation](https://aframe.io/docs/1.6.0/components/fog.html) &nbsp;
The built-in fog component.

### fix-fog
[source](https://github.com/mrxz/fern-aframe-components/tree/main/fix-fog) &nbsp;
[example](https://aframe-components.fern.solutions/fix-fog/) &nbsp;
Improves the fog effect in VR, most noticeably in case of dense fog.

### a-dust
[source](https://github.com/DougReeder/aframe-dust-component) &nbsp;
[npm](https://www.npmjs.com/package/aframe-dust-component) &nbsp;
[example](https://dougreeder.github.io/aframe-dust-component/example.html) &nbsp;
Provides visual feedback on the user's motion, which is useful when flying or moving in unearthly spaces.
Also adds atmosphere — pink fairy lights for a paradise, black ash for a hellscape.

### particle-system rain preset
[source](https://github.com/c-frame/aframe-particle-system-component) &nbsp;
[example](https://c-frame.github.io/aframe-particle-system-component/examples/rain/) &nbsp;

# Environmental sound
### sound
[documentation](https://aframe.io/docs/1.6.0/components/sound.html) &nbsp;
See [the FAQ](https://aframe.io/docs/1.6.0/introduction/faq.html#where-can-i-find-assets) to find sources for environmental sound.

0 comments on commit 39f45b3

Please sign in to comment.