three 渲染场景 基础配置

初始化场景

cosnt  scene = new THREE.Scene()

创建相机

cosnt camera = new THREE.PerspectiveCamera(75,window.innerWidht/window.innerHeight,0.1,1000)
//括号中的  (角度,宽高比,近端,远端)

camera.position.set(0,0,10)
// 设置相机位置 (x,y,z)

scene.add(camera)
//相机添加到场景中

添加物体

创建几何体

const cubeGeometry = new THREE.BoxGeometry(1,1,1)   //几何体
const cubeMaterial = new THREE.MeshBasicMaterial({color:0xffff00})  // 材质

// 根据几何体和材质 创建物体
const cube = new THREE.Mesh(cubeGeometry,cubeMaterial)

scene.add(cube)  //物体添加到场景中



初始化渲染器

const renderer = new THREE.WebGLRenderer()   //初始化渲染器
renderer.setSize(window.innerWidht,window.innerHeight)  //设置渲染的尺寸大小
document.body.appendChild(renderer.domElement)  //将webgl 渲染的canvas内容添加到body


导入轨道控制器

import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"

创建轨道控制器

const controls = new OrbitControls(camera,renderer.domElement)   // 传入参数 相机 和渲染器的cavas

添加辅助坐标轴

const axesHelper = new THREE.AxesHelper(5)
scene.add(axesHelper)

设置渲染函数

function render(){
  renderer.render(scene,camera)  //  使用渲染器,通过相机将场景渲染进来
  requestAnimationFrame(render)   // 下一帧渲染的时候调用render函数
}

render()

适配页面的变化

// 监听画面变化 更新渲染画面
window.addEventListener("resize",()=>{
   // 更新摄像头
   camera.aspect = window.innerWidth / window.innerHeight
   // 更新摄像机的投影矩阵
   camera.updateProjectionMatrix()
   // 更新渲染器
   renderer.setSize(window.innerWidth,window.innerHeight)
   // 设置渲染器的像素比
   renderer.setPixelRatio(window.devicePixelRatio)
})



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值