详细的 Three.js 3D 图形参考,涵盖场景设置、相机、几何体、材质、光照、动画、控制器、加载器、数学工具和调试。
三.js 3DQQ快速启动是一项面向实际任务的技能,主要用于Object3D (每件事都扩展了此内容).;Color.;
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
import * as THREE from 'three';
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, innerWidth/innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize(innerWidth, innerHeight);
document.body.appendChild(renderer.domElement);
scene.add(new THREE.Mesh(
new THREE.BoxGeometry(1,1,1),
new THREE.MeshStandardMaterial({color: 0x44aa88})
));
scene.add(new THREE.DirectionalLight(0xffffff, 3));
scene.add(new THREE.AmbientLight(0x404040, 0.5));
camera.position.z = 5;
function animate() { requestAnimationFrame(animate); renderer.render(scene, camera); }
animate();
npm install three
import * as THREE from 'three';
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
obj.position.set(x,y,z); obj.rotation.set(x,y,z); obj.scale.set(x,y,z); // 欧拉角,单位为弧度 obj.quaternion.set(x,y,z,w); // 无万向节锁问题 obj.lookAt(target); // -Z 轴朝向 target,+Y 轴为上方向 parent.add(child); parent.remove(child); parent.attach(child); // 重设父级,不改变视觉位置 obj.getWorldPosition(v); obj.localToWorld(v); obj.worldToLocal(v);
new THREE.Color(0xff0000); new THREE.Color('#ff0000'); new THREE.Color(1,0,0);
color.setHSL(hue, saturation, lightness); // 取值范围:0–1
geometry.dispose(); material.dispose(); texture.dispose(); renderTarget.dispose();
请根据当前任务查阅对应文件——每份文档均简洁明了、聚焦特定领域:
| 文件 | 主题 |
|---|---|
| getting-started.md | 响应式设计、多画布渲染、按需渲染、雾效、资源释放 |
| cameras.md | PerspectiveCamera、OrthographicCamera、CubeCamera 及常见陷阱 |
| geometries.md | 所有内置几何体、BufferGeometry、几何体合并、顶点颜色 |
| materials.md | 材质选型指南、属性详解、透明度修复方法、ShaderMaterial |
| lights.md | 光源类型、三点布光法、环境贴图、天空盒 |
| objects.md | Object3D API、Mesh、InstancedMesh、SkinnedMesh、LOD、场景图结构 |
| textures.md | 纹理属性、类型、色彩空间、KTX2 格式、内存管理 |
| loaders.md | GLTF/OBJ/FBX 加载、Draco 压缩、KTX2、加载管理器、常见问题 |
| animation.md | AnimationMixer / Action、骨骼动画、形变目标(morph targets)、交叉淡入淡出(crossfading) |
| controls.md | OrbitControls、TransformControls、HTML 标签、精灵(sprites)与立面(facades) |
| math.md | Vector / Matrix / Quat / Color / Raycaster 的使用模式及常见陷阱 |
| renderers.md | WebGL / WebGPU 初始化配置、后处理、阴影、渲染目标(render targets)、GPU 拾取(GPU picking) |
| nodes.md | TSL 节点材质、计算着色器(compute shaders) |
| helpers.md | 调试辅助工具、场景图导出、GLSL 调试技巧、lil-gui 使用模式 |
相关专题
热门下载
相关下载
精品课程
共39课时 | 5.3万人学习
共101课时 | 20.5万人学习
共39课时 | 4.7万人学习