基本概念(共通コンポーネント)

コンポーネントとは、エンティティに追加できる機能のことです。
エンティティにコンポーネントを追加することで、そのエンティティで対応する機能が使用可能になり、ノードグラフを通じてコンポーネントのデータやロジックを変更できるようになります。

コンポーネントの追加や削除は、編集時のみ可能で、ゲームプレイ中に動的に追加や削除をすることはできません。
ただし、一部のコンポーネントはノードグラフを介してコンポーネントの有効/無効を制御することができます。
エンティティがステージに存在する限り、コンポーネントの機能はエンティティが破棄されるまで動作し続けます。

オプションタブを使用すると、プレイヤーは動的オブジェクトや創造物の設定および操作が可能になります。
※複数のタブを同時に設定・適用することができます。

各タブは、ローカルフィルターを使ってプレイヤー毎に表示/非表示を制御することができます。
このタブ機能を起動できるエンティティタイプは、「キャラクター」になります。

・初期有効
→エンティティ作成時に有効になっているオプションタブを設定します。

オプションタブリスト

・オプションタブ ID
→オプションタブを特定するためのIDです。ノードグラフでは、このIDを使用してオプションタブの有効/無効を制御します。

・オプションタブアイコン
→アイコンをクリックすることで、アイコンを変更することができます。

・オプションタブ表示内容
→オプションタブに表示する内容を変更することができます。

・初期有効
→オンの場合、エンティティ作成時からこのオプションタブが有効になります。

・順序レベル
→オプションタブの表示順を制御します。数値が大きいほど、上側に表示されます。

・ローカルフィルター
→「ブーリアンフィルター」「整数フィルター」のどちらかを設定できます。

・フィルターノードグラフ
→ローカルフィルターで選択したフィルターノードグラフを紐づけることができます。

オプショントリガーエリア

・トリガーエリアの形状
→「直方体」「球体」「カプセル」のいずれかを設定できます。

・中心
→エンティティまたはプレハブの中心からのオフセット距離を設定します。

・回転
→中心位置を基準に各軸に沿った向きの調整ができます。

・ズーム倍率
→トリガー範囲の形状について、各軸毎のスケーリング調整ができます。

基礎モーションデバイスを使用すると、設定されたルールに従ってオブジェクトを移動させることできます。

マルチプレイ中、基礎モーションデバイスは、すべてのクライアント間で一貫した体験を維持することを優先します。
※端末の性能に差がある場合、低スペック端末に合わせられる可能性があります。

基礎モーションデバイスは、1つのエンティティに対して複数の動作を設定することができます。
各デバイスの動きは同時に処理されますが、一部のデバイスは併用することができない場合があります。

基礎モーションデバイスの種類

等速直線

等速直線は、ワールド座標系に基づき、一定速度で固定方向に移動します。

初期有効
→オンの場合、このエンティティが生成された直後から移動が開始します。

有効時間
→設定時間が経過すると、モーションデバイスは自動的に停止します。

速度ベクトル
→3軸それぞれの方向に沿ったエンティティの速度を設定します。

速度
→3Dベクトル変換後の移動スピードです。

相対位置
→エディタ編集時に、このモーションデバイスが単独で動作した場合に、有効時間が経過した後のエンティティの位置を表示します。

等速回転

等速回転は、ワールド座標系に基づき、固定軸を中心に一定速度で回転します。

初期有効
→オンの場合、このエンティティが生成された直後から移動が開始します。

有効時間
→設定時間が経過すると、モーションデバイスは自動的に停止します。

相対回転軸の向き
→回転の軸を設定します。

角速度
→1秒あたりの回転角度を設定します。

パス移動

パス移動は、複数のウェイポイントに沿って移動します。

初期有効
→オンの場合、このエンティティが生成された直後から移動が開始します。

ループタイプ
→「片道」「往復」「ループ」のいずれかを選択できます。
・片道:パスの終点に到達すると移動を停止し、モーションデバイスを無効にします。
・往復:パスの終点に到達すると進行方向を反転し、開始地点まで戻ります。
・ループ:パスの終点に到達すると、瞬時に開始地点へワープして移動を再開します。

