我有一个大的2D圆形平面,我一直在使用相机的Z位置(一个PerspectiveCamera)放大和缩小(TrackballControls)。
我最近将camera.fov添加到我的DAT GUI控件中以便使用它,并发现我可以使用0到180的范围完全放大和缩小我的场景。
我应该使用哪种方法?为什么?
编辑:
有多种方法可以使物体离相机越来越远:
为了能够使用鼠标滚轮平滑地滚动进出包含大几何(数百万个顶点)的场景,我有理由不应该或者应该使用上面的方法之一其他人?
答案 0 :(得分:1)
好吧,如果你改变了摄像机的位置,你根本就没有缩放,你只是将它移近或远离。
使用Field of View变量,您正在缩放,但如果达到极值,这通常与失真有关。
因此,这取决于您的应用程序所需。如果失真是可以的,你真的需要“缩放”的感觉,你应该去相机的FoV变量。如果你需要避免失真并想要放大,你最好沿着“相机的外观矢量”移动。然后,您可以决定是否在“缩放”时移动摄像机目标,或者如果您正在减慢摄像机移动速度,如果它接近其目标,也就是焦点。只需使用适合您用例的内容即可。
也许有些有趣的东西:
http://blog.tartiflop.com/2008/08/understanding-zoom-focus-and-field-of-view-in-papervision3d/
答案 1 :(得分:1)
有两种放大/缩小方法。您可以将相机移近/远离物体,也可以将物体移近或远离相机。您选择哪一个取决于您还想做什么。因此,如果你在一个城市,并且你想要更接近汽车,那么你就不会移动城市。 但如果您正在检查事物(不同型号),那么移动相机可能会更好。 (也许不是很好的例子)。
答案 2 :(得分:0)