如何对模型添加事件?

来源:4-1 AR mark和camera1

慕圣513290

2020-12-07 15:55

请问老师,如何对模型添加事件?比如点击模型,或者对模型进行拖拽等,谢谢老师

写回答 关注

1回答

  • 慕少2412895
    2020-12-08 15:22:56

    原理:一般使用射线new THREE.Raycaster()拾取几何对象, 根据鼠标屏幕坐标转化为threejs三维坐标去锁定模型最后在编写你要做的操作。

    相关方法使用去官网找文档

    给你个大致例子吧

    var raycaster = new THREE.Raycaster();   

    var mouse = new THREE.Vector2();

    window.addEventListener( 'click', ()=>{

    // 通过鼠标点的位置和当前相机的矩阵计算出raycaster

    let ray = raycaster.setFromCamera(args)

    // 获取raycaster直线和所有模型相交的数组集合

    let tar =  ray.intersectObjects(args)[0]

    //你要进行的操作

    ...

    }, false )


    重点来了

    官网文档地址:https://threejs.org/docs/index.html#manual/introduction/Creating-a-scene

    还有偷懒的方法(官方有封装好的相关库,DragControls.js )和相关demo

    去threejs官方文档里搜上面的关键字就行。

    如果你再不会那我真的没办法了

    http://img3.mukewang.com/5fcf29cc0001167b08360653.jpg

基于WebAR实现3D任务书桌上跳舞

基于WebAR实现3D任务书桌上跳舞

6482 学习 · 13 问题

查看课程

相似问题