到着時間
→前の地点から現在の地点まで移動するのにかかる時間を設定します。

モーションルート
→「直線」「ベジェ曲線」のどちらかを選択できます。

相対位置
→エンティティの位置に対するパスのポイントの相対的な位置を設定します。

絶対回転
→ワールド座標に対するパスのポイントの回転角度を設定します。

システムノードグラフに到達
→該当するウェイポイントに到達した時、エンティティに対して「パスがウェイポイントに到達した時」のイベントを送信します。

ターゲットに向かって回転

ターゲットに向かって回転は、指定された時間内にオブジェクトを特定の角度まで回転させます。

初期有効
→オンの場合、このエンティティが生成された直後から移動が開始します。

有効時間
→設定時間が経過すると、モーションデバイスは自動的に停止します。

絶対目標角度
→デバイスが単独で動く場合、有効時間経過後にエンティティが向いているべき角度を設定します。

定点移動

定点移動は、指定した位置や回転に移動します。

初期有効
→オンの場合、このエンティティが生成された直後から移動が開始します。

運動方式
→「等速直線」「すぐに到着」のどちらかが設定できます。
・等速直線:一定の速度と回転速度で、目標の座標および回転角へと移動します。
・すぐに到着:他の移動設定を無視し、オブジェクトの座標と回転角を即座に目標値へと書き換えます。

到達方法
→「固定速度」「固定時間」のどちらかが設定できます。

モーションの速度
→到達方法が「固定速度」の場合のみ設定できます。

運動時間
→到達方法が「固定時間」の場合のみ設定できます。目標地点に到達するまでの所要時間を設定します。

目標位置
→モーションデバイスの移動先となる目標座標を設定します。

目標回転
→モーションデバイスが目指す目標の回転角を設定します。

回転に追従
→オンの場合、オブジェクトの向きが移動先の回転に合わせて回転されます。

ステージパス移動

ステージパス移動は、パス管理で設定したパスに向かって移動します。

初期有効
→オンの場合、このエンティティが生成された直後から移動が開始します。

ループタイプ
→「片道」「往復」「ループ」のいずれかを選択できます。
・片道:パスの終点に到達すると移動を停止し、モーションデバイスを無効にします。
・往復:パスの終点に到達すると進行方向を反転し、開始地点まで戻ります。
・ループ:パスの終点に到達すると、瞬時に開始地点へワープして移動を再開します。

ステージパス
→参照するパスを指定します。
 パスを選択すると、パス管理ツールで設定されたウェイポイントに基づいて、ウェイポイント情報が自動的に生成されます。

到着時間
→前の地点から現在の地点まで移動するのにかかる時間を設定します。

運動方式
→「等速直線」「すぐに到着」のどちらかが設定できます。
・等速直線:一定の速度と回転速度で、目標の座標および回転角へと移動します。
・すぐに到着:他の移動設定を無視し、オブジェクトの座標と回転角を即座に目標値へと書き換えます。

到達方法
→「固定速度」「固定時間」のどちらかが設定できます。

モーションの速度
→到達方法が「固定速度」の場合のみ設定できます。

運動時間
→到達方法が「固定時間」の場合のみ設定できます。目標地点に到達するまでの所要時間を設定します。

システムノードグラフに到達
→該当するウェイポイントに到達した時、エンティティに対して「パスがウェイポイントに到達した時」のイベントを送信します。

ウェイポイント情報を表示
→オンの場合、各ウェイポイントの詳細データが表示されます。
 ※これらの情報をモーションデバイス側から編集することはできません。

基礎モーションデバイスの状態

基礎モーションデバイスには、3つの状態があります。

停止中:コンポーネントに設定された直後で、まだアクティブ化されていないデフォルトの状態。

実行中:基礎モーションデバイスが正常に動作している状態。

一時停止中:基礎モーションデバイスが一時停止してる状態。停止とは異なり、一時停止中のモーションデバイスは、現在の進捗を記録しているため、再開してそこから動きを続行することができます。

基礎モーションデバイスの併用ルール

等速直線等速回転パス移動ターゲットに向かって回転定点移動ステージパス移動
等速直線併用可能併用可能併用可能併用可能併用可能併用可能
等速回転併用可能併用不可併用不可併用不可併用可能併用不可
パス移動併用可能併用不可併用不可併用不可併用可能併用不可
ターゲットに向かって回転併用可能併用不可併用不可併用不可併用可能併用不可
定点移動併用可能併用可能併用可能併用可能併用不可併用不可
ステージパス移動併用可能併用不可併用不可併用不可併用不可併用不可

基礎モーションデバイスの競合ルール

基礎モーションデバイスは、モーションデバイス名を一意の識別方法として使用します。
1つのエンティティ内で、名前が重複することは許されません。

以下の条件に該当する場合、競合が発生します。
・同名のモーションデバイスを有効化した
・有効化したモーションデバイスのタイプが併用ルールに従っていない

基礎モーションデバイス間の競合チェックの対象になるのは、「実行中」または「一時停止中」のデバイスのみで、アクティブ化されていないデバイスは対象外になります。

新しく有効化されたモーションデバイスが既存のデバイスと競合する場合、既存のデバイスは停止され、その後に新しいデバイスが有効化されます。

衝突トリガーは、ステージ実行中、衝突トリガーソースを持つ他のエンティティを常に監視し、衝突判定を検知します。

アクティブなエンティティが持つ衝突トリガーソースが、別のエンティティの衝突トリガーの範囲内に入る または 範囲外に出た時、互いのエンティティの範囲同士の衝突によって、「衝突トリガー」が設定されているエンティティにイベントノードが送信されます。

1つの衝突トリガーソースが複数の衝突トリガーと衝突した場合、それぞれの衝突検知は独立して処理されます。

衝突トリガーの編集

・初期有効
→オンの場合、エンティティ作成時からこの衝突トリガーが有効になります。

効果発動対象
→「キャラ」「オブジェクト」「創造物」を選択することができます。
 選択されたエンティティタイプにのみ衝突判定を行います。

トリガーエリアの形状
→「直方体」「球体」「カプセル」のいずれかを選択できます。

中心
→エンティティまたはプレハブの中心からのオフセット位置を設定します。

回転
→中心位置を基準に、各軸に沿った向きを調整できます。

ズーム倍率
→トリガーエリアの形状について、各軸ごとのスケールを設定できます。

トリガーエリアを追加
→新しいエリアを追加することができます。
 同じ衝突トリガー内にある各エリアは自動的に統合され、1つの衝突範囲として機能します。

カスタム変数とは、エンティティに保存されるデータ構造のことです。
クリエイターは、この変数を自由に定義して使用することができます。

プレイヤーのスコアを記録したり、プレイヤーがスイッチを叩いた回数をカウントして仕掛け扉を開けるかどうかを判定したりなど、ゲームロジック用の値を保持するために使用します。

それぞれのカスタム変数は、一意の識別子として「カスタム変数名(文字列型)」を使用します。
データの読み取り、書き換え、イベントの監視といった操作はすべてこの変数名を基に行われるため、同一のエンティティ内で同じ名前を重複させることはできません。

使用可能なデータ型

基本データ型リスト型辞書型
文字列文字列リストすべての辞書型
整数整数リスト
浮動小数点数浮動小数点数リスト
ブール値ブール値リスト
3Dベクトル3Dベクトルリスト
エンティティエンティティリスト
GUIDGUIDリスト
配置ID配置IDリスト
プレハブIDプレハブIDリスト
陣営陣営リスト
構造体構造体リスト

カスタム変数のライフサイクルとスコープ

カスタム変数のライフサイクルは、エンティティに従います。
エンティティが破棄されると、カスタム変数も同時に破棄され、アクセスや変更ができなくなります。

カスタム変数は読み取り・書き込みの両方においてグローバルなスコープを持ちます。つまり、あるエンティティから、他のあらゆるエンティティ上のカスタム変数を読み取ったり変更したりすることが可能です。
他の多くのイベントと同様に、カスタム変数のイベントは、ノードグラフが実装されているエンティティに対してのみ送信されます。

カスタム変数の編集

