018-场景遍历和世界坐标系

该系类文章主要用于记录学习three.js的过程,包括做的一些demo,笔记,以及个人思考;主要学习的课程是 神光的小册《three.js通关秘籍》,感兴趣的可以购买学习,质量还是可以的

坐标系

坐标系的分类的详细解释

坐标系一般分为世界坐标系局部坐标系 ,还有group坐标系

局部坐标系:就是某个物体相对所在group中的坐标

自身坐标系:就是某个物体自身的坐标

世界坐标系:全局坐标系就是把局部坐标系与group坐标系进行合并,所得到的坐标系

坐标系的操作方法

  • 如何获取坐标
ini 复制代码
# 获取全局坐标
const pos = new THREE.Vector3();
mesh.getWorldPosition(pos);
#  获取group坐标
console.log(group.position);
# 获取局部坐标(自身坐标)
console.log(mesh.position);

遍历场景

通常情况下,我们的场景非常的复杂,可能包括很多的分组,分组里面又包含了很多物体,很多时候我们需要获取某一个物体,然后再进行操作,那么如何获取呢?

遍历场景这棵树结构

ini 复制代码
scene.traverse((obj) => {
    if(obj.isMesh) {
        obj.material.color = new THREE.Color('pink');
    }
});

找到某个物体

ini 复制代码
# 通过取名字获取
# 给mesh设置名字
mesh.name = 'abc';
mesh.name = 'eeee';
# 通过名字获取(当然也可以用 id  来获取,设置的时候也用id)
const target1 = scene.getObjectByName('abc');
const target2 = scene.getObjectById('eeee');
相关推荐
三十_5 小时前
TypeORM 多对多关联篇:中间表、JoinTable 与复杂关系的建模
前端·后端
用户6883362059705 小时前
移动端 Web 性能调优:viewport、dvh 与触控优化解析
前端
前端付豪5 小时前
项目启动:搭建Vue 3工程化项目
前端·javascript·vue.js
Asort5 小时前
JavaScript设计模式(二十)——状态模式 (State):复杂状态管理的优雅解决方案
前端·javascript·设计模式
im_AMBER6 小时前
React 07
前端·笔记·学习·react.js·前端框架
Giant1006 小时前
Node.js .env 配置指南:安全管理项目秘钥与多环境适配
前端
沢田纲吉6 小时前
《LLVM IR 学习手记(七):逻辑运算与位运算的实现与解析》
前端·c++·编译器
秋田君6 小时前
3D热力图封装组件:Vue + Three.js 实现3D图表详解
javascript·vue.js·3d·three.js·热力图
golang学习记6 小时前
从0死磕全栈之Next.js 重定向全指南:从基础跳转到大规模路由迁移
前端
Mapmost6 小时前
Mapmost地图引擎丨测绘资质“合规门票”
前端