Cameras-PerspectiveCamera-
遠近法を使ったカメラについて説明していきます。
例
animation / skinning / blending
animation / skinning / blending
var camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 ); scene.add( camera );
Constructor
PerspectiveCamera( fov, aspect, near, far )
fov--カメラの視覚の垂直場
aspect--カメラ面の比
near--カメラから見える一番近い距離
far--カメラから見える一番遠い距離
Properties
.zoom
カメラのズームの設定
.fov
カメラの角度的な、一番下から、一番上の視覚的垂直場
カメラのアス比windowの高さによって割り当てられたwindowの幅
.near
カメラから見える一番近い距離
.far
カメラから見える一番遠い距離
Methods
.setLens ( focalLength, frameSize )
focalLength --焦点の長さ
frameSize--フレームのサイズ
見積もるために、焦点距離を使用する。そして、FOV 35mm カメラ(全てのフレーム)は、もしサイズが細分化されなければ使用される。
この公式は、
http://www.bobatkins.com/photography/technical/field_of_view.html
で使用される。
.setViewOffset ( fullWidth, fullHeight, x, y, width, height )
fullWidth ― 様々な視覚の全ての広さをsetupする。
fullHeight ― 様々な視覚の全ての高さをsetupする。
x ― サブカメラの水平方向
y ― サブカメラの垂直方向
width ― サブカメラの幅
height ― サブカメラの高さ
より高い円錐でのoffsetをセットする。
これは、マルチウィンドウか、マルチモニタと、マルチメカニックのセットアップ。
例えば、
もし、3×2モニターと、それぞれのモニターは、1950×1080、そしてモニターは、下のようなグリッドになってます。
+---+---+---+
| A | B | C |
+---+---+---+
| D | E | F |
+---+---+—+-+
呼び出したいモニターは、下のようになります。
var w = 1920;
var h = 1080;
var fullWidth = w * 3;
var fullHeight = h * 2;
// A
camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h );
// B
camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h );
// C
camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h );
// D
camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h );
// E
camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h );
// F
camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );
モニターは、gridと同じサイズでなければいけないのに理由はないということを覚えておいてください。
.updateProjectionMatrix ()
カメラの投射行列をアップデートします。
パラメーターを変えた時に、必ず呼びださなければいけません。
.clone ()
PerspectiveCameraのクローンを返す。
.toJSON ()
JSON フォーマットでカメラのデータを返す。
Source