カスタム変数は、使用前にあらかじめ定義しておく必要はありません。
「カスタム変数を設定」ノードを使用して、エンティティに新しいカスタム変数を動的に作成できます。
※新しく作成する変数は、既存の変数名と重複してはいけません。

コンテナ型の特殊仕様

ノードグラフにおけるコンテナ型のカスタム変数は、「参照渡し」という独特の仕組みで動作します。
コンテナ型には、すべてのリスト型、辞書型、構造体型が含まれます。

例えば、「リストの値を設定」ノードでリスト型の変数を編集するとき、「カスタム変数を取得」ノードで取得したリストを接続します。これは変数の値そのものではなく、そのリストが格納されている場所を参照します。
これがいわゆる「参照渡し」になります。

この動作では、実際にカスタム変数内の値を書き換えてはいますが、「カスタム変数が変化した時」のイベントは発生しません。
このイベントは、「カスタム変数を設定」ノードを使用した場合のみ発生します。

「カスタム変数を設定」ノードで、コンテナ型の変数を変更することも可能であり、その場合は「カスタム変数が変化した時」のイベントが発生します。

投射物モーションデバイスを使用すると、エンティティに複雑な動作を実行させることができるようになります。

投射物モーションデバイスは、1つのエンティティにつき1つだけアクティブにすることができます。

動くたびに位置がずれやすいため、発射物や動きのあるエフェクトでの使用に向いています。
また、切断や再接続が発生した場合、位置がリセットされることがあります。

投射物モーションデバイスの種類

直線投射

初期速度
→動き出す瞬間の「向かう方向」です。

速度
→移動する「速さ」です。

加速度
→1秒間に「どれくらい速くなっていくか」を設定します。

加速時間
→加速が「何秒間続くか」を決めます。

接地モーション
→オンの場合、地面の起伏に追従して移動するようになります。

放射線投射

初期速度
→動き出す瞬間の「向かう方向」です。

速度
→移動する「速さ」です。

重力加速度
→重力の大きさです。1秒毎に「どれくらい下に向かうスピードが速くなるか」を設定します。

追跡投射

追跡対象
→追跡するターゲットを設定します。

目標接続点を追跡
→ターゲットの追跡する接続点を設定します。

初期速度
→動き出す瞬間の「向かう方向」です。

速度
→移動する「速さ」です。

加速度
→1秒間に「どれくらい速くなっていくか」を設定します。

加速時間
→加速が「何秒間続くか」を決めます。

追跡角速度
→投射物がターゲットに向かってどれくらい急に曲がれるかを設定します。
 この値が小さいと、曲がりきれずに目標に当たらないことがあります。

追跡最終段階
→「なし」「追跡停止」「吸着追跡」のいずれかを選択できます。
・なし:特別な設定を行いません。ターゲットを通り過ぎても追いかけ続けようとするため、ターゲットの周りをぐるぐると行き来することがあります。
・追跡停止:ターゲットの近くまできたら追いかけるのをやめて、そのまま真っすぐ飛び去ります。プレイヤーが移動して避けることができる投射物を作る時に使用します。
・吸着追跡:ターゲットの近くまできたら磁石のようにターゲットへ吸い寄せられてくっつき、その後はターゲットと一緒に動きます。追尾弾でよく使用します。

追跡停止範囲
→追跡最終段階が「追跡停止」の場合に設定できます。
 ターゲットからどれくらい近づいたら追いかけるのをやめるかという距離です。

吸着範囲
→追跡最終段階が「吸着追跡」の場合に設定できます。
 ターゲットからどれくらい近づいたら吸い寄せ始められるかという距離です。

吸着時間
→追跡最終段階が「吸着追跡」の場合に設定できます。
 吸い寄せが始まってから、完全にターゲットへくっつくまでにかかる時間です。

円周投射

対象の周囲を回転
→中心となるターゲットを設定します。

目標接続点を追跡
→ターゲットの中心となる接続点を設定します。

時計回りにしますか?
→はいの場合、ターゲットの周囲を時計回りに回ります。

周囲回転半径
→描く円の半径を設定します

角速度
→円を回る速度を設定します

コメント