1.6.3 • Published 6 years ago

aframe-refraction-system v1.6.3

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

aframe-refraction-system

Version low far distance

Description

The system creates a THREE.cubeCamera, which provides an envMap texture to each registered entity. Uses the THREE.CubeRefractionMapping. The cubeCamera is not attached to the original camera, it just changes position ( explanation in the notes ).

Needs to work almost realtime to look good, still, I didn't experience fps-drops.

Check it out here

Usage

script

attach the script <script src="https://cdn.rawgit.com/gftruj/aframe-refraction-system/eef3e0ee/dist/aframe-refraction-system.min.js"></script>

<a-scene refraction-component="near:1;far:100"> <a-entity refraction-component"></a-entity>

npm:

npm install aframe-refraction-system

set the camera attributes in the system: <a-scene refraction-component="near:1;far:100">, and the texture tickrate in the component: <a-entity refraction-component>

Attributes

PropertyDefaultDescription
near1the near clipping distance
far200The far clipping distance
resolution256Sets the length of the cubeCamera cube's edges
tickrate10How often should the texture be updated

Some visual examples

If You don't want to check out my fiddle:

If the 'far' attribute is low enough, the camera will only catch close objects: low far distance

It does not seem to affect my FPS rate : 59 FPS

Looks amazing with normal maps: basic

Notes:

  • I do realize that "realtime" is the opposite of "good performance". At least this simple project may be of use to someone willing to expand it

  • I do not attach the cubeCamera to the <a-camera>. The cubeCamera scale ( I think its scale, it may be some other issue, making the envMap smaller) gets messed up, so instead of adjusting it I change its position, so the envMap won't look ridiculous. This is a bad idea since its more wasteful then adding one camera to the other, but I'll need to work out the scaling issue.

    I could use the scaling thing to my advantage if I expose it as a variable for people to mess with it.

1.6.3

6 years ago

1.6.1

6 years ago

1.6.0

6 years ago

1.5.0

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.0

7 years ago

1.0.14

7 years ago

1.0.13

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago