如何让 Three.js 相机看物体的面部

How do I make the Three.js camera look at the face of an object?

本文关键字:面部 相机 Three js      更新时间:2023-09-26

我有一个由六边形和五边形组成的球体,我试图让相机直接看一个特定的六边形 - 所以用户视图的中心是十六进制,它是平坦的。

六边形

是使用六边形.js插件(https://github.com/arscan/hexasphere.js/tree/master(制作的。我能够从构成十六进制的网格对象中提取信息。但是我不知道如何获取对象信息并告诉相机去哪里。

我尝试使用网格的正常矩阵元素并找到欧拉角 - 但我不知道如何处理它们。

好的,我找到了解决方案。六边形插件为面的中心点提供了hexasphereObj.tiles[i].centrePoint,这是一个点对象,它有一个方法project(radius, percent)该方法,该方法从六边形的中心到面部中心获取投影处的点的坐标。

然后我能够将相机移动到这个投影点,让它看六边形的中心。