自学three.js

104 阅读1分钟

最近在学习three.js,为自己记录一下以防忘记

1.模块化方式引入three.js,引入的是three.module.js

  <script type="importmap">
          {
            "imports": {
              "three": "../build/three.module.js"
            }
          }
    </script>
    

2.手写一个红色方块

<script type="module">
      import * as THREE from "three";
      console.log(THREE.Scene);
      //场景设置
      const scene = new THREE.Scene();
      //创建方块的长,宽,高
      const geometry = new THREE.BoxGeometry(50, 50, 50);
      //方块的材质
      const material = new THREE.MeshBasicMaterial({
        color: 0xff0000,
      });
      //形成方块
      const mesh = new THREE.Mesh(geometry, material);
      //设置方块的位置
      mesh.position.set(0, 10, 0);
      //把方块添加到场景中
      scene.add(mesh);
      //设置画布的大小
      const width = 800;
      const height = 500;
      //相机设置
      const camera = new THREE.PerspectiveCamera(30, width / height, 1, 3000);
      //相机位置
      camera.position.set(200, 200, 200);
      //相机往指向的方向拍照
      camera.lookAt(0, 0, 0);
      //渲染器设置
      const renderer = new THREE.WebGLRenderer();
      renderer.setSize(width, height);
      renderer.render(scene, camera);
      //添加dom元素
      document.body.appendChild(renderer.domElement);
</script>

3.打开网页就完成一个红色立体方块的渲染