2010-12-15 129 views
2

我正在处理用户通过单击3d空间中的图标导航的项目。当用户使用其中一个图标时,摄像机应该平移和缩放,以便所选图标以其原始高度和大小出现在屏幕中央(这是在图标上创建2D叠加时的情况,同样大小的3D对应计算视图中3D对象的渲染大小

我的问题是如何计算的大小渲染对象在三维视图中,我要指出,这是使用Alternativa 3D平台。

所以这是一个摄像头,在(。 x1,y1,z1),视场角为f,指向(x2,y2,z2)的图标,所有图像都在维度w和h的视图中呈现,这是我努力想出来的任何东西,任何帮助将不胜感激。

+0

以及使用BitmapData绘制3D对象投影并通过getPixel获取其大小和形状? – www0z0k 2010-12-15 00:45:09

+0

您是否可以取消投影视图或以其他方式获取对象的(世界或对象相对)边界框?这通常是正确的做法。 – MrGomez 2010-12-15 01:27:45

+0

如果在舞台上绘制对象,应该可以对它进行截图。截图截图时,3d对象应该变成白色,剩下的部分变成黑色。并且计算白色区域的大小,位置和形状将会相当容易。 **顺便说一句 - 你的3D物体是如何塑造的?** – www0z0k 2010-12-15 02:19:22

回答

0

我在另一个论坛上找到了答案,我真正想要的是如何获得一个3d对象以1:1的大小比例在视图中呈现。

我曾遇到的计算公式3D相机的焦距:

F = d /黄褐色(FOV/2)

其中d是一个一半的视图高度的平方根^ 2 + width^2

F的值是摄像机距离物体应该以1:1大小呈现的距离。

希望这会有所帮助!