メインコンテンツまでスキップ

ゲーム操作

ゲーム操作は、オブジェクトを来場者が動かすものに変えます。歩く、飛ぶ、見下ろしのマップを進む。

追加するのはトリガーとしてであって、ステップではありません。ゲーム操作のトリガーを オブジェクトに置くと、コントローラー一式がその設定の中に収まります。そのブランチ(待機・移動・ ジャンプ・走行)を使えば、キャラクターがいま何をしているかに反応できます。

コントローラーはそのオブジェクトと寿命を共にします。オブジェクトを無効にすれば消え、また有効に すれば戻ってきます。

キャラクターに必要なものは 3 つ

操作されるオブジェクト(このトリガー)、立つための固い何か(rigid body と collider を 持つ床)、そしてカメラ。カメラは用意しなくても、自動で 1 つ提供されます。

移動

設定制御するもの
モード歩行、飛行、見下ろし
前方の基準カメラの向き、またはシーン自身の軸
速度 · 走行倍率毎秒メートル、そして Shift を押している間どれだけ速くなるか
加速 · 減速速度に達するまでの時間と、落とすまでの時間
進行方向を向く進む方向に向き直るかどうか、そしてその速さ
キー配置WASD、矢印キー、またはその両方
ジャンプの高さメートル。0 ならジャンプなし
空中制御ジャンプ中にどれだけ操作が効くか
リセット高さ開始位置よりこれだけ下に落ちるとキャラクターが戻されます
クリックで移動タップした地点まで歩く
視点を回す手段マウス、キー、またはその両方
加速は速度ではなく「時間」です

「0.5 秒」とは、その差を 0.5 秒で埋めるだけの力をコントローラーがかける、という意味です。 坂・押し合い・質量がその力と押し問答をします。だから移動が物理的に感じられるのです。

0 はできるかぎり速くという意味で、完全に瞬時ではありません。キャラクターには質量があるからです。

コントローラーはオブジェクトにカプセルを与え、力で動かします。だから世界をすり抜けるのではなく、 きちんと衝突します。

設定制御するもの
カプセルまたは球
半径 · 高さメートル
オフセットオブジェクトに対するカプセルの位置をずらす
質量押す強さと、押されにくさの両方
ヘルパー表示エディターにカプセルを描きます

自分で rigid body を作ってある場合、コントローラーはそれに手を触れず、質量を引き継いで操作だけを 行います。なければ、代わりに 1 つ作ります。

固いのは「宣言されたボディ」だけです

床や壁がキャラクターを止めるのは、rigid body と collider を持っているときです。ただの飾りの ジオメトリは書き割りにすぎず、キャラクターはまっすぐ通り抜けます。 → 物理

重力は space から来て、ジャンプの高さはそれを基準に測られます。ゲーム操作のあるシーンは、space で 物理がオフになっていてもオンにします。そうしなければ何も動かないからです。

追従カメラ

設定制御するもの
カメラどのカメラが追うか。空にすると組み込みのものを使います
向ける先キャラクターを見続けるか、固定した角度を保つか
位置 · 注視の遅れカメラがどれだけ遅れて付いてくるか(秒)
上下 · 左右自由・固定・制限
制限どこまで上がれるか、どこまで回れるか(度)
画づくりは打ち込むのではなく、カメラを置いて決める

最初のフレームで、リグはカメラとキャラクターの距離と角度を記憶し、以後それを保ちます。距離や 高さの数値を推測する必要はありません。ビューポートで見て良いと思える位置にカメラを置けば、 そこに留まります。

いくつかのふるまいは意図されたもので、知っておく価値があります。

  • カメラは追いかけるのではなく、キャラクターのほうを向きます。 横方向に少し遊びがあり、その 範囲ではカメラは位置を変えずに回転し、キャラクターが端に達してはじめて滑り出します。被写体に 溶接されたカメラは、カメラではなく三脚に見えます
  • 遅れが効くのは画づくりであって、距離ではありません。 キャラクターが加速してもカメラは後ろへ 流れません。それは頼んでいないズームに見えますし、やわらかい追従が気持ち悪くなる原因でもあります
  • キャラクターが動いていて、あなたが視点を回していないとき、画は背後へゆっくり回り込みます。 左右を固定するか、見下ろしモードにすると、これは無効になります
  • カメラは遮られることを拒みます。 自分とキャラクターの間に何かが入ると、寄ってから、あとで ゆるやかに戻ります。0.5 メートルより近づくことはありません
  • ホイールでズームします。 決めた距離のおよそ 1/3 から 2.5 倍までの範囲です

リグがカメラを動かしている間、そのカメラ自身の操作(orbit、fly)は無視されます。毎フレーム 取り合いになってしまうからです。

タッチとゲームパッド

画面上の操作はタッチスクリーンでのみ描かれるので、オンのままにしておいて構いません。

設定制御するもの
画面上の操作スティックとジャンプボタンを表示
視点を回す方法シーンのスワイプ、または 2 本目のスティック
スティックの隅 · ボタンの隅3×3 のどのセルに置くか
余白 · ボタンの大きさ端からの余白と、ピクセル単位の大きさ
表示グラフィックを隠す。スワイプでの視点操作は残ります

ゲームパッドは設定なしで、ほかのすべてと並行して使えます。左スティックで移動、右スティックで 視点、A でジャンプ、バンパーとトリガーで走行です。

キャラクターの状態に反応する

ブランチを実行するのと同じ状態変化が、script と patch にも届きます。script はそれを聞けますし、 patch には pulsestate の出力を持つノードがあります。

3 つとも同じ瞬間に受け取るので、アニメーションはブランチに任せつつ、足音は script から鳴らす、 といったことができ、ずれません。

コントローラーなしで追従させる

もっと単純なもの(プレイヤーを追う敵、ペット、カメラのターゲット)には、followlook at targetstop following のステップがあります。

これらはオブジェクトを直接動かすので、すでに物理が動かしているものには効きません。その場合は script からインパルスを使ってください。


次へ: インターフェースカード — ボタン、メニュー、スコア表示。