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


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

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

例: Camera.mode = mtk.PLANETARIUM;

関連: Camera:setModeTo(), Camera:toggleMode(), Camera:toggleModeTo(), Camera:forceMode()

Camera:setModeTo(mode, duration) [modeは mtk.PLANETARIUM, mtk.HIPPARCOS、durationは実数]

離着陸の状態を、duration秒かけてアニメーションさせながら切り替えます。duration引数を省略すると、Camera.modeDurationプロパティが使用されます。視点が惑星のすぐ近くにある時のみ、着陸することができます。距離に関係なく離着陸したい場合はCamera:forceMode()メソッドを利用してください。このメソッドによってCamera.modeおよびCamera.zoomプロパティが変化します。

例: Camera:setModeTo(mkt.HIPPARCOS, 1.0);

関連: Camera.mode, Camera:toggleMode(), Camera:toggleModeTo(), Camera:forceMode(), Camera.modeDuration

Camera:toggleMode()

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

例: Camera:toggleMode();

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

Camera:toggleModeTo(duration) [durationは実数]

離着陸の状態をduration秒かけてアニメーションさせながら切り替えます。duration引数を省略すると、Camera.modeDurationプロパティが使用されます。視点が惑星のすぐ近くにある時のみ、着陸することができます。距離に関係なく離着陸したい場合はCamera:forceMode()メソッドを利用してください。このメソッドによってCamera.modeおよびCamera.zoomプロパティが変化します。

例: Camera:toggleModeTo(1.0);

関連: Camera.mode, Camera:setModeTo(), Camera:toggleMode(), Camera:forceMode(), Camera.modeDuration

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

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

例: Camera.forceMode(mtk.PLANETARIUM);

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

Camera.modeDuration [実数]

離着陸の状態をCamera:setModeTo()またはCamera:toggleModeTo()メソッドで切り替える際の、アニメーションの長さのデフォルト値を表すプロパティです。単位は秒です。これらのメソッドでduration引数が省略された場合に使用されます。

例: Camera.duration = 5.0;

関連: Camera:setModeTo(), Camera:toggleModeTo()

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: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:setOrientTo(x, y, z, w, duration) [x,y,z,w,durationは実数]

宇宙空間モードでの視線方向を4つ一組の値(Quaternion)で指定した方向にduration秒かけてアニメーションさせます。duration引数を省略すると、Camera.durationプロパティが使用されます。

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

関連: Camera:setOrient(), Camera.duration

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:getEuler(), 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:setEulerTo(h, p, r, duration) [h, p, r, durationは実数]

宇宙空間モードでの視線方向をオイラー角のh(左右の振り向き)、p(上下の仰角)、r(時計・半時計回りの傾き)で指定した方向にduration秒かけてアニメーションさせます。角度は度数で表し、基準となるCamera:setEuler(0, 0, 0)では黄道座標系の南極を正面に見る方向になります。duration引数を省略すると、Camera.durationプロパティが使用されます。

例: Camera:setEulerTo(0.0, 30.0, 0.0, 3.0);

関連: Camera:setEuler(), Camera.duration

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

宇宙空間モードでの視線方向を現在の方向からオイラー角のh(左右の振り向き)、p(上下の仰角)、r(時計・半時計回りの傾き)で指定した角度だけduration秒かけてアニメーションさせます。角度は度数で表し、基準となるCamera:setEuler(0, 0, 0)では黄道座標系の南極を正面に見る方向になります。duration引数を省略すると、Camera.durationプロパティが使用されます。

例: Camera:addEulerTo(0.0, 30.0, 0.0, 3.0);

関連: Camera:addEuler(), Camera.duration

Camera.zoom [実数]

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

例: Camera.zoom = 1.0 * UNIT_AU;

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

Camera:setZoomTo(zoom, duration) [zoom,durationは実数]

宇宙空間モードでのターゲット天体からの距離をduration秒かけてアニメーションさせます。zoomの単位はパーセクです。値の設定には距離定数(UNIT_KMなど)を併用すると良いでしょう。duration引数を省略すると、Camera.durationプロパティが使用されます。

例: Camera:setZoomTo(1.0 * UNIT_AU, 3.0);

関連: Camera.zoom, Camera.duration, 距離の表記について

Camera:setZoomLogTo(zoom, duration) [zoom,durationは実数]

宇宙空間モードでのターゲット天体からの距離をduration秒かけてアニメーションさせます。この時、自然対数を利用して距離がターゲット天体に近い時はゆっくり、遠い時は速く距離を変化させます。zoomの単位はパーセクです。値の設定には距離定数(UNIT_KMなど)を併用すると良いでしょう。duration引数を省略すると、Camera.durationプロパティが使用されます。

例: Camera:setZoomLogTo(1.0 * UNIT_AU, 3.0);

関連: Camera.zoom, Camera.duration, 距離の表記について

Camera.azimuth [実数]

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

例: Camera.azimuth = 90.0;

Camera:setAzimuthTo(azimuth, duration) [azimuth,durationは実数]

プラネタリウムモードでの方位角度をduration秒かけてアニメーションさせます。azimuthの単位は度数で、0.0が北、正の値が東、負の値が西、180.0(または-180.0)で南を表します。duration引数を省略すると、Camera.durationプロパティが使用されます。

関連: Camera.azimuth

例: Camera:setAzimuthTo(90.0, 3.0);

Camera.altitude [実数]

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

例: Camera.altitude = 30.0;

Camera:setAltitudeTo(altitude, duration) [altitude,durationは実数]

プラネタリウムモードでの仰角(見上げ角度)をduration秒かけてアニメーションさせます。altitudeの単位は度数で、0.0が水平、90.0で天頂を表します。duration引数を省略すると、Camera.durationプロパティが使用されます。

例: Camera:setAltitudeTo(30.0, 3.0);

関連: Camera.altitude

Camera.fov [実数]

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

例: Camera.fov = 60.0;

Camera:setFovTo(fov, duration) [fov,durationは実数]

プラネタリウムモードでの視野角を度数でduration秒かけてアニメーションさせます。fovの単位は度数で、0.0から90.0までの値が有効です。duration引数を省略すると、Camera.durationプロパティが使用されます。

例: Camera:setFovTo(60.0, 3.0);

関連: Camera.fov

Camera.target [天体名文字列]

宇宙空間モードでのターゲット天体を名前で表すプロパティです。その際、Camera.zoomModeプロパティに応じてターゲットとの距離も調整されます。あるいは必要に応じてCamera:jumpToTarget()メソッドで調節を実行してください。

例: Camera.target = "Planet.Earth";

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

Camera:setTargetTo(targetName, duration) [targetNameは天体名文字列、durationは実数]

宇宙空間モードでのターゲット天体をduration秒かけてアニメーションしながら切り替えます。duration引数を省略すると、Camera.durationプロパティが使用されます。その際、Camera.zoomModeプロパティに応じてターゲットとの距離も調整されます。あるいは必要に応じてCamera:jumpToTarget()メソッドで調節を実行してください。

例: Camera:setTargetTo("Planet.Earth", 3.0);

関連: ターゲット天体について, Camera.target, Camera.duration, Camera.zoomMode

Camera:look(targetName) [targetNameは天体名文字列]

プラネタリウムモードで指定された天体が画面の中央に表示されるよう視野を回転させます。

例: Camera:look("Sun");

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

Camera:lookTo(targetName, duration) [targetNameは天体名文字列、durationは実数]

プラネタリウムモードで指定された天体が画面の中央に表示されるよう、duration秒かけてアニメーションしながら視野を回転させます。duration引数を省略すると、Camera.durationプロパティが使用されます。

例: Camera:lookTo("Sun", 1.0);

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

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:jumpToTarget(duration) [durationは実数]

宇宙空間モードでターゲット天体を見るのに適当な距離までduration秒だけ時間をかけて視点位置を移動します。このメソッドによってCamera.zoomプロパティが変化します。duration引数を省略すると、Camera.durationプロパティが使用されます。

例: Camera:jumpToTarget(3.0);

関連: Camera.targetId, Camera.targetName, Camera.duration

Camera:jumpToHome()

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

例: Camera:jumpToHome();

Camera.duration [実数]

宇宙空間モードでのターゲット切り替えやズームのデフォルトアニメーション時間を表すプロパティです。単位は秒です。

例: Camera.duration = 3.0;

関連: Camera:targetTo(), Camera:jumpToTarget()

Camera.zoomMode [ mtk.ZOOM_NONE, mtk.ZOOM_AUTO, mtk.ZOOM_ALWAYS ]

宇宙空間モードでのターゲット切り替え時に距離を調節するかどうかを表すプロパティです。mtk.ZOOM_NONEでは距離調整をしません。mtk.ZOOM_AUTOの場合、切り替え後の天体の方が大きい場合にのみ、最適な距離に調節されます。mtk.ZOOM_ALWAYSでは必ず距離調節が行われます。

例: Camera.zoomMode = mtk.ZOOM_AUTO;

関連: Camera:setTargetTo()