如何对模型添加事件?
请问老师,如何对模型添加事件?比如点击模型,或者对模型进行拖拽等,谢谢老师
请问老师,如何对模型添加事件?比如点击模型,或者对模型进行拖拽等,谢谢老师
2020-12-07
原理:一般使用射线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官方文档里搜上面的关键字就行。
如果你再不会那我真的没办法了
举报