gpt4 book ai didi

javascript - Three.js 带摄像头选择对象,无鼠标

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:44:12 25 4
gpt4 key购买 nike

在 Three.js 应用程序中,我想获取透视相机指向的对象,为此我阅读了 raycaster 文档。我找到的所有文档都在谈论使用相机和鼠标坐标的 Vector2 进行光线转换,但我不想使用鼠标的 2d 坐标。相机可以出于任何原因旋转:单击并拖动屏幕、触摸控制甚至 VR 控制,我只想从透视相机的中心点进行光线转换,并将它所注视的对象设置为“选中”。

有什么建议吗?

最佳答案

THREE.Raycaster.set() 需要 origindirection 向量:

origin — The origin vector where the ray casts from.

direction — The direction vector that gives direction to the ray. Should be normalized.

将摄像机的世界位置设置为origin,并将其世界方向设置为direction:

var raycaster = new THREE.Raycaster();

raycaster.set( camera.getWorldPosition(), camera.getWorldDirection() );

var intersects = raycaster.intersectObjects( objectsArray );
if ( intersects.length > 0 ) {
//...
}

关于javascript - Three.js 带摄像头选择对象,无鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32830574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com