在Three.js中,一个场景确实可以包含多个相机。你可以创建多个THREE.Camera对象,并在渲染循环中选择性地使用它们。每个相机可以有不同的视角、焦距和其他参数,允许你从不同的视点渲染场景。这在创建分屏视图或者在同一场景中需要从多个角度观察时非常有用。
例如,你可以创建一...
yekong
10个月前 (02-22)
喜欢
threejs项目开发过程中,我们在渲染完模型后,需要在模型的特定位置添加文字标注。
首先我们需要处理模型,在特定的模型上添加网格模型,然后根据网格模型的名称进行定位。
这里我们用机房模型,使用blender在模型的特定坐标添加一个网格模型,名称设置为标注。
模型上添加特定名称的...
yekong
10个月前 (02-22)
喜欢
要求
项目要求,在3d模型中显示标注,并且可以点击标注进行弹窗。
实现
threejs 给3d模型添加标注,首先需要让建模师在模型中添加网格模型并按照指定要求命名,然后请求接口,获取名称,查询模型名称获取坐标,并渲染在指定位置。
代码
主组件
<template>
...
yekong
11个月前 (01-31)
喜欢
使用threejs 实现波动光圈效果
演示效果
演示效果
引入图片资源
var material = new THREE.MeshBasicMaterial({
color: 0x00ffff,//设置光圈颜色
map: textureLoader.load('asse...
yekong
12个月前 (01-10)
喜欢
dat.gui.js说白了就是一个前端js库,对HTML、CSS和JavaScript进行了封裝,学习开发的 时候,借助dat.gui.js可以快速创建控制三维场景的U交互界面,你打开课件中案例源码体验一下就能感受到。
学习dat.guijs也不仅仅是为了学习dat.gui.js...
yekong
1年前 (2023-10-06)
喜欢
平时开发调试代码,或者展示模型的时候,可以通过相机控件OrbitControls实现旋转缩放预览效果。
three版本
"three": "^0.154.0",
效果截图
演示地址
threejs添加轨道控制器
OrbitControl...
yekong
1年前 (2023-10-02)
喜欢
three项目开发中会集成gui插件用来做一些交互,因为项目需要多次初始化,导致gui也重复初始化出现了多个gui插件,这时候我们需要销毁旧的避免出现多个gui界面。
旧代码
import {GUI} from 'three/examples/jsm/libs/lil-gui.m...
yekong
1年前 (2023-09-16)
喜欢
node:url 是 Node.js 核心模块之一,提供了一些实用工具来处理和解析 URL。以下是 url 模块的一些主要功能和方法:
url.parse(urlString[, parseQueryString[, slashesDenoteHost]]):
将 URL ...
yekong
1年前 (2023-09-11)
喜欢
Draco 是一个开源库,它的主要目的是为了压缩和解压缩三维(3D)几何图形。随着虚拟现实(VR)和增强现实(AR)的兴起,3D 内容变得越来越普遍,因此有一个有效的方式来传输和加载这些内容就变得尤为重要。
以下是 Draco 的一些主要特点和介绍:
高效的压缩技巧:Drac...
yekong
1年前 (2023-09-11)
喜欢
在Three.js的版本154中,你可能遇到找不到ParticleBasicMaterial的问题,因为这个特定的材料已经被移除。
如果你想创建粒子效果,你可以改用PointsMaterial与Points对象来实现。以下是一个例子:
import * as THREE from...
yekong
1年前 (2023-08-21)
喜欢