three.js - Basic scene

2023-08-20  本文已影响0人  闪电西兰花
// main.js 

  // 导入three.js
  import * as THREE from 'three'

  /**
   * 1. 创建场景
  **/
  const scene = new THREE.Scene()

  /**
   * 2. 创建透视相机(近大远小,相机只渲染场景内的东西)
  **/
  const camera = new THREE.PerspectiveCamera(
    45, // 视角
    window.innerWidth / window.innerHeight, // 视椎体长宽比
    0.1, // 近端面
    1000 // 远端面
  )
  camera.position.z = 6 // 相机在z轴的位置

  /**
   * 3. 创建渲染器
  **/
  const renderer = new THREE.WebGLRenderer()
  renderer.setSize(window.innerWidth, window.innerHeight)
  document.body.appendChild(renderer.domElement) // 在body上添加渲染器,domElement指向canvas

  /*
    * 4. 创建几何体
  */
  const geometry = new THREE.BoxGeometry(1, 1, 1) // 几何体
  const material = new THREE.MeshBasicMaterial({ // 几何体材质
    color: 0x00ff00
  })
  const cube = new THREE.Mesh(geometry, material) // 网格
  scene.add(cube)

  /*
    * 5. 渲染
  */
  function animate () {
    requestAnimationFrame(animate)
    cube.rotation.x += 0.01
    cube.rotation.y += 0.01
    renderer.render(scene, camera)
  }
  animate()
上一篇 下一篇

猜你喜欢

热点阅读