All Projects โ†’ hmans โ†’ Three Elements

hmans / Three Elements

Licence: mit
Web Components-powered custom HTML elements for building Three.js-powered games and interactive experiences. ๐ŸŽ‰

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Three Elements

Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: โœญ 445 (+34.44%)
Mutual labels:  webgl, threejs, web-components, custom-elements
Server Components
๐Ÿ”ง A simple, lightweight tool for composable HTML rendering in Node.js, based on web components.
Stars: โœญ 212 (-35.95%)
Mutual labels:  web-components, custom-elements, dom
modulor-html
Missing template engine for Web Components
Stars: โœญ 36 (-89.12%)
Mutual labels:  dom, web-components, custom-elements
element
Fast and simple custom elements.
Stars: โœญ 65 (-80.36%)
Mutual labels:  threejs, web-components, custom-elements
CalDOM
An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.
Stars: โœญ 176 (-46.83%)
Mutual labels:  dom, web-components, custom-elements
lego
๐Ÿš€ Web-components made lightweight & Future-Proof.
Stars: โœญ 69 (-79.15%)
Mutual labels:  dom, web-components, custom-elements
Spoke
Easily create custom 3D environments
Stars: โœญ 321 (-3.02%)
Mutual labels:  webgl, threejs
3dio Js
JavaScript toolkit for interior apps
Stars: โœญ 255 (-22.96%)
Mutual labels:  webgl, threejs
Dino3d
๐Ÿฆ– Google Chrome T-Rex Run! in 3D (WebGL experiment)
Stars: โœญ 263 (-20.54%)
Mutual labels:  webgl, threejs
Cga.js
CGA 3D ่ฎก็ฎ—ๅ‡ ไฝ•็ฎ—ๆณ•ๅบ“ | 3D Compute Geometry Algorithm Library webgl three.js babylon.js็ญ‰ไปปไฝ•ๅบ“้ƒฝๅฏไปฅไฝฟ็”จ
Stars: โœญ 313 (-5.44%)
Mutual labels:  webgl, threejs
svelte-webcomponents
A ready-to-use project template to build custom elements (web components) with Svelte 3 with support and examples for web components, jest, sass, nested components with props, eslinting, stylelinting, Github actions, propagating custom events from shadow-DOM to real-DOM etc.
Stars: โœญ 22 (-93.35%)
Mutual labels:  web-components, custom-elements
Enable3d
๐Ÿ•น๏ธ Standalone 3D Framework / Physics for three.js (using ammo.js) / 3D extension for Phaser 3
Stars: โœญ 271 (-18.13%)
Mutual labels:  webgl, threejs
Livecodelab
a web based livecoding environment
Stars: โœญ 276 (-16.62%)
Mutual labels:  webgl, threejs
React Postprocessing
๐Ÿ“ฌ postprocessing for react-three-fiber
Stars: โœญ 311 (-6.04%)
Mutual labels:  webgl, threejs
anywhere-webcomponents
A UI work in progress based on custom elements (web components) for use in anywhere.
Stars: โœญ 17 (-94.86%)
Mutual labels:  web-components, custom-elements
React Three Editable
๐Ÿ‘€ โœ๏ธ Edit your react-three-fiber scene with a visual editor without giving up control over your code.
Stars: โœญ 261 (-21.15%)
Mutual labels:  webgl, threejs
storify
Instagram/Whatsapp stories clone built on Web Components and Web Animations API. ๐Ÿ”ฅ
Stars: โœญ 64 (-80.66%)
Mutual labels:  web-components, custom-elements
Three Globe
WebGL Globe Data Visualization as a ThreeJS reusable 3D object
Stars: โœญ 270 (-18.43%)
Mutual labels:  webgl, threejs
Glmaps
Data visualization examples and tutorials from scratch. ๆ•ฐๆฎๅฏ่ง†ๅŒ–็คบไพ‹ไปฃ็ ้›†ไธŽๆ–ฐๆ‰‹ๅญฆไน ๆ•™็จ‹ใ€‚
Stars: โœญ 288 (-12.99%)
Mutual labels:  webgl, threejs
Weightless
High-quality web components with a small footprint
Stars: โœญ 284 (-14.2%)
Mutual labels:  web-components, custom-elements

Version Version CI Downloads Bundle Size Discord

 __   __    ๐Ÿ—ป     ๐Ÿ—ป   โ›ฐ
|  |_|  |--.----.-----.-----.          ๐Ÿฆ…                                      ๐ŸŒž
|   _|     |   _|  -__|  -__|
|____|__|__|__| |_____|_____|  ๐Ÿ—ป  ๐ŸŒฒ๐ŸŒณ      __  ๐ŸŒฒ  ๐ŸŒณ                ๐Ÿฆ…
    .-----.|  |.-----.--------.-----.-----.|  |_.-----.
    |  -__||  ||  -__|        |  -__|     ||   _|__ --|
    |_____||__||_____|__|__|__|_____|__|__||____|_____|   ๐ŸŒณ๐ŸŒฒ ๐Ÿก ๐ŸŒฒ   ๐ŸŒฒ๐ŸŒณ  ๐Ÿ„   ๐ŸŒฒ ๐ŸŒฒ๐ŸŒณ     ๐ŸŒณ

three-elements provides Web Components-powered custom HTML elements for building Three.js-powered games and interactive experiences. ๐ŸŽ‰

WARNING: It is early days for this library, so please proceed with caution!

  • Directly exposes all Three.js classes as HTML elements (eg. <three-mesh> for THREE.Mesh!)
  • Elements are fully reactive; if their attributes change, this is immediately reflected in the Three.js scene.
  • Optimized rendering: Frames are only rendered when something has changed in the scene, or if your code explicitly requests it.
  • Input event handling: Your 3D scene automatically handles pointer events (clicks, hover, etc). Just hook into the same HTML DOM events you would use in any other web application (onclick et al.)
  • Use it with any framework that emits or modifies HTML DOM, or no framework at all!
  • Works with any version of Three.js, including your own fork if you have one.
  • Built-in templating support lets you reuse objects or entire scenes across your project without the need for any JavaScript component framework.
<!-- Load three-elements -->
<script type="module" src="https://jspm.dev/three-elements"></script>

<!-- Create a Three.js game with a default camera. -->
<three-game autorender>
  <three-scene background-color="#444">
    <!-- Lights on! -->
    <three-ambient-light intensity="0.2"></three-ambient-light>
    <three-directional-light intensity="0.8" position="10, 10, 50"></three-directional-light>

    <!-- Spinning dodecahedron! -->
    <three-mesh tick="object.rotation.z += dt">
      <three-dodecahedron-buffer-geometry></three-dodecahedron-buffer-geometry>
      <three-mesh-standard-material color="red"></three-mesh-standard-material>
    </three-mesh>
  </three-scene>
</three-game>

DOCUMENTATION

COMMUNITY

CONTRIBUTING

Please get in touch before submitting Pull Requests (ideally, before even implementing them.) At this stage in its development, three-elements still is heavily in flux. If there is something you would like to contribute, please open an issue and describe your suggestion.

If you want to do some hacking, just run yarn dev, which will compile the package in watch mode and spawn a server on localhost:5000 that serves the contents of the examples/ directory.

THANKS

  • Three.js for being the 3D library for the web.
  • A-Frame for introducing Web Components-powered easy to use 3D and VR.
  • react-three-fiber for its smart approach of mirroring THREE.* classes 1:1 instead of building a library of custom components.
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].