地形・お題

お題は予算内で機体を組み、Coreを緑のゴールに入れればクリア。かかった時間と使ったコストが記録になります。今の機体のまま挑戦し、組み直すときは「組む」へ。

コスト:Chip・Frame 1、Rudder・Trim 2、Weight 3、Wheel・RLW 5、Jet・Arm 8、Core・Cowl 0。Luaも使えます(記録に「Lua使用」と出ます)。

水路の通過記録

北向きに左右のブイの間を通った時刻と水平速度です。時刻は開始・リセットから測ります。

距離通過時刻水平速度

共有リンク

編集したモデルは、リンクを作った時点の内容で開きます。ミッションの初期状態を共有すると、教材を直接開くリンクになります。

保存ファイル名

このブラウザでの保存名です。共有リンクには含まれません。

部品を探す

部品名

英字で始め、半角英数字と_を使います。大文字で保存します。空欄にすると名前を解除します。

名前は部品一覧とスクリプトの識別に使います。変更・解除してもスクリプト内の参照は書き換えません。利用中の名前はソースも確認してください。コピー・反転した枝には、重複しない別名を付けます。

枝を移動

子の部品も一緒に移します。位置・姿勢や部品番号が変わる場合があります。スクリプトの番号参照は書き換えません。

操作キーを選ぶ

同じキーを別の操作でも使うと、同時に動きます。

この一覧はKey定義の割り当て先です。スクリプト内のキー利用やWASDの矢印代用は含みません。

作って、走らせる

  1. 組む → 新規でCoreから作成。サンプルを選んで改造することもできます。
  2. 画面の部品か一覧を選び、種類・角度を調整。N / W / E / S +で選んだ部品の辺に追加します。画面の黄色いN/W/E/Sと丸印が、その部品の接続方向と接続点です。「全体」「選択へ」で見やすい距離へ移動できます。
  3. WheelやJetの操作、部品の角度の操作から、↑ / ↓、← / →、Z / X、A / Dを選んで追加できます。離すとゼロへ戻ります。同じキーを複数の操作に割り当てると同時に動きます。角度の操作が隠れているときは、角度欄の「操作」で開きます。角度も出力も「(逆)」で逆向きに連動できます。「キーを選んで追加…」なら、17キーから異なる2キーを選べます。出力には保持式もあります。
  4. ▶ 実行で試運転。表示されたキーで操縦し、組むで編集へ戻ります。
  5. 保存名で名前を付け、保存でファイルへ、開くで読込。共有リンクは今の編集内容を渡せます。下書きはこのブラウザに最新の1件が保存され、復元後はUndoで戻せます。

モデルの切替を戻す:ファイルやサンプルを開いた後も、「組む」の取り消しで直前のソース・保存名へ戻れます。これは今開いているページ内の履歴です。残したいモデルはファイルに保存してください。

接続方向:N / W / E / Sの追加ボタンに、選んだ部品からその方向へ接続している子の数を表示します。「空き」は子がない方向です。同じ方向への追加・貼り付けもできるため、角度が同じだと部品が重なる場合があります。3D画面の選択部品に出るN / W / E / Sの印を押しても、同じように追加・貼り付けできます。

複数選択:3D画面でShift / Ctrl+クリックすると、部品を選択に加える・外すことができます(タッチでは「複数選択」を押してからタップ)。青い枠が追加で選んだ部品です。種類・角度・色・削除はまとめて変わり、Undoも1回で戻ります。一覧から選ぶか「選択を解除」で1つの選択に戻ります。

スクリプト:「スクリプト(Lua)」の「Luaへ移動」でLuaの部分へ移動します(無ければOnFrameのひな形を追加)。「Luaを広く編集」を押すと本文が広がり、「関数・ひな形」で挿入ツールを開閉できます。関数を検索して説明を見ながらカーソル位置に挿入でき、値の表示・キー操作・高さや傾きを保つ制御のひな形もあります。エラーの行番号が出たら、ステータスの下の「エラーの行へ」でその行を選択します。

Luaを書く:ソース欄の左に行番号が出ます(押すとその行にブレークポイント)。Luaの部分では、入力に合わせて候補が出ます。モデル自身の変数・Val・部品名・APIの関数・Luaの言葉が候補で、↑↓で選んでEnterかTabで入力、Escで閉じます。Ctrl+Spaceで呼び出せます。文法の誤りは入力中に行番号の赤い印と下の行で知らせます(実行はしません)。実行中にLuaだけ書き換えたら「Luaを反映」(Ctrl+Shift+Enter)で、止めずに差し替えられます。変数の値は引き継ぎ、書き換えた初期値だけが新しくなります。

