none
如何调整摄像机位置达到对3D场景中某个3D对象的特写效果 RRS feed

  • 问题

  • 我是这么想的:

    1、根据GeometryModel3D的Bounds属性,可以得到模型的变换中心点point,同时获得sizeX、sizeY、sizeZ的最大值length;

    2、在下图中A为模型的变换中心点point,AC为length,BA与BC的夹角为摄像机camera的FieldOfView一半,那么AB就是特写时摄像机到变换中心点的距离,然后就可以根据point得到摄像机的位置。

    但是呢,效果不佳。求高手找个好方法!

    2012年2月10日 6:17

答案

  • 如果你不要求透视效果的话,正交摄像机 OrthographicCamera 设置起来个简单一点,他有Width属性表示取景框宽度。

    如果是透视效果下的话,FieldOfView 摄像机的水平视角),默认值是45度,所以依据你的描述,这个值应该就是BA BC夹角的两倍,但需要比他略大,这样效果较好。(前提你已经确定物体平面,和摄像机的UpDirection LookDirection后,计算得到BA值)

    下图是一个是一个示意图,其中右边两种情况可以得到较好的特写:慢慢缩小BA值或者FOV值


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年2月10日 9:16
    版主

全部回复

  • 如果你不要求透视效果的话,正交摄像机 OrthographicCamera 设置起来个简单一点,他有Width属性表示取景框宽度。

    如果是透视效果下的话,FieldOfView 摄像机的水平视角),默认值是45度,所以依据你的描述,这个值应该就是BA BC夹角的两倍,但需要比他略大,这样效果较好。(前提你已经确定物体平面,和摄像机的UpDirection LookDirection后,计算得到BA值)

    下图是一个是一个示意图,其中右边两种情况可以得到较好的特写:慢慢缩小BA值或者FOV值


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年2月10日 9:16
    版主
  • 谢谢了!
    2012年2月11日 2:16