Three.jsのCameraには、レンズを設定するためのメソッド、
THREE.PerspectiveCamera.prototype.setLens = function ( focalLength, frameHeight ) { if ( frameHeight === undefined ) frameHeight = 24; this.fov = 2 * THREE.Math.radToDeg( Math.atan( frameHeight / ( focalLength * 2 ) ) ); this.updateProjectionMatrix(); }があります。
このメソッドの引数は、
- focalLength
- 焦点距離(mm)
- frameHeight
- フレーム高(mm)
foculLength = 35, frameHeight = 24
として動作します。
通常のカメラと同様に、foculLength(焦点距離)を大きくすると画角(fov)が小さくなるため、
描画対象が大きくなります(望遠レンズ)。
一方で、foculLengthを小さくすれば画角が大きくなるため、描画対象が小さくなります(広角レンズ)。
この振る舞いを確認するためのサンプルが、
let's play with cameras!
にあります。
WebGLに対応したブラウザで見ていただければ、と思います。
0 件のコメント:
コメントを投稿