threejs学习笔记

本文详细介绍了如何在Vue项目中引入Three.js库,展示了基本几何体创建、材质处理、光照效果、相机设置、以及使用OrbitControls和GUI进行交互的示例代码,包括顶点、法线和性能优化等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.vue中引入threejs

npm install three --save
// 引入three.js
import * as THREE from 'three';

2.基本几何体创建,不同材质,不同光源,相机,GUI创建,法向量,自定义顶点等示例代码

<template>
  <main class="gl-main">
    <div id="webgl"></div>
  </main>
</template>
<script setup lang="ts">
import { nextTick } from 'vue'
// 引入three.js
import * as THREE from 'three'
// 引入轨道控制器扩展库OrbitControls.js
import { OrbitControls } from 'three/addons/controls/OrbitControls.js'
//引入性能监视器stats.js
import Stats from 'three/addons/libs/stats.module.js'
// 引入dat.gui.js的一个类GUI
import { GUI } from 'three/addons/libs/lil-gui.module.min.js'

// 创建场景
const scene = new THREE.Scene()
//创建一个几何对象Geometry
const geometry = new THREE.BoxGeometry(50, 50, 50)
//创建一个材质对象Material,MeshBasicMaterial:基础材质不受光照影响
// const material = new THREE.MeshBasicMaterial({
//   color: 0xff0000, //0xff0000设置材质颜色为红色
//   transparent: true, // 开启透明
//   opacity: 0.5 //设置透明度
// })

// MeshLambertMaterial:漫反射材质受光照影响
const material = new THREE.MeshLambertMaterial({
  color: 0xce21bc
  // wireframe: true //线条模式渲染mesh对应的三角形数据
})
// 两个参数分别为几何体geometry、材质material
const mesh = new THREE.Mesh(geometry, material) //网格模型对象Mesh
//设置网格模型在三维空间中的位置坐标,默认是坐标原点
mesh.po
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大兵的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值