ページ

2010年8月23日月曜日

カメラ(目?)の位置を取得するRubyスクリプト

Ruby コンソールで下記を入力することで、Point3dクラスが保持している値としてカメラの位置が表示されます。

Sketchup.active_model.active_view.camera.eye

単位はインチなのでミリにしたい場合は25.4倍します。

Sketchup.active_model.active_view.camera.eye.x*25.4
Sketchup.active_model.active_view.camera.eye.y*25.4
Sketchup.active_model.active_view.camera.eye.z*25.4

カメラの方向を取得したい場合は下記を使用します。

Sketchup.active_model.active_view.camera.target

ただしこれは方向(ベクトル)ではなくウィンドウ中心の三次元座標です。
ベクトルが必要な場合はtargetの点ベクトルからeyeの点ベクトルを引きます。

Sketchup.active_model.active_view.camera.target-Sketchup.active_model.active_view.camera.eye

ベクトルの長さを1にしたい場合はVector3dクラスのnormalizeメソッドを使用します。

(Sketchup.active_model.active_view.camera.target-Sketchup.active_model.active_view.camera.eye).normalize

0 件のコメント:

コメントを投稿