trois-fresh

<!-- * @Description: * @Version: 1.668 * @Autor: Hawk * @Date: 2023-09-19 09:33:22 * @LastEditors: Hawk * @LastEditTime: 2023-09-19 11:53:47 --> # ✨ ThreeJS + VueJS 3 + ViteJS ⚡ 首先感谢 https://github.com/troisjs/trois 更新了依赖的一些库,包括threeJS:0.156.1、simp

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
trois-fresh
0.4.08 months ago8 months agoMinified + gzip package size for trois-fresh in KB

Readme

✨ ThreeJS + VueJS 3 + ViteJS ⚡
首先感谢 https://github.com/troisjs/trois 更新了依赖的一些库,包括threeJS:0.156.1、simplex-noise:4.0.1等 因为演示:troisjs.github.io 代码编译也有些问题
也增加了演示版: http://icegl.cn:9000
处于原版npm库已经不更新,故修改了名称
!NPM Packagenpmnpm-url !Build Sizebuild-sizebuild-size-url !NPM Downloadsnpm-downloadsnpmtrends-url

点击图片查看演示


  • 💻 Examples (wip) : https://troisjs.github.io/ (sources)
  • 📖 Doc (wip) : https://troisjs.github.io/guide/ (repo)
  • 🚀 Codepen examples : https://codepen.io/collection/AxoWoz

I wanted to code something similar to react-three-fiber but for VueJS.
I started from scratch, I will rewrite some of my WebGL demos to see if this little toy can do the job.
Feel free to contact me if you need a ThreeJS developer ^^
Trois is a french word, it means Three.

Usage (CDN)

TroisJS is really simple and easy to use :
<div id="app">
  <renderer ref="renderer" antialias orbit-ctrl resize="window">
    <camera :position="{ z: 10 }"></camera>
    <scene>
      <point-light :position="{ y: 50, z: 50 }"></point-light>
      <box ref="box" :rotation="{ y: Math.PI / 4, z: Math.PI / 4 }">
        <lambert-material></lambert-material>
      </box>
    </scene>
  </renderer>
</div>

<script type="module">
  import { createApp } from 'https://unpkg.com/troisjs@0.3.2/build/trois-fresh.module.cdn.min.js';
  createApp({
    mounted() {
      const renderer = this.$refs.renderer;
      const box = this.$refs.box.mesh;
      renderer.onBeforeRender(() => {
        box.rotation.x += 0.01;
      });
    }
  }).mount('#app');
</script>

Read more on https://troisjs.github.io/guide/