如何让Three.js相机看到物体的表面?

时间:2015-12-01 01:15:00

标签: javascript three.js

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

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

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

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案。 hexasphere插件为<html> <head> <style> .container { width: 500px; border: 3px solid red; overflow: hidden; padding: 20px ; } .column { width: 30.5%; float: left; height: 200px; background: #ccc; text-align: center; margin-left: 20px; } .column:first-child { margin: 0; } </style> </head> <body> <div class="container"> <div class="column">Column 1</div> <div class="column">Column 2</div> <div class="column">Column 3</div> </div> </body> </html> 提供了一个面的中心点,这是一个点对象,它有一个方法float f= 24.56f;//Replace with your float number int i = (int)f; if(i<100) System.out.println(new DecimalFormat("#.##").format(f));//This functions will round the last bits also i.e. greater then 4 will increase the number preceding also else if( i < 1000) System.out.println(new DecimalFormat("#.#").format(f)); else System.out.println(new DecimalFormat("#").format(f)); ,它可以获得从六球的中心到投影的点的坐标。脸的中心。

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