AstroPlotorium ユーザーマニュアル

【Script】(スクリプトコンソール)では、手動で行う操作と同じ機能を自動実行する小さな JavaScript プログラムを動かせます。特定の天体へ移動する、視野角(FOV)を設定する、時計を進める、レイヤーを切り替える、メインビューを変更する、左側のナビゲータの項目を開くといった操作が可能です。プログラム内では、あらかじめ用意されたオブジェクト(camera、sky、time、observer、display、core、console、target、calc、navigator)のコマンドを呼び出します。
画面左下の【Script】ボタンをクリックするか、F12 キー、Ctrl+J(Mac では Command+J)、またはテキスト入力欄にフォーカスがない状態で `(バッククォート)キーを押すとコンソールが開きます。Esc キーを押すとコンソールを閉じます。ビューを切り替えてもエディタは開いたまま維持され、エディタに隠れないよう上部の空の表示領域が自動的に縮小されます。
コンソールの各タブ
- 「Script」タブ: プログラムを編集して実行するためのメインエディタです。
- 「Console」タブ: コマンドを 1 行ずつ対話的に実行します。
Enterキーで実行し、Up(↑)とDown(↓)キーでこのセッション中に入力した履歴をたどれます。たとえば1 + 1と入力すると2が表示されます。ここで定義した変数名は、「Script」タブからスクリプトを実行するか、AI アシスタントがスクリプトを実行するまでの間、次の行でも引き続き参照できます。 - 「Output」タブ: エラーメッセージ、読み込み・実行ステータス、
core.outputの出力結果、およびスクリプトから実行した際のcore.help、core.search、sky.listLayers、core.listOptions、navigator.listの一覧が出力されます。 - 「System Log」タブ: 画面上の UI で行った操作が、そのままコピーして使えるスクリプトのコード行としてリアルタイムに記録されます。レイヤーの切り替え、限界等級の変更、時計の操作、メインビューの切り替えなどを行うと、対応するコマンドがここに書き出されます。コンソールを閉じている間も記録は続きます。コマンド名や引数の書き方を調べたいときは、実際に UI を操作してこのタブから行をコピーするのが最も簡単な方法です。
なお、「Clear」ボタンの動作は開いているタブによって異なります。「Script」タブでは空の画面上に表示されているキャプション(字幕)を消去します(プログラムのコード自体は消えません)。「Console」タブでは実行履歴を消去し、「Output」タブでは出力メッセージを消去し、「System Log」タブでは操作ログを消去します。
ファイルの読み込みと保存
ファイルメニューは「Script」タブの上部にあります。現在のファイル名(未保存時は untitled)の横に、「New Script」、「Load」、「Save」、「Save As」が並んでいます。
スクリプトファイルは、ユーザーフォルダ内の scripts ディレクトリに保存されます。【Home】メニューの「Open user folder」からそのディレクトリを確認できます。「Load」と「Save As」はこの scripts フォルダを基準に開き、フォルダ内の .js ファイルを扱います。
- 「Save」: 現在のファイルを上書き保存します。一度も保存していない新規スクリプトの場合は、ファイル名の入力を求められます。
- 「Refresh」: ファイルメニューの横にあるボタンで、現在のファイルをディスクから再読み込みします(外部エディタで編集した場合などに便利です)。
- 「New Script」: エディタを空にします。未保存の変更がある場合は、保存するか、破棄するか、キャンセルするかを尋ねる確認ダイアログが表示されます。
コンソールを初めて開いたとき(エディタが空のとき)には、tour.js が自動的に読み込まれます。tour.js が存在しない場合は新規作成され、以降のアプリ更新でも上書きされずに残ります。一方、tour_*.js という名前のサンプルツアーファイルはアプリのアップデート時に上書き更新されるため、サンプルを改造して残したい場合は別名で保存(コピー)してください。
実行と停止(Run / Stop)
- 「Run」: 「Script」タブのプログラムを実行します。すでにスクリプトが実行中の間は押せません。実行するたびに実行環境はリセットされ、前回の実行や「Console」タブで定義した変数はクリアされます。
- プレゼンテーション実行チェックボックス: 「Play」(実行)の横にあるチェックボックスをオンにすると、スクリプトの実行を【Presentation】モードで開始します(ツールバーが隠れ、キャプションだけが表示されます)。このチェック状態は現在のセッション中のみ有効で、初期状態はオフです。詳しくはスクリーンショットを参照してください。
- 「Stop」: 実行中のスクリプトを即座に中止します(ユーザーのクリック待ちによる一時停止中も含みます)。また、【Presentation】モードでスクリプトを実行している間は、画面右下に表示されるキャンセルボタンからスクリプトを停止してプレゼンテーションを終了できます。
core.exit(): すでに発行されたコマンドが完了した時点でスクリプトを終了し、それ以降の行をスキップします(「Stop」ボタンが即座に実行を打ち切るのに対し、core.exit()は直前のステップの完了を待って終了します)。
コマンドの実行順序と待機
コマンドは上から順番に行ごとに記述します。カメラの旋回、ズーム、ドラッグ回転、およびアニメーション付きの時間移動は、その動作が完了してから次の行のコマンドへと進みます。そのため、視聴者に画面をじっくり見せるための待ち時間を作りたい場合を除き、camera.lookAt と camera.setFov の間にわざわざ待機コマンドを入れる必要はありません。
camera.lookAt("Sirius");
camera.setFov(20);
core.wait(1500);
camera.lookAt("Mars");
一時停止(待機)には core.wait または core.waitForUser を使用します(JavaScript の await キーワードは使用できません)。core.wait には最大 2 分(120,000 ミリ秒)まで指定できます。
なお、observer.getLocation() や core.getState() は、スクリプト内の後続の行が状態を書き換える前の「実行開始時点の画面状態」を読み取ります。スクリプトの最後で元の状態に戻したい場合は、変更を加える前にあらかじめ変数へ保存しておいてください。
const home = observer.getLocation();
observer.setLocation("Portland");
camera.lookAt("Saturn");
observer.setLocation(home);
ループ内で camera.lookAt や time.addTime を呼び出すと、各ステップが順番にキューへ登録されて再生されます。途中でそれ以上のステップ登録を打ち切りたい場合は、ループ内で core.exit() を呼び出してください。
天体名と検索
camera.lookAt や core.search には、一般名(Sun、Mars、Moon、Sirius)、カタログ ID(MB-499、HYG-32349、CON-Ori、DSO-M-31)、または一般的なラベル(M31、HIP 32349)を指定できます。同じ名前を持つ対象が複数存在する場合はコマンドがエラーとなり、候補の一覧が出力されます。core.search("Portland") を実行すると、候補一覧が「Output」タブ(または「Console」タブのプロンプトから実行した場合はコンソール履歴)に表示されます。
角度の指定形式
単なる数値を渡した場合は「度(°)」として扱われます。また、以下のような角度文字列を渡すこともできます。
- 赤経などの時角表記:
"5h 34m 32s" - 度分秒(DMS)表記:
"5d 23m 28s"または"5 deg 23m" - 視野角(FOV)表記:
"2d 3m"または"0h 30m"
camera.lookAtRaDec は、現在画面で選択されている座標系に従ってカメラを向けます(黄道座標系や銀河座標系が選ばれている場合、2 つの数値はその座標系における経度と緯度として扱われます)。一方、lookAtEquatorial、lookAtEcliptic、lookAtGalactic、lookAtHorizontal は、画面上の座標系設定を変更せずに、それぞれの指定座標系でカメラを向けます。地平座標(Horizontal)の方位角は、北を 0° とした時計回りです。
Camera(カメラ操作)
| コマンド呼び出し | 動作内容 |
|---|---|
camera.lookAt("Saturn") |
指定した天体を選択してカメラを向け、旋回が終わるまで待機します。 |
camera.lookAt(lng, lat) |
現在の座標系における経度・緯度へカメラを向けます(2 つの数値、または角度文字列)。 |
camera.lookAtRaDec(ra, dec) |
現在の座標系における 2 つの座標値で同様に照準を合わせます。 |
camera.lookAtEquatorial(lng, lat) |
赤道座標系の赤経・赤緯を指定してカメラを向けます。 |
camera.lookAtEcliptic(lng, lat) |
黄道座標系の黄経・黄緯を指定してカメラを向けます。 |
camera.lookAtGalactic(lng, lat) |
銀河座標系の銀経・銀緯を指定してカメラを向けます。 |
camera.lookAtHorizontal(az, alt) |
現在の観測地・時刻における方位角と高度を指定してカメラを向けます。 |
camera.setFov(2) |
視野角(FOV)を設定し、ズーム完了まで待機します(camera.zoom も同じ動作です)。 |
camera.rotate(angH, angV) |
マウスドラッグに相当する角度(度単位)だけ視線を回転させます。正の angH は右ドラッグ、正の angV は下ドラッグに対応します(ピッチ角は ±90° 以内に制限されます)。 |
camera.followTarget(true) |
【2D Celestial Sphere】と【2D Planetarium】における「Track」(追尾)を切り替えます。オンにすると対象天体へカメラを向けて待機し、オフにするとその場に視線を残します。上記 2 つのビュー以外ではフラグのみ保存され、カメラは移動しません。 |
camera.followViewFrom(true) |
【3D Universe】において地球または太陽に追従する「Camera follows」を切り替えます。省略可能な第 2 引数には "Earth"、"Sun"、399、または 10 を指定できます(省略時は現在の基準天体を維持)。オンにすると移動完了まで待機します。【3D Universe】以外ではフラグのみ保存されます。未対応の天体を指定するとエラーになります。 |
camera.setOrbitAltitudeKm(400) |
【3D Orbit】における地表からの高度(km 単位、有効範囲:50〜500000)を設定します。 |
camera.setOrbitIssTrack(true) |
【3D Orbit】の簡易的な円軌道(傾斜角 51.6°、周期約 93 分)のオン/オフを切り替えます。教育用の軌道モデルであり、リアルタイムの宇宙ステーション軌道要素ではありません。 |
camera.setOrbitFly(true) |
【3D Orbit】で WASD キーによる自由飛行のロックを解除し、ホバー状態やステーション周回軌道から離れます。 |
Navigator(ナビゲータ項目を開く)
navigator.select は、左側の【Navigator】メニューにある行を、画面上の表示タイトルまたはその行の ID で指定して開きます。現在表示されている【Main View】に対応したナビゲータメニューに対して動作します(camera.lookAt がシリウスや火星などのカタログ天体を探すのに対し、navigator.select は単一のカタログ天体ではない立体チャートなども含め、メニューの行そのものを選択します)。
たとえば、navigator.select("Milky Way Galaxy") は天の川銀河の 3D モデルを開き、navigator.select("within 10 ly")(または同じ行の ID である navigator.select("NS-10"))は 10 光年以内の近傍恒星チャートを開きます。これらの行は【3D Universe】のメニューにのみ存在するため、【2D Planetarium】を表示している状態で呼び出すと(自動でビューを切り替えることはせず)エラーになります。以下のように、先にメインビューを切り替えてから呼び出してください。
observer.setViewMode("3D Universe");
navigator.select("within 10 ly");
表示中の複数の行が同じタイトルを持っている場合はエラーとなり、候補が一覧表示されます。navigator.list() を実行すると、現在のビューで選択可能なすべての行(ID、タイトル、セクション名)が出力されます。なお、現在観測地点として立っている天体の行は選択できません。
Sky(レイヤー・座標系・星座)
sky.setLayer("constellationLines", true) で指定レイヤーの表示/非表示を切り替えます。sky.showLayer(id) と sky.hideLayer(id) も同じ機能をショートカットにしたものです。ID の照合時には大文字・小文字、空白、ハイフン、アンダースコアの違いは無視されます(存在しない ID を指定するとエラーになります)。sky.listLayers() で利用可能なレイヤー名の一覧を出力できます。
| レイヤー ID | 対象レイヤー |
|---|---|
stars |
恒星カタログ |
milkyWay、milkyWayDots |
天の川の写真バンド、および点描(トーン)表示 |
starNames、bayer、hip、flamsteed |
恒星の名前ラベル・各カタログ番号 |
messier、caldwell、majorDso、minorDso、dsoImages |
深宇宙天体(DSO)のラベルと天体写真 |
skyCulture |
星座およびアステリズム描画の親スイッチ |
constellationLines、constellationBoundaries、constellationNames、constellationImages |
星座線、境界線、星座名、星座絵 |
asterismLines、asterismNames |
アステリズムの線と名前 |
equatorialGrid、eclipticGrid、galacticGrid、azimuthalGrid |
各座標系のグリッド |
eclipticLine、gridRulers |
黄道線、および画面端の目盛り(ルーラー) |
atmosphere、land、horizonBand |
大気の輝き、地面(床)、地平線のシルエット |
landSeeThrough、landByTime |
地面の透過表示、および昼夜連動の透過 |
planetOrbits、dwarfPlanetOrbits、satelliteOrbits、asteroidOrbits、cometOrbits |
各天体の軌道線 |
cometFx、planetNames、orbitLines、planetGrid |
彗星の尾(FX)、惑星名、軌道線全体、惑星表面のグリッド |
magneticField、vanAllenBelt、bowShock、magnetopause |
磁気圏・磁場モデル(対象天体がデータを持つ場合) |
compareStars、comparePlanets |
恒星・惑星の大きさ比較表示 |
allLabels |
全ラベル一括表示の親スイッチ |
sky.setCoordinateSystem には、equatorial(赤道)、ecliptic(黄道)、galactic(銀河)、または horizontal(地平)を指定します。
星座やアステリズムの個別表示(ナビゲータの「目」のアイコン)は、上記レイヤーとは別に管理されています。たとえば sky.setConstellationVisible("Ori", false) はオリオン座の個別表示フラグをオフにします(引数には IAU の 3 文字略符、CON-Ori、または星座名を渡せます)。sky.showConstellation と sky.hideConstellation でも同様にオン/オフを設定できます。なお、これらのコマンドは星座の選択やカメラの旋回、星座線レイヤー自体のオン/オフは行いません。画面に星座が表示されない場合は、あらかじめ skyCulture や constellationLines レイヤーをオンにしてください。また、sky.setConstellationPreset には all、none、または zodiac を指定でき、sky.listConstellations() で ID・名前・現在の表示フラグ一覧を出力できます。
アステリズムについても同様に、sky.setAsterismVisible、showAsterism、hideAsterism、sky.listAsterisms() を使用します(ID にはカタログ ID、AST- 付きの ID、または名前を指定可能)。一括設定の sky.setAsterismPreset には all または none を指定します。
Time(時刻と再生)
時間の単位(Unit)は大文字・小文字を区別します:Y(年)、M(月)、D(日)、h(時)、m(分)、s(秒)。
| コマンド呼び出し | 動作内容 |
|---|---|
time.setTime("2026-08-22T12:00:00Z") |
指定した UTC 時刻へ即座にジャンプします(JavaScript の Date オブジェクトも渡せます)。 |
time.addTime("h", 1) |
現在のシミュレーション時刻から指定単位分だけ時間を進めます(負の整数で戻すことも可能)。時間移動はアニメーション表示され、完了するまでスクリプトは待機します。 |
time.addTime("D", 1, 0) |
第 3 引数でアニメーション時間(ミリ秒)を指定します。0 を指定するとアニメーションなしで即座にジャンプし、省略すると短いアニメーションで移動します(最長 30 秒=30000 まで指定可能)。日単位や年単位の移動では、time.addTime("D", 1, 20000) のように長めの時間を指定すると動きが分かりやすくなります。 |
time.autoUpdateUnit("D") |
「Play」再生や「+1」/「+10」ボタンで使用するステップ単位を設定します。 |
time.play() |
現在のシミュレーション時刻から、設定された単位で連続再生(早送り)を開始します。time.play(false) または time.stop() で一時停止します(実時計の現在時刻へジャンプすることはありません)。 |
time.resume() |
現在の実時刻に合わせ、ステップ単位を秒(s)にして実時間(リアルタイム)再生を開始します。 |
time.reset() |
シミュレーション時刻を現在の実時刻に合わせます(すでに再生中の場合は再生が継続されます)。 |
time.increment() |
現在のステップ単位で +1 進めます。同様に decrement(−1)、increment10(+10)、decrement10(−10)も使用できます。 |
詳しくは時刻を参照してください。
観測地とメインビュー(Observer)
observer.setLocation("Portland") は都市名を検索して観測地を設定します。同名の都市が複数ある場合はエラーとなり、国名と地域の一覧が出力されるため、絞り込んで指定し直せます。また、緯度と経度を 2 つの数値として渡すか、1 つの座標文字列として渡すことも可能です(数値を 1 つだけ渡した場合は都市 ID として扱われます)。
observer.getLocation() は現在の観測地 ID を文字列で返します(座標の直接指定のみで設定されているセッションでは "" を返します)。後で元の観測地に戻したい場合は、変更前に変数へ保存しておいてください。ユーザーが保存した場所(My Locations)は u- で始まる ID を持ちます。
observer.setLookFrom("Moon") は UI の「Look from target」に対応します。省略可能な引数として緯度、経度、高度(メートル)を渡せます(省略した場合はその天体上での現在の経緯度を維持します)。引数を省略して地球("Earth")に戻すと、最後に使用していた地球上の観測地が復元されます(緯度・経度を明示した場合は常にその値が優先されます)。
observer.setViewMode は【Main View】メニューの切り替えに対応しており、以下の文字列を指定できます。
3D Universe、3D Orbit、2D Celestial Sphere、2D Planetarium、2D Solar System、2D Planisphere、Simulation、Ephemeris- また、
suncentric(太陽中心)とearthcentric(地球中心)を指定すると、それぞれのモードで【2D Solar System】を開きます。Consoleを指定すると、現在のビューを維持したままスクリプトエディタを開きます。シーンの切り替え時はカメラの移動完了まで待機します。
observer.getLookFrom() は、現在観測地点としている天体、名前、緯度、経度、および高度を返します。
画面上のテキスト表示とパネル切り替え(Display)
キャプション(字幕)とタイトルは、【Presentation】モードを含むすべてのビューで空の画面上に重ねて表示されます。スクリプトの該当行が実行されたタイミングで画面に現れます。
| コマンド呼び出し | 動作内容 |
|---|---|
display.caption("Now Mars") |
画面下部のキャプションを置き換えます。引数なしで呼び出すとキャプションのみを消去します。 |
display.print("line") |
現在のキャプションの下に新しい行を追加します。 |
display.clear() |
キャプションを消去します(右上のタイトルは残ります)。 |
display.title("Tour") |
画面右上のタイトル表示を置き換えます。空文字列または引数なしで呼び出すと非表示になります。 |
display.showNavigator(true) |
左側の【Navigator】パネルを表示/非表示にします(【Presentation】モード中はオンにしても表示されません)。 |
display.showPropertyList(true) |
右側の【Property panel】を表示/非表示にします。 |
display.showCharts(true) |
サブ 3D ビュー、極座標チャート、星座早見チャートをまとめて表示/非表示にします。 |
display.setView("presentation") |
現在の画面の表示枠モードを切り替えます:default(通常表示)、photoreal(V キーの写真表示)、または presentation(P キーのプレゼンテーション表示)。これは【Main View】の変更ではありません。なお、【2D Solar System】と【2D Planisphere】では、photoreal を指定してもプレゼンテーション表示になります。 |
display.setSecondaryViewFov(20) |
サブ 3D ビューの視野角(FOV)を設定します(サイドチャートがオフだった場合は自動的にオンになります)。 |
display.setSecondaryViewSync(true) |
メインビューのパン(視点移動)に連動して、サブ 3D ビューとサイドチャートの中心も追従させます(サブ 3D ビューの視野角自体は独立して維持されます)。 |
なお、console.log("hello") は常に「Console」タブへ出力され、core.output("hello") は常に「Output」タブへ出力されます。
オプション設定、状態スナップショット、スクリーンショット(Core)
core.setOption("starMagnitude", 6) は、スライダーやメニューの選択値を設定します(レイヤー自体のオン/オフは切り替えません)。core.listOptions() で設定可能なオプション ID と有効な値の一覧を出力できます。ID の照合では大文字・小文字、空白、ハイフン、アンダースコアは無視されます。
| オプション ID | 指定可能な値 |
|---|---|
starMagnitude |
1〜12(恒星の限界等級) |
starLabelMagnitude |
1〜7(恒星ラベルの限界等級) |
planetScale、satelliteScale |
1、2、5、10、20、50、100、200、1000、2000、3000(サイズ倍率) |
bortleScale |
0〜9(ボートル・スケール。0 が最も暗い星空) |
starBrightness |
およそ 0.6〜1.8(恒星の明るさ) |
skyToneDensity、skyToneBrightness |
およそ 0.25〜3(天の川点描の密度と明るさ) |
cometBrightness |
およそ 0.5〜32(彗星の明るさ) |
gridLineBrightness、constellationLineBrightness |
0〜2(グリッド線・星座線の明るさ) |
constellationImageBrightness |
0〜3(星座絵の明るさ) |
lineBrightness |
0〜2(グリッド線と星座線の両方の明るさを一括設定) |
autoRotate、clickSelectObject |
true または false(自動回転、クリックで天体選択) |
theme |
default、red、white、antiquewhite、blueprint、gold、blackwhite、navywhite、blackgreen、blackblue |
planetImageModulate、view3DModulate |
true または false(惑星・3Dビューのテーマ色味反映) |
locale |
system、en、ja(表示言語) |
frameFocalLength |
24、35、50、70、100、150、200、240、300、600、1000、1500、2000、2400、2800(35mm換算フレーム焦点距離) |
floorChoice |
savanna、ocean、none(地面の種類) |
horizonChoice |
mountains、none(地平線の種類) |
landscapePreset |
land、ocean、none(風景プリセット) |
core.getState() は現在のビュー全体の状態(視野角、照準座標、選択天体、時刻、レイヤー状態、星座・アステリズムの個別表示フラグ、各種オプション、メインビュー、観測地、表示スイッチ)をオブジェクトとして返します。「Console」タブのプロンプトで実行するとテキストとして表示されます。スクリプトから「Output」タブに出力したい場合は、以下のように core.output に渡します。
core.output(JSON.stringify(core.getState()));
core.setState(obj) は、渡されたオブジェクトに含まれるキーの設定値だけを復元します。たとえば fov を 20 に設定しただけのオブジェクトを渡せば、他の設定は一切変えずに視野角だけを 20° に変更できます(この操作は「Back」/「Forward」の履歴には追加されません)。
core.screenshot() は、ユーザーフォルダ内の screenshots ディレクトリに PNG 画像を保存し、保存されたローカルパスを返します。
| 種類(Type) | 保存される画像の内容 |
|---|---|
default |
ラベルとグリッドを含む空(サイドチャートは含まない)。引数を省略した場合の既定値です。 |
photoview |
ラベルとグリッドを非表示にした写真表示の空。 |
presentation |
タイトル、時計、スクリプトのタイトルとキャプションを含む画面。 |
presentation_chart |
上記 presentation に加え、表示中のサイドチャートを含めた画面。 |
また、core.screenshot("tour.png") のようにファイル名を直接指定して保存することもできます。
core.help() は利用可能なコマンド一覧を出力し、core.search("Vega") は名前に一致する天体候補を出力します。
短いガイドツアーの作成例
display.title("Saturn, two views");
observer.setViewMode("2D Planetarium");
camera.lookAt("Saturn");
camera.setFov(2);
display.caption("Saturn, two degrees across the field.");
core.waitForUser("Next");
observer.setViewMode("3D Universe");
camera.lookAt("Saturn");
display.caption("The same planet, in the scaled system.");
core.waitForUser("Next");
display.clear();
display.title();
ツールバーを隠して再生したい場合は、Presentation チェックボックスをオンにして「Run」を実行します。core.waitForUser("Next") が実行されると、画面下部に「Next」ボタンが表示され、クリックするまでスクリプトが一時停止します(引数のラベル文字列を省略した場合も、ボタンには「Next」と表示されます)。
収録されているサンプルツアー
ファイルメニューの「Load」から、以下のサンプルスクリプトを読み込んで実行できます。
| ファイル名 | 使用ビュー | ツアーの内容 |
|---|---|---|
tour_inner_planets.js |
【3D Universe】 | 太陽、水星、金星、地球、月、火星を順に巡ります。 |
tour_jupiter_moons.js |
【3D Universe】 | 木星とガリレオ衛星を観察し、8 日間の動きを早送り再生します。 |
tour_portland_sunset.js |
【2D Planetarium】 | ポートランドでの日没から、宵の明星・ベガへと空を巡ります。 |
tour_polaris.js |
【2D Planetarium】 | 北極星(ポラリス)を中心に回転する星空を観察します。 |
tour_celestial_coords.js |
【2D Celestial Sphere】 | 天の赤道と天の北極、黄道、および銀河中心を確認します。 |
tour_orion.js |
【2D Celestial Sphere】 | オリオン座、ベテルギウス、リゲル、オリオン大星雲(M42)、シリウス、プレアデス星団(M45)を巡ります。 |
tour_eclipse_2026.js |
【3D Universe】→【2D Planetarium】 | 2026 年 8 月 12 日の皆既日食を宇宙から見たあと、スペイン・バレンシアから皆既日食を観察します(途中で「Next」ボタンのクリックを待機します)。 |
JavaScript の仕様と制限事項
スクリプトには標準的な JavaScript 文法(let、const、関数、ループ、Math、Date、JSON、テンプレート文字列など)を使用できます。1 つのファイルがスクリプト全体として扱われ、import 文はサポートされていません。
また、セキュリティと安定性のため、fetch(ネットワーク通信)、ファイルシステムへの直接アクセス、および setTimeout は使用できません。一時停止には core.wait を使用してください。time.setTime には ISO 形式の UTC 文字列または Date オブジェクトを渡します。なお、カメラ移動や時計の待機を行わずに計算処理だけを延々と続けるスクリプト(無限ループなど)は、約 30 秒で自動的に強制停止されます(カメラの旋回中や「Next」ボタンのクリック待ち時間は、この 30 秒の制限にはカウントされません)。
同じコンピュータ上の AI アシスタントからも、これと同じコマンド群を呼び出してアプリを操作できます。詳しくはAIアシスタントを参照してください。