デバッグ(🐞):実行中の走りは毎フレーム記録されています。🐞で開く欄では、ValとLuaの変数を見られます(☐で選ぶとグラフ表示)。|▶ / ◀| または . / , で1コマ進む・戻る。タイムラインをドラッグすると、その時点まで巻き戻せます(記録した入力で最初から計算し直すので、同じ結果になります)。行番号か「カーソル行」でブレークポイントを置くと、その行を実行したフレームで一時停止し、その行のローカル変数を表示します。止まるのはその行を実行する直前で、フレームの途中です(物理はまだ進んでいません)。「次の行」で1行ずつ進め、「このフレームを最後まで」か「続行」で再開します。途中で止まっている間は、コンソールとLuaの差し替えは使えません(記録を再生したときに同じ結果にならないため)。条件(例:t > 30、その行のローカル変数も使える)や「何回目から」も指定できます。欄の左下のコンソールでは、走っているモデルにLuaの式を打ち込めます。書き換え・コンソールも記録されるので、巻き戻しても同じ結果になります。

地形・お題で走る場所を選べます。自由走行の「峠」は登坂や旋回、「波状路」は車輪や足回りの試走向けです。「地形図」を開くと、白い点で現在地を確認できます。動いている間、点の矢印が実際に進んでいる方向を指します。

お題は予算内で機体を組み、Coreを緑のゴールへ運びます。黄色の中間地点があるコースでは先にそこを通ってください。「峠の空路」は指定高度を飛びます。完走すると、このブラウザに自己ベストが残ります。記録リンクを開くと同じ走りを再計算します。

アクセス解析:このサイトは訪問数を知るために Cloudflare Web Analytics を使っています。Cookieは使わず、個人を特定する情報は集めません。モデル・走り・自己ベストを集める仕組みはありません(自己ベストはこのブラウザにだけ保存されます)。

ミッション:「地形・お題」のミッションは、Luaで制御を作る練習です。選ぶと練習用の機体に替わります(「組む」の取り消しで元の機体に戻せます)。「Luaを編集」で試走を止め、課題の行を書き換えられます。易しい順に、車の速さを保つ、決めた所で止まる、行って帰る(変数で状態を覚える)、ホバーで高さを保つ、斜面に沿って飛ぶ、線に乗り換える(ハンドル)、セグウェイを立たせる、の7つがあります。

走りの共有:共有リンクで「いまの走りも含める」を選ぶと、操作の記録がリンクに入ります。開いた人の画面で同じ走りが再生され、キーを押すとそこから操作を引き継げます。

部品を探す:部品一覧の「探す…」から、名前・種類を部分一致で検索できます。結果を選んで「選択へ」を押すと部品を選択し、画面もその部品へ移動します。検索はモデルやUndo履歴を変更しません。

部品名:「名前・接続先」の「部品名…」で設定・解除できます。名前は大文字で保存され、一覧とスクリプトで使えます。変更・解除してもソース内の参照は書き換えません。コピー・反転した枝には、重複しない別名を付けます。

枝の移動:部品を選び「名前・接続先」を開いて「枝を移動…」を押すと、子ごと別の親・方向へ移せます。名前は保たれますが、部品番号や姿勢が変わる場合があります。スクリプトの番号参照は自動では直しません。

強さの共有:「最大角度(共通)」「最大出力(共通)」を変えると、同じ操作変数を使う部品がまとめて変わります。1つの部品だけ変えるには、その操作の一覧で「この部品用に分ける」を選んでから強さを調整します。キー・逆向き・保持設定は引き継がれ、分けた後も同じキーで動きます。別のキーで動かしたい場合は、そのキーの操作を追加してください。

スロットル:出力の操作で「を追加(保持)」を選ぶと、前のキーで増加、後のキーで減少し、離すと値を保ちます。出力は0〜最大出力。再実行で0に戻ります。

枝のコピー:部品を選んで「コピー」、接続先の部品を選び、N / W / E / S +で貼り付けます。複製側の部品名には_COPY_番号を付けます。操作変数・式・スクリプトの参照は元のままです。別モデルへ貼るときは、必要な変数・部品名の不足を表示します。定義やスクリプトは取り込みません。

反対側へ:枝を選ぶと、親部品の反対側へ反転して複製できます。車輪の駆動とRudder / Trimの角度も反転します。式で形状を変えるCowl、既に部品がある反対側は対象外です。

画面操作:視点は原作と同じA〜Jの10種類で、F8〜F12がA〜E、Ctrl+F8〜F12がF〜Jです(ブラウザが使うキーもあるので、1〜9・0キーと視点ボタンでも切り替えられます)。Aは原作の既定の追従で、機体の向きではなく動きに引かれて回り込みます。I/Oで拡大・縮小(全視点共通)。ドラッグとホイール、タッチの1本指・2本指は、Aでカメラを回す・離す追加機能です(原作には無い操作)。

キーボード:Ctrl / ⌘ + ZでUndo、Shiftを加えるとRedo。ソース欄と組み立て操作は同じ履歴で戻せます。数値など他の入力欄では、その欄のUndoになります。ソース欄はCtrl / ⌘ + Enterで実行、Tabで字下げ、Shift + Tabで前の操作へ移動します。