three.js Gltf模型转换为three.points点云模型

three.js Gltf模型转换为three.points点云模型

背景需求

  1. 对gltf格式的点云模型进行测距,调用three.js提供的raycaster射线无法穿透选中;
  2. 通过官网示例发现有相应实现点云点捕捉的代码,其格式为three.Points,因而存在需求将gltf点云模型转换成three.points模型;

代码实现

import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";

const loader = new GLTFLoader();

loader.load(gltfurl, 
	(gltf) => {
        let mesh = gltf.scene;
        
        // 获取几何体和材质
        const geometry = gltf.scene.children[0].geometry;
        const material = gltf.scene.children[0].material;

        // 创建three.points对象
        const particles = new THREE.Points(geometry, material);

        // 设置中心点,方便点云数据切片多次加载,看需要添加
        particles.position.x = x;
        particles.position.y = y;
        particles.position.z = z;

        this.scene.add(particles); // 将模型引入three
    },
    undefined,
    function (error) {
    	console.error(error);
	}
);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值