gpt4 book ai didi

javascript - 三个JS : Screen position to camera position

转载 作者:行者123 更新时间:2023-11-29 18:21:43 29 4
gpt4 key购买 nike

我看过很多帖子,人们希望将相机位置调整到屏幕位置。我的问题是如何做相反的事情。

我目前想要实现的是将“门”位置设置为屏幕的百分比,此计算已准备就绪,并且我确实有最终屏幕的 X、Y (px) 位置。相机当前的 Z 偏移量 = 250。

我发现这段代码可以将相机位置转换为屏幕位置:

var vector = projector.projectVector(door.position.clone(), camera);
vector.x = (vector.x + 1) / 2 * window.innerWidth;
vector.y = -(vector.y - 1) / 2 * window.innerHeight;

为了进行反转,我尝试了这个,但没有给出我期望的结果:

var mouseX = ((perc.x) / window.innerWidth) * 2 - 1,
mouseY = -((perc.y) / window.innerHeight) * 2 + 1;

var vector = new THREE.Vector3(mouseX, mouseY, 1);
projector.unprojectVector(vector, camera);
return vector.sub(camera.position).normalize()

我尝试了几种方法并尝试谷歌,但没有找到答案。

问:如何将屏幕位置转换为相机位置?

最佳答案

好吧,正如 Gero3 所发布的那样,您想要做的是创建一个平面来覆盖所有可见的相机区域(类似于 new THREE.PlaneGeometry(5000,5000); 和然后使用 raycaster 定位在该平面上协调的屏幕。

这是来自 another similar question 的示例:

http://jsfiddle.net/PwWbT/

希望对您有所帮助。

关于javascript - 三个JS : Screen position to camera position,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17966899/

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