Camera - 視点管理オブジェクト


Camera.mode [mtk.PLANETARIUM, mtk.HIPPARCOS]

離着陸の状態を表すプロパティです。mtk.PLANETARIUMが惑星表面に着陸した状態(プラネタリウムモード)、mtk.HIPPARCOSが宇宙空間(宇宙空間モード)を表します。 視点が惑星のすぐ近くにある時のみ、mtk.HIPPARCOSからmtk.PLANETARIUMに設定して着陸することができます。距離に関係なく離着陸したい場合はCamera:forceMode()メソッドを利用してください。このプロパティを変更するとCamera.zoomプロパティの値も変化することがあります。

例: Camera.mode = mtk.PLANETARIUM;

関連: Camera:toggleMode()

Camera:toggleMode()

離着陸の状態を切り替えます。視点が惑星のすぐ近くにある時のみ、着陸することができます。距離に関係なく離着陸したい場合はCamera:forceMode()メソッドを利用してください。このメソッドによってCamera.modeおよびCamera.zoomプロパティが変化します。

例: Camera.toggleMode();

関連: Camera.mode, Camera:forceMode()

Camera:forceMode(mode) [modeは mtk.PLANETARIUM, mtk.HIPPARCOS ]

離着陸の状態を切り替えます。距離に関係なく離着陸を切り替えることができます。このメソッドによってCamera.modeプロパティが変化します。

例: Camera.forceMode(mtk.PLANETARIUM);

関連: Camera.mode, Camera:toggleMode()

Camera.landingMode [mtk.HORIZONTAL, mtk.SURFACEVIEW]

惑星付近での視点の動きを表すプロパティです。mtk.HORIZONTALでは着陸地点に近づくにつれて視線が地平線の方を向きます。mtk.SURFACEVIEWでは常に着陸地点を見下ろします。

例: Camera.landingMode = mtk.HORIZONTAL;

関連: Camera:toggleLandingMode()

Camera:toggleLandingMode()

惑星付近での視点の動きを切り替えます。このメソッドによってCamera.landingModeプロパティが変化します。

例: Camera:toggleLandingMode();

関連: Camera.landingMode

Camera.zoom [実数]

宇宙空間モードでのターゲット天体からの距離を表すプロパティです。単位はパーセクです。値の設定には距離定数(UNIT_KMなど)を併用すると良いでしょう。

例: Camera.zoom = 1.0 * UNIT_AU;

関連: 距離の表記について

Camera.azimuth [実数]

プラネタリウムモードでの方位角度を度数で表すプロパティです。0.0が北、正の値が東、負の値が西、180.0(または-180.0)で南を表します。

例: Camera.azimuth = 90.0;

Camera.altitude [実数]

プラネタリウムモードでの仰角(見上げ角度)を度数で表すプロパティです。0.0が水平、90.0で天頂を表します。

例: Camera.altitude = 30.0;

Camera.fov [実数]

プラネタリウムモードでの視野角を度数で表すプロパティです。0.0から90.0までの値が有効です。

例: Camera.fov = 60.0;

Camera.targetName [天体名文字列]

宇宙空間モードでのターゲット天体を名前で表すプロパティです。インデックスから天体名を検索するにはTargets:getName()メソッドを利用してください。また、Camera.targetIdプロパティでインデックスによる設定や取得もできます。現在のターゲットよりも大きいスケールのターゲットを選択すると視点との距離が自動的に調節されます。小さいスケールのターゲットを選択した場合にはこのような調整はされないため、必要に応じてCamera:jumpToTarget()メソッドで調節を実行してください。このプロパティを変更するとCamera.targetIdプロパティの値も変更されます。

例: Camera.targetName = "Ssystem.Earth";

関連: ターゲット天体について, Camera.targetId, Camera:jumpToTarget()

Camera.targetId [整数]

宇宙空間モードでのターゲット天体をインデックスで表すプロパティです。天体名からインデックスを検索するにはTargets:getId()メソッドを利用してください。また、Camera.targetNameプロパティで名前による設定や取得もできます。現在のターゲットよりも大きいスケールのターゲットを選択すると視点との距離が自動的に調節されます。小さいスケールのターゲットを選択した場合にはこのような調整はされないため、必要に応じてCamera:jumpToTarget()メソッドで調節を実行してください。このプロパティを変更するとCamera.targetNameプロパティの値も変更されます。

例: Camera.targetId = 2;

関連: ターゲット天体について, Camera.targetName, Camera:jumpToTarget()

Camera.headLight [true, false]

ヘッドライトの有効・無効を表すプロパティです。

例: Camera.headLight = true;

関連: Camera:toggleHeadLight()

Camera:toggleHeadLight()

ヘッドライトの有効・無効を切り替えます。このメソッドによってCamera.headLightプロパティが変化します。

例: Camera:toggleHeadLight();

関連: Camera.headLight

Camera.viewInfo [true, false]

視点情報の表示・非表示を表すプロパティです。

例: Camera.viewInfo = true;

関連: Camera:toggleViewInfo()

Camera:toggleViewInfo()

視点情報の表示・非表示を切り替えます。このメソッドによってCamera.viewInfoプロパティが変化します。

例: Camera:toggleViewInfo();

関連: Camera.viewInfo

Camera:setOrient(x, y, z, w) [x,y,z,wは実数]

宇宙空間モードでの視線方向を4つ一組の値(Quaternion)で設定します。視線方向はCamera:setEuler()メソッドでも設定できます。

例: Camera:setOrient(0.20881594717503, -0.24972678720951, 0.90915662050247, 0.25974345207214);

関連: Camera:getOrient(), Camera:setEuler()

Camera:getOrient() [4つの実数を返す]

宇宙空間モードでの視線方向を4つ一組の値(Quaternion)で取得します。

例: x, y, z, w = Camera:getEuler();

Camera:setEuler(h, p, r) [h, p, rは実数]

宇宙空間モードでの視線方向をオイラー角のh(左右の振り向き)、p(上下の仰角)、r(時計・半時計回りの傾き)で設定します。角度は度数で表し、基準となるCamera:setEuler(0, 0, 0)では黄道座標系の南極を正面に見る方向になります。

例: Camera:setEuler(0.0, 30.0, 0.0);

関連: Camera:setOrient()

Camera:addEuler(h, p, r) [h, p, rは実数]

宇宙空間モードでの視線方向を現在の方向からオイラー角のh(左右の振り向き)、p(上下の仰角)、r(時計・半時計回りの傾き)で指定した確度だけ回転させます。はじめにCamera:setOrient()Camera:setEuler()で視線方向を設定し、少しずつ回転させる場合などに利用します。

例: Camera:addEuler(0.0, 1.0, 0.0);

関連: Camera:setOrient(), Camera:setEuler()

Camera:jumpToTarget()

宇宙空間モードでターゲット天体を見るのに適当な距離まで視点をジャンプします。このメソッドによってCamera.zoomプロパティが変化します。

例: Camera:jumpToTarget();

関連: Camera.targetId, Camera.targetName

Camera:jumpToHome()

初期着陸地点として指定した場所に視点をジャンプします。このメソッドによってCamera.targetId, Camera.targetName, Camera.mode, Camera.altitude, Camera.fovプロパティが変化します。

例: Camera:jumpToHome();