Home

Awesome

A-Frame Rain component

aframe-rain is Rainfall effect component for A-Frame which displays a lot of rain drop/splash objects by using instancing technique with good performance.

screenshot

Closer rain drop height is shorter and further rain drop is more transparent, implemented similar to Fog effect technique.

Demo

Demo

Properties

aframe-rain

PropertiestypeDefault ValueDescription
colorcolor'#ddf'Rain drop/splash color
countint5000The number of drops/splashes
depthDensitynumber0.05Depth density which affects rain drop height/opacity. The name is from Fog density
dropHeightnumber1.0Rain drop height
dropRadiusnumber0.005Rain drop radius
heightnumber30.0How high rain drops fall from
opacitynumber0.4Rain drop/splash opacity
splashbooleantrueIf displays rain splash on ground
splashBouncenumber4.0Rain splash bound strongness
splashGravitynumber9.8 * 4.0Rain splash gravity
vectorvec3'0, -40.0 0'Rain drop vector. y must be < 0.0
widthnumber30.0Area where rain drop/sphash effect

Browser

How to use

To apply Rain effect in a scene, add rain attribute in <a-scene> like <a-scene rain>.

<head>
  <script src="https://cdn.rawgit.com/aframevr/aframe/v0.4.0/dist/aframe-master.min.js"></script>
  <script src="https://rawgit.com/takahirox/aframe-rain/master/build/aframe-rain.min.js"></script>
</head>

<body>
  <a-scene rain>
    <a-entity position="0 0 10">
      <a-camera></a-camera>
    </a-entity>

    <a-entity geometry="primitive:sphere"></a-entity>

    <a-sky color="#222"></a-sky>

    <a-entity light="type:directional;color:#666" position="-10 -10 -10"></a-entity>
  </a-scene>
</body>

NPM

How to install

$ npm install aframe-rain

How to build

$ npm install
$ npm run all

How to load

require('aframe');
require('aframe-rain');