TRIALS FUSIONコースエディターで、「両輪走行のみ禁止(「前輪のみ走行」、「後輪のみ走行」のどちらでもOK)」の箇所を作る方法が、やっと完成したので、作り方を書いていきます。
これで、NINJAコースと呼ばれる激ムズコースの作成のバリエーションが大幅に増えます。
これは、「条件選択」を使えば作れる事は、かなり前からわかっていたのですが、何回やっても、うまく機能する形にならなくて、最近、ようやく完成したものです。
「条件選択」を使う方法は、具体的な作り方を書くだけでは、よくわかりづらいので、はじめに、作り方の考え方から書いていきます。
(考え方)
(1)「接触トリガー」を2つ使って、「前輪接触判定のみの、接触トリガー」、「後輪接触判定のみの、接触トリガー」の2つを、1つのランプなどで、同時に使う。
(2)
「前輪接触判定のみの、接触トリガーに接触」→「数値1を代入」、「接触していなければ、0を代入」
「後輪接触判定のみの、接触トリガーに接触」→「数値1を代入」、「接触していなければ、0を代入」
(3)2つの「数値代入」の値が、同時に動いた時のみ、加算すると「2」になるので、「2」になった時だけ、「前輪、後輪の両輪が地面に接触していると判定できるので、クラッシュさせる」
これで、「両輪走行のみ禁止(「前輪のみ走行」、「後輪のみ走行」のどちらでもOK)」の箇所が作れる事は、かなり前からわかっていたのですが、なぜか?うまく機能しませんでした。
(動かなかった原因)
(1)「接触トリガー」の「接触後無効化」のチェックボックスを「OFF」にしていなかった。
これが、「ON」だと、1度接触した状態の数値が残ったままなので、うまく機能しなかった。
(2)「インターバルトリガー」を使っていなかった。
「インターバルトリガー」というのは、「ある時間の間隔で、トリガーを発生させる」という機能を持ったものです。
「接触トリガー」というのは、どうも、「接触判定が起きた瞬間」と、「離れた瞬間」にしか、トリガー情報を飛ばさないので、「インターバルトリガー」が入っていないと、常に、監視する事ができないようです。
(具体的な作り方)
(1)次の物を画面に出す。
「前輪」の接触判定用と、「後輪」の接触判定用の一連の組みは、ほとんど同じ内容なので、「前輪用」を作って、全部をコピーして使います。
<1>「前輪」の接触判定用
[トリガーとイベント]-[トリガー]-[接触トリガー]
[トリガーとイベント]-[イベント]-[数値設定イベント(タイプ:設定)]を2つ
[トリガーとイベント]-[データソース]-[変数データソース]
(2)
[数値設定イベント]の1つ目は、「値: 1.00」にする。
[数値設定イベント]の2つ目は、「値: 0.00」にする。
どちらも、「イベントターゲットを選択」で、[変数データソース]につなげる。
(3)[接触トリガー]を設定する。
「接触オブジェクト1を設定」で、「バイクの前輪」を選択する。はじめからついている「バイク」、「ライダー」のチェックボックスは、OFFにする。
「接触オブジェクト1を設定」の「オブジェクトを個別に選択」で、「ランプ」、「地面」など、「前輪が接触してはいけない箇所」を選択する。
「接触後無効化」のチェックボックスを「OFF」にする。
「接触時」を、[数値設定イベント(値: 1.00)」につなげる。
「イベント詳細」で、「有効時」を、[数値設定イベント(値: 1.00)」につなげる。
「無効時」を、[数値設定イベント(値: 0.00)」につなげる。
これで、「バイク前輪が接触していると、1が代入されて、接触が離れると、0が代入されます」
(4)今つなげた4つの物を、全部、コピーする。
例えば、「接触トリガー」のアイコンを選択した直後に、「L1ボタン」を押したままにして、他の3つのアイコンを選択していくと、「複数選択」状態になる。
「複数選択」状態にした直後に、「L1ボタン」を離した直後に、「三角ボタン」を押せば、今の「複数選択」したものを全部、コピーできるので、別の場所に移動して、「複数選択」したコピーしたアイコンを置く。
<2>「後輪」の接触判定用
今の「複数選択」した「前輪の接触判定用」に作ったものを、「後輪」用に修正する。
「後輪」の接触判定用の「接触トリガー」の設定を変える。
「接触オブジェクト1を設定」で、「バイクの後輪」を選択する。「バイクの前輪」部分を、もう1度選択して、青くなっている選択状態を解除しておく。
「イベント詳細」の「有効時」のつながった先の矢印が、「前輪用」の方につながってしまっているので、「後輪用」の方の[数値設定イベント(値: 1.00)」につなげる。
これで、「前輪の接触判定用」と、「後輪の接触判定用」の両方の一連の組みができたので、次は、「条件選択」の方を作る。
(5)(「条件選択」を作る)次の物を画面に出す。
[トリガーとイベント]-[演算]-[2入力演算子]
[トリガーとイベント]-[フィルター]-[汎用フィルター]
[トリガーとイベント]-[トリガー]-[インターバルトリガー]
[トリガーとイベント]-[イベント]-[バイクパーツ取り外しイベント](または、「プレイヤーイベント」、「破壊イベント」など)(クラッシュ用)
(6)[2入力演算子(演算タイプ: 加算(+))]の設定
「入力値1」の所で、「三角ボタン」を押して、「前輪用」の方の「変数データソース」につなげる。
「入力値2」の所で、「三角ボタン」を押して、「後輪用」の方の「変数データソース」につなげる。
(7)[汎用フィルター(演算タイプ: 等しい(=))]の設定
「比較値1」の所で、「三角ボタン」を押して、[2入力演算子(演算タイプ: 加算(+))]につなげる。
「比較値2」の数値は、「2」にする。
「Trueイベントを選択」で、[バイクパーツ取り外しイベント](または、「プレイヤーイベント」、「破壊イベント」など)につなげて、「クラッシュ」用にする。
(8)[インターバルトリガー]の設定
「開始時間」は、「0(00:00.000)」
「間隔」は、「1(00:00.016)」
「イベント/フィルターを選択」で、[汎用フィルター(演算タイプ: 等しい(=))]につなげる。
(9)(クラッシュ用)
[バイクパーツ取り外しイベント]ならば、「前輪、後輪など」を選択
「プレイヤーイベント」ならば、「タイプ: 取りはずす」
「破壊イベント」ならば、「バイク」を選択する。
これで、「両輪走行のみ禁止(「前輪のみ走行」、「後輪のみ走行」のどちらでもOK)」の箇所の作成が完成です。
TRIALS FUSIONコースエディターで、「ワープゾーン」を作る方法は、いくつかあります。
<1> (ポータル(portal)を使う方法)
1番簡単なのが、「ポータル(portal)を使う方法」です。
(1) オブジェクトを出す画面にして、
[共通]-[ゲーム]-[ポータル]を2つ画面に出す。
(2) 「ポータル」を選択中に、カーソルキーの上を押して、「オブジェクトプロパティー」の画面を出す。
「ペアとなるポータルを選択」で、丸ボタンを押して、「対象オブジェクトを選択」で、もう1つの「ポータル」に結びつける。
(3) 出口の方の「ポータル」を選択して、矢印の向きを変更するとワープして出てきた時のバイクの傾きがその方向になります。
(4) 後は、ワープポイントがどこかわからないと困るので、好みで、エフェクトやゲートなどのオブジェクトを設置します。
ゲートにしたいオブジェクトが、通り抜けられないものである場合には、例えば、[一般]-[基本形状]-[板]などを、「素材」で好きな色に「発光」状態にした場合には、「物理法則詳細」で「物理法則タイプ」を「装飾のみ」にすれば、当たり判定が消えます。
(特殊な演出)
(ゴール後演出)
「ポータル」は、ゴールした後でも機能するので、ゴール後の演出に使えます。
ゴール後の演出の場合には、例えば、「出口の方のポータル」を選択して、「オブジェクトプロパティー」の画面で、「走行ラインに限定」のチェックを、OFFにすれば、好きな場所に、ポータルの出口を設置できます。
(条件で、ワープ位置を変更)
「ポータル」は、3つ以上出して、1つの入口ポータルに、2つ以上の出口をつなげる事ができます。
(1) 「入口ポータル」を選択して、「ペアとなるポータルを選択」で、2つの「出口ポータル」の両方につなげる。
「1番目の出口ポータル」(0)
「2番目の出口ポータル」(1)
(2) 条件を設定する方法は、たくさんありますが、1番簡単なのは、「エリアトリガー」を使う方法です。
次の3つを画面に出します。
[トリガーとイベント]-[トリガー]-[エリアトリガー]
[トリガーとイベント]-[イベント]-[数値設定イベント]
[トリガーとイベント]-[データソース]-[変数データソース]
(3) 「数値設定イベント」を選択して、「オブジェクトプロパティー」で、「値: 1.00」にする。
「イベントターゲットを選択」で、[変数データソース]につなげる。
(4) 「エリアトリガー」の「接触時」を、「数値設定イベント」につなげる。
(5) 「入口のポータル」を選択して、「有効なポータル」の所で、三角ボタンを押して、「値オブジェクトを選択」で、「変数データソース」につなげる。
こうしておくと、初期状態では、「変数データソース」の値が「0」で、「エリアトリガー」にバイクが接触すれば、「1」に変わります。
なので、通常では、「1番目の出口ポータル」にワープして、「エリアトリガー」に接触した後では、「2番目の出口ポータル」にワープできるという「条件で、ワープ位置を変更」が可能になります。
(6) これだけだと、ただ、ワープ位置が変わるだけで面白くないので、「スキルゲーム」で「スコア」が入るようにした方がいいので、「スコア加算」の方法を書きます。
画面に、「スコア計算」用に、次の2つを出します。
[トリガーとイベント]-[イベント]-[数値設定イベント]
[トリガーとイベント]-[データソース]-[変数データソース]
(7) 「スコア計算」用の「数値設定イベント」は、「タイプ: 加算」にして、「値: 1」にします。
「イベントターゲットを選択」で、「スコア計算」用の[変数データソース]につなげる。
(8) 先ほどの、「ワープ条件選択」用の「数値設定イベント」の、「イベント/フィルターを選択」で、「スコア計算」用の「数値設定イベント」につなげます。
(9) 「OPTIONS」ボタンを押して、「コース設定」の「ゲームモード設定」で「コース設定」画面を出す。
「ゲームタイプ: スキルゲーム」にする。
「スコアの設定」で、「メインスコア」を「タイプ: データソース」にして、「値のターゲットを選択」で、「スコア計算」用の[変数データソース]につなげる。
「ラベル: ポイント」などに好みでする。
(10) 後は、先程までの、「条件選択ワープ」の「エリアトリガー」のようなものを、同様にして、たくさん作って、「スコア計算」用の「数値設定イベント」の「スコア加算」だけは、「スコア計算」用の[変数データソース]に全部つなげておけば、難しい場所に設置した「エリアトリガー」に辿りつけた回数だけ、「スコア」が加算される「スキルゲーム」が作れます。
(「ポータル」を使う問題点)
・バイクに、「物理ジョイント」で「タイヤのライト」などを付けたりしていると、「ポータル」でワープできないようです。
この処理を行なうと、運が悪いと、エラーで強制終了になります。
・「ポータル」に入った後に、何か、デモシーンなんかをはさんでから、出口ポータルから出るような演出を作りたい場合には、うまく動かないようです。
<2> 「任意のチェックポイント」まで、強制的に、ワープさせる方法を使う場合
「ポータル」に非常によく似た動作をするものに、「任意のチェックポイントまで、強制的に、ワープさせる方法」があります。
「ポータル」を使った場合には、「いきなり、空中から出現させる」事が可能ですが、「任意のチェックポイントまで、強制的に、ワープさせる方法」では、あくまでも、「チェックポイント」なので、空中に出現させる事はできません。
一方で、「ポータル」を使うとできなかった上に書いた問題点の2つの処理をする事が可能です。
(1) [共通]-[ゲーム]-[チェックポイント]を画面に、3つ位出す。
(2) 次の2つを画面に出す。
[トリガーとイベント]-[トリガー]-[エリアトリガー]
[トリガーとイベント]-[イベント]-[プレイヤーイベント]
(3) 「プレイヤーイベント」の「オブジェクトプロパティー」を出して、「タイプ: チェックポイントにリセット」にする。
「チェックポイント・インデックス」というのが、スタート、ゴールを含めて、順番に、チェックポイントの数なので、ワープさせたい「チェックポイント」の番号にする。
(4) 「エリアトリガー」と「プレイヤーイベント」をつなげる。
これで、「エリアトリガー」に、バイクが接触すると、「任意のチェックポイントまで、強制的に、ワープさせる」事ができます。
(特殊な演出)
この方法だと、「ワープ」した後に、何か、デモイベントを作って、その終了後に、ワープさせる事ができます。
(1) 次のものを画面に出す。
先程とは、つなげ方が少し違う。
[トリガーとイベント]-[イベント]-[数値設定イベント]を2つ
[トリガーとイベント]-[データソース]-[変数データソース]
[トリガーとイベント]-[フィルター]-[インパルス遅延フィルター]
[トリガーとイベント]-[トリガー]-[エリアトリガー]
[トリガーとイベント]-[イベント]-[プレイヤーイベント]
(2) [数値設定イベント]の1つ目を、「値: 1」にして、「イベントターゲットを選択」で、[変数データソース]につなげる。
「イベント/フィルターを選択」で、[インパルス遅延フィルター]につなげる。
(3) [エリアトリガー]の「接触時」を、今の[数値設定イベント]の1つ目につなげる。
(4) [インパルス遅延フィルター]の「イベント/フィルターを選択」で、2つ目の[数値設定イベント]につなげる。
「遅延時間」は、自分で作りたいデモ演出の時間の好みで変更する。
(5) 2つ目の[数値設定イベント]は、そのままの状態で、「値: 0.00」のままで、「イベントターゲットを選択」で、[変数データソース]につなげる。
「イベント/フィルターを選択」で、先程のように、「任意のチェックポイントにワープできる」ように設定した「プレイヤーイベント」につなげる。
(6) 「バイク」を選択して、「オブジェクトプロパティー」を出して、「フリーズ」の所で、三角ボタンを押して、[変数データソース]につなげる。
これで、[インパルス遅延フィルター]で設定した時間だけ、バイクが「フリーズ」して止まった後で、「任意のチェックポイントにワープできる」ようになります。
大体、バイクを「フリーズ」させる場合には、何かのオブジェクトの裏に隠れる位置にしておきます。
このバイクを「フリーズ」させている時間の間に、例えば、カメライベントで、ガスタンクにUFOが墜落して爆発した後に時空転移が起こる演出なんかを自分で作って、そちらのデモ演出をはさんだ後で、指定した時間が経つと、バイクの方に戻ってくるので、特殊なデモ演出付きのステージで、バイクも、「任意のチェックポイントにワープできる」というコースを作る事ができます。
(ライダーに物をくっつける場合)
「物理ジョイント」を使えば、ライダーに物をくっつける事ができるが、この時の、くっつける場所の選択をする時には、ライダー全体が対象のような色が付くが、実際には、MikuMikuDanceと同じように、「剛体」が入っている、それぞれの細かい箇所に、くっつける事ができる。(例えば、頭、腕、足など)
どこら辺に、くっついたのか?は、ライダーにつながっている線の位置からわかる。
(1)カーソルキーの上を押して、[共通]-[物理法則ツール]-[物理ジョイント]を画面に出す。
(2)ライダーやバイクにくっつけたいオブジェクトを画面に出して、例えば、[市街地構成要素]-[ストリート構成要素]-[拡声器]を出す。
ライダーやバイクに、オブジェクトをくっつけたい場合には、ライダーやバイクの上に重ねて作業をしたいが、そうすると、位置を確定した時に、バイクが、その上にのってしまって作業ができなくなってしまうので、まずは、バイクから離れた位置に置く。
(3)次に、「物理ジョイント」を選択して、カーソルキーの上を押して、普通に、くっつけるだけならば、
(タイプ: ポイント間)
(プリセット: ハード)
(衝突を無効化: チェックボックスをON)(この「衝突を無効化」の意味は、くっつけた物同士間のみの衝突を無効化にするという意味。地面などとの当たり判定はある)
(ジョイント強度: 50)
にして、「ターゲット1を選択」で、「ライダーの頭」を選ぶ。
「ターゲット2を選択」で、「拡声器」を選ぶ。
この後に、「拡声器」を、ライダーの頭の位置にまで移動すれば、バイクが上にのってしまう事はない。
(4)このままの状態だと動けないので、「拡声器」を選んで、カーソルキーの上を押して、「オブジェクトプロパティー」の画面を出す。
「物理法則」のチェックボックスをONにする。
「物理法則詳細」を選んで、
<設定例1>
(質量: 0.1kg)
の1番軽い状態にすれば、動かしやすくなるが、地面などとの接触時に、軽すぎて、反発が強すぎになるので、何かに当った時の挙動が少しおかしくなるが、操作はしやすい。
操作性を重視するならば、
(物理法則タイプ: 当り判定なし)(この「当り判定なし」は、地面など、全ての箇所への当り判定が無くなる。という意味ですが、「物理演算」での動きが残されたままの状態という意味です)
にするのが、1番操作性はいいですが、地面などと拡声器の当り判定は消えます。
<設定例2>
(質量: 1kg〜2kg程度)
操作性が比較的よい状態で、拡声器と、地面の接触時の動作が自然になります。
<設定例3>
「物理ジョイント」で、ライダーやバイクにくっつけるのではなくて、自作の車などにくっつける場合には、「本体の車部分」が重すぎる場合などには、「物理ジョイント」で、くっつけるものの方を、
(質量: 10kg位)
にした方が、自然な動きになります。
この理由は、「物理ジョイント」で、くっついている物同士の重さの比にあって、「無茶苦茶重たい物」と「質量: 1kgなどのように、軽すぎる物体」をくっつけると、軽すぎる方が、地面などとの接触時に、あまりにも、大きく吹っ飛びすぎて、挙動がおかしくなります。
要するに、「無茶苦茶重たい物」の方が、「止まっていようとする」事に対しての、慣性の法則です。
このように、「質量」の設定は、いろいろと、かなり試してから、バランスのいい数値を自分で見つけ出さないといけません。
(ライダーやバイクに「ライト」をくっつけたい場合)
(1)[共通]-[ライト]-[ポイントライト]を画面に出す。
(2)「ポイントライト」の「オブジェクトプロパティー」を画面に出して、
(物理法則: チェックボックスをON)
「物理法則詳細」を出して、
(質量: 0.1kg)
(物理法則タイプ: 当り判定なし)
(3)「物理ジョイント」で、タイヤなどにくっつけて完成。
通常は、最近では、高難易度ユーザー作成コースで、「ウィリーのみ」、「前輪のみ」で走る箇所があるコースで、どの色の箇所が、「後輪のみ」、「前輪のみ」かわかるように、タイヤを、「赤」や「青」などにライトアップしている事が多いです。
(ライダーやバイクに「エフェクト」をくっつけたい場合)
「エフェクト」は、「物理法則詳細」の項目がないので、そのまま、くっつけても、バイクが動けなくなってしまうだけです。
そこで、少し特殊な事をすると、一応、くっつける事は可能です。
(1)[共通]-[ゲーム]-[ダミーオブジェクト]を画面に出す。
(2)くっつけたい「エフェクト」を出す。例えば、[エフェクト]-[テクノロジー]-[ロケットの炎(L)]を出す。
(3)「ダミーオブジェクト」を選択中に、「L1ボタン」を押しっぱなしにして、「ロケットの炎(L)」を選択して、「複数選択」状態にして、カーソルキーの上を押して、「オブジェクトの結合」を押す。
(4)今、くっつけた「複数選択のオブジェクト」を選択して、「オブジェクトプロパティー」を出して、
(物理法則: チェックボックスをON)
「物理法則詳細」を出して、
(質量: 0.2kg)(今回は、2個くっつけたので、0.2kg以下にはならない)
(物理法則タイプ: 当り判定なし)
(5)この、くっつけた「複数選択のオブジェクト」と、「バイク」を、「物理ジョイント」で先程のように、くっつけて完成。
これで、バイクや、ライダーに「エフェクト」をくっつける事が可能です。
例えば、「花火」などをライダーにくっつけて、コース終了時に、ライダーの位置で、「花火」を鳴らしたい場合には、「ダミーオブジェクト」にくっつける前に、「エフェクト」の「有効」をOFFにしておいてから、「ダミーオブジェクト」にくっつけて、コース終了時などに、「エリアトリガー」、「エフェクトイベント」などを使って、「花火」をONにすれば、特殊な演出が可能です。
(6)「ボタン操作」で「エフェクト」のON/OFFをする場合
<1>今の「ロケットの炎(L)」を、「ダミーオブジェクト」にくっつける前に、標準の状態は、「有効」をOFFにしておきます。
<2>[トリガーとイベント]-[ボタン操作]-[コントローラー(アクセル)]を画面に出します。
[トリガーとイベント]-[イベント]-[エフェクトイベント]を、2つ画面に出して、1つ目を(タイプ: オン)にして、2つ目を(タイプ: オフ)にします。
<3>「コントローラー(アクセル)」の「オブジェクトプロパティー」を出して、
(押した時)→「エフェクトイベント(タイプ: オン)」
(離した時)→「エフェクトイベント(タイプ: オフ)」
につなげます。
<4>それぞれの「エフェクトイベント」を、「ロケットの炎(L)」につなげれば、ボタン操作で、「ON/OFF」できます。
他のやり方では、「エフェクトイベント」の「タイプ: スイッチ」にすると、ボタン操作などで、ボタンを押すたびに、交互に、「ON/OFF」ができます。
「タイプ: スイッチ」は、「ビームを撃つ」などで、よく使われます。
TRIALS FUSIONコースエディターで、高度な設定をしたい場合のやり方を書いていきます。
(走行中にバイクやライダーをフリーズする)
これは、主に、コースクリアー時のクラッシュ演出なんかで使うものです。
バイクや、ライダーを選択して、「オブジェクトプロパティー」を出すと、「フリーズ」という項目がありますが、通常は、スキルゲーム作成時に、バイクなどが動いてほしくない場合に、はじめから設定しておくものです。
こういったような、「チェックボックス」の「ON/OFF」を、走行中のイベントとして使いたい時の方法で、別に、「フリーズ」以外の「チェックボックス」でも可能です。
(1)例えば、コースクリアーした瞬間に、ドラム缶が置いてあり、クラッシュする設定のコースの場合には、このドラム缶に当った瞬間に、「接触トリガー」や「エリアトリガー」が動くようにしておきます。
(2)次に、
[トリガーとイベント]-[イベント]-[数値設定イベント]
[トリガーとイベント]-[データソース]-[変数データソース]
の2つを画面に出します。
(3)「数値設定イベント」の「オブジェクトプロパティー」を出して、
「値: 1.00」
「イベントターゲットを選択」は、「変数データソース」につなげます。
(4)次に、フリーズさせたいバイクかライダーを選択して、「オブジェクトプロパティー」を出して、「フリーズ」の所で、「三角ボタン」を押して、「値オブジェクトを選択」で、「変数データソース」につなげます。
(5)「接触トリガー」や「エリアトリガー」の「オブジェクトプロパティー」を出して、「接触時」を「数値設定イベント」につなげます。
これで、ゴール時のクラッシュ演出で、ドラム缶にぶつかったり、ゴールした瞬間に、バイクや、ライダーをフリーズさせる演出が可能です。
(その他、チェックボックスの値変更設定方法)
同様にして、例えば、いろいろなオブジェクトを出すと、大体は、「オブジェクトプロパティー」の所に、「物理法則詳細」とありますが、ここの「物理法則タイプ」がわかりやすいので、ここの設定で説明します。
「ON/OFF」のみのチェックボックスの場合には、「数値設定イベント」で与える変数は、「0」か「1」です。
しかし、「物理法則タイプ」のように、いくつかの種類がある場合には、同様にして、順番に数字に置き換えれば、処理できます。
(例)「物理法則タイプ」
「初期状態」→「数値設定: 0」
「当り判定あり」→「数値設定: 1」
「当り判定なし」→「数値設定: 2」
「装飾のみ」→「数値設定: 3」
通常、この設定を書き換えて使う場合は、特殊なスキルゲームを作る場合だけです。
例えば、ライダーに何かをくっつけておくが、バイクとの当り判定は無くしたい。しかし、BailOut時には、再び、当り判定が起こるように戻したい場合などです。
この様々な、「チェックボックス」内の数値設定変更が自由にできるようになると、ほとんどの特殊演出は、何でも作れるようになります。
「チェックボックス」以外の数値の変更ができる項目は、「曲線データソース」などの「関数」をつなげられると、さらに、特殊な演出が可能になります。
(デバッグの仕方)
こういった、チェックボックス内の数値変更のように、高度な設定をするようになると、「走行テスト時に、実際に、変数の内部の数値が、どのように変化しているのか?きちんと、動作チェックしたい」という状況になります。
こういったデバッグの仕方としては、1度、コースを保存してから、「OPTIONSボタン」を押して、「コース設定」を選びます。
「ゲームモード設定」で、「ゲームタイプ」を「スキルゲーム」にします。
「スコアの設定」で「スコア要素」を「カウンター1」を選んで、
「タイプ: データソース」
「位置: 右上」など
「最小: -15000000」など
「最大: 60000」
「値のターゲットを選択」に、今の「数値設定イベント」につながっている「変数データソース」アイコンがありますが、それをつなげます。
これで、コーステストをすると、エリアトリガーなどがきた時に、自分が設定した数字の「1」などに実際に変化するか?どうか?をチェックする事ができます。
何か、複雑な設定をしたが、思ったように動かずに、実際の走行時の数値変化を知りたい場合には、このやり方で、デバッグが可能です。
これは、「スキルゲーム」になっていますから、数値の変化を確認したら、コースをロードし直すか、設定できる人は、「コース設定」を「トライアル」に戻しましょう。
しかし、設定をミスると、「タイムが遅い人が1位になる」、「遅く走っても、タイム上限が、1分まで」などになってしまうので、注意が必要です。
TRIALS FUSIONコースエディターの、少し複雑なやり方がわかってきたので、今度は、「警告灯を点滅させるやり方」について書いていきます。
ただ、これは、単に、「やってみたら動いただけ」なので、完全に正確な状態なのか?は不明ですが、手法は、8ビットのコンピューター時代からある「パレット点滅」といわれるやり方で、昔からある手法の1つです。
(警告灯を点滅させるやり方)
(1)別に警告灯でなくても、どのようなオブジェクトでも、「色設定」がついているものならば、何でもできます。
「警告灯」の場合には、[共通]-[ライト]-[着陸灯]に、道路工事なんかで使われるような警告灯があります。
あるいは、[一般]-[基本形状]にあるものも、「色設定」で「発光」が使えるので、「警告灯」代わりに使えます。
(2)「着陸灯」を選択して、カーソルキーの上を押して、「オブジェクトプロパティー」を出します。
「素材」で、色が変更できるので、
「L2、R2ボタン」を押していくと、「H」の値は、「0〜360」
「左アナログスティック」を動かすと、「S」と「B」の値は、「0〜100」
まである事がわかります。
今回は、少し複雑な作業なので、関数を使うので、この数値を確認しておきましょう。
(3)関数の中で、「色データ」、「座標データ」のように、3つの値がある場合には、[トリガーとイベント]-[データソース]-[曲線データソース(ベクトル)]を使うので、これを画面に出します。
これの制御用に、[トリガーとイベント]-[データソース]-[ベクトル]を2つ使うので、「ベクトル」というのを、2つ画面に出します。
(4)「ベクトル」の「オブジェクトプロパティー」を出すと、次の項目が、色を設定する場合には、次のようになります。
値X(赤)(0〜255)
値Y(緑)(0〜255)
値Z(青)(0〜255)
色の範囲は、いろいろとやってみた結果、「最大」は、「255」か「256」のようです。
(5)1つ目の「ベクトル」は、「開始時の色」を設定して、2つ目の「ベクトル」は、「終了時の色」に設定します。
「警告灯」の場合には、自分の調整では、
1つ目の「ベクトル」の、「開始時の色」(値X: 20.00)
2つ目の「ベクトル」の、「終了時の色」(値X: 255.00)
にしました。
「警告灯」の場合には、1番暗くなった時に、(R,G,B)=(0,0,0)の「黒」にすると、かなり不自然なので、1番暗い状態でも、少し「暗い赤」にしてあります。
(6)次に、「曲線データソース(ベクトル)」を選択して、
「開始ベクトル」を、「開始時の色」を設定した1つ目の「ベクトル」につなげる。
「終了ベクトル」を、「終了時の色」を設定した2つ目の「ベクトル」につなげる。
「曲線」の関数の形は、好みですが、今回の自分の場合には、「イーズイン(円形)」を選択。
「ループ」と「後半を反転」のチェックを「ON」にする。
(7)ここまで終わったら、「着陸灯」の「オブジェクトプロパティー」を出して、「素材」を選んで、「色設定」の画面を出して、ここで、「三角ボタン」を押して、「値オブジェクトを選択」の状態にして、先程の「曲線データソース(ベクトル)」で「oボタン」を押すと、つながります。
「発光」の所は、「右アナログスティック」を上に押して、1番明るい発光にします。
(8)ここまで、つなげ終わったら、動作チェックです。
PS4コントローラーの「タッチパネル」は、ボタンにもなっているので、「タッチパネル」の左側部分を押すと、動作チェックができます。(この状態だと、アイコン内で、関数の数値の変化していく様子が確認できる)
あるいは、実際に、「コーステスト」を選んで、実際に、「警告灯」が点滅する事を確認して完成です。
(9)このままでもいいのですが、いまいち物足りないので、[共通]-[ライト]-[ポイントライト]を画面に出して、周囲に警告灯の赤い照明部分を、もっと明るく出します。
これも、同様にして、点滅させるのですが、「ポイントライト」の場合には、「ライトの明るさ」を周期的に変化させます。
なので、全体の設定が変わるので、下に書くと、
<1>「ライトの明るさ」を周期的に変化させるために必要なもの
「ライトの明るさ」を周期的に変化させる場合には、3つ設定が必要な「色」と違って、1つの数値変化だけでいいので、[トリガーとイベント]-[データソース]-[曲線データソース]を出す。
「曲線データソース」の「オブジェクトプロパティー」を出して、
「曲線」の関数の形は、「着陸灯」の色の周期とまったく同じにしないといけないので、「イーズイン(円形)」にする。
「開始: 20」
「終了: 80」
「ループ」と「後半を反転」のチェックを「ON」にする。
<2>「ポイントライト」の設定
「ポイントライト」の「オブジェクトプロパティー」を出して、「ライトの設定」を出す。
・「ライトの明るさ」の項目の所で、「三角ボタン」を押して、「値オブジェクトを選択」で、<1>で作った「曲線データソース」につなげる。
・「ライトの色」を選んで、「色選択」画面を出して、こちらは、「着陸灯」とまったく同じ「色」にしたいので、「着陸灯」の色設定の時につなげてある、まったく同じものの「曲線データソース(ベクトル)」をつなげます。
・「ライトの効果範囲: 0.30」
これで、作った「ポイントライト」の位置を、「着陸灯」の「警告灯」部分の上側に重なる箇所に移動する。
精密に作りたい場合には、オブジェクトを選択した状態で、「右アナログスティックを押すと、R3ボタンになる」ので、そうすると、「走行ライン」の上に、ピッタリ移動します。
動作テストをして、いい感じだと思ったら、「ポイントライト」を選択している最中に、「L1ボタン」を押したまま「着陸灯」を「oボタン」で選択して「複数選択」状態にして、カーソルキーの上を押して、「オブジェクトプロパティー」の画面を出すと、「様々なオブジェクト」と出ているので、「オブジェクトの結合」をします。
「オブジェクトの結合」をすれば、「着陸灯」と「ポイントライト」は、物理演算で倒れても、一緒に、くっついて動きます。
この「着陸灯」と「ポイントライト」のくっついた物を、選択中に、「三角ボタン」でコピーすれば、この「点滅する警告灯」を、画面にたくさん出せます。
「ライト」のたぐいも、画面表示上限があるので、いいバランスの数だけ出しましょう。
(「接触判定」の後に、「警告灯」の点滅を開始させたい場合)
「着陸灯」と「ポイントライト」につながっている「曲線データソース(ベクトル)」、「曲線データソース」の「オブジェクトプロパティー」の「有効」のチェックボックスを、はじめは「OFF」にしておく。
「エリアトリガー」や「接触トリガー」に、[トリガーとイベント]-[イベント]-[状態イベント]をつなげる。
「状態イベント」の「オブジェクトプロパティー」を出して、「タイプ: オン」にして、「イベントターゲットを選択」に、「曲線データソース(ベクトル)」、「曲線データソース」をつなげる。
こうしておくと、「エリアトリガー」や「接触トリガー」に触れた時に、「警告灯」の点滅が開始されます。
TRIALS FUSIONコースエディターで、困った場合についてを、まとめておきます。
(1) 「スタート地点」や「ゴール地点」などが、移動をしたら地面の下に行ってしまって、その後に変更できなくなってしまった場合
「カーソルキーの下」を押したままにすると、「ラジアルメニュー」というショートカットメニューが出ます。
そのままの状態で、「右アナログスティック」で「斜め左下」を押したまま、「カーソルキーの下」を離すと、「オブジェクト検索」ができます。
ここで、選択できない位置に移動してしまった「スタート地点」や「ゴール地点」などを探して選択して、上などを押して、地面の上に出せば、再び、変更可能になります。
(2) バイクなどが、「地面との接触判定が無くなってしまって、地面の下に、どんどん落ちていってしまう場合」
これは、「物理演算」対象の箇所が多すぎるコースを作ってしまうと、そうなります。
例えば、「スポーツカー」などのポリゴン数の多いオブジェクトを「物理法則ON」にして、「スポーツカー」の場合は、バイクの近辺に、5つ出すと、「物理演算」可能数オーバーで、地面の下に、どんどん落ちていってしまいます。
また、「複数選択」をして、「オブジェクト結合」をして、とても複雑な形にした物が、崖の上などから落下してくるように設定している場合には、複雑すぎると、1つだけでもダメです。
これの回避方法は、どうしても動かしたい場合には、[サンプル]-[001]にある「車を動かすサンプルデータ」を改良して使いましょう。
この「車を動かすサンプルデータ」は、「物理演算」をまったく使わないで、オブジェクトの位置を画面座標に直接書き込んで動かしているので、接触判定を無視して、移動させる事ができます。
(3) 遠くの崖の上に、「物理演算」で落ちてくる「岩」を置いたのに、落ちてこない場合
「物理演算」は、処理が、とても重くなるので、初期設定では、「ライダーの周囲20mまで」しか動かないように設定されています。
これを変更したい場合には、「ライダー」の前にある「赤い四角い箱」を選択して、「カーソルキーの上」を押すと、「オブジェクトプロパティー」が出ますが、そこの「サイズ」を「90m」の上限まで上げれば、かなり離れた位置でも落ちてくるようにする事はできます。
一方で、あまり大きくしすぎると、(2)の現象が起こりやすくなるので、バランスを見ながら、この数値の設定をします。
(4) ライダーからの「物理演算」限界の距離が「90m」を越えている、かなり遠方のオブジェクトを動かしたい場合
[サンプル]-[001]にある「車を動かすサンプルデータ」を改良して使いましょう。
この「車を動かすサンプルデータ」は、「物理演算」をまったく使わないで、オブジェクトの位置を画面座標に直接書き込んで動かしているので、接触判定を無視して、移動させる事ができます。
[サンプル]-[001]の「車を動かすサンプルデータ」を画面に出したら、「カーソルキーの上」を押して、「オブジェクトプロパティー」を出して、「オブジェクトのグループ化解除」を押します。
上の真ん中にあるアイコンが「オブジェクト位置イベント」なので、これを選択して、「イベントターゲットを選択」で、「サンプルデータ」の車を選択すると、「解除」されて矢印が消えるので、次に、自分が動かしたいオブジェクト(飛行機や船など)を選択すれば、それが動きます。
動き方や方向や回転の設定は、右のアイコンの「曲線データソース」を、いろいろといじって試してみましょう。
X座標移動以外の方向や、回転などをさせたい場合には、真ん中のアイコンの「オブジェクト位置イベント」の「Y座標、Z座標」、「ヨー、ピッチ、バンク」などに、先程の「曲線データソース」をコピーした別の物を作って、「三角ボタン」で、つなげてみれば、いろいろな動きを作れます。
(5) 「数値の設定」を高速にしたい場合
いろいろなオブジェクトの「数値の設定」は、次の操作で、速度を変える事ができます。
1つずつ数値変更して微調整する「カーソルキーの左右」
中速度「左アナログスティックの左右」
高速度「左アナログスティックの左右」+「L2かR2ボタン」
(6) 何か、いろいろといじっていたら、「コースエディター」作業中の「アイコン」や、「矢印」などが消えてしまった場合
「カーソルキーの下」を押したままにすると出る、「ラジアルメニュー」中に、誤って、「右アナログスティック」の「左(コネクターを非表示)」か、「下(エディターアイコンの表示)」ボタンを選択してしまうと起こるので、これらを再び選択し直すと戻ります。
PS4のモトクロス、BMXゲームのTRIALS FUSIONのコースエディターの、少し複雑な事がわかってきたので書いていきます。
基本的な操作方法は、以前の、Trials Evolutionのコースエディターと同じです。
(複数のオブジェクトの色を1回で同じ色にしたい場合)
TRIALSシリーズのユーザー作成コースでは、「ウィリーのみ」、「前輪のみ」の箇所のある高難易度ステージを作っている人がいます。
この時に、オブジェクトの色で、例えば、「後輪のみ(赤)」、「前輪のみ(青)」というようにしている人が多いです。
しかし、1回ずつ、1つのオブジェクトごとに、微妙な色の数値設定をするのは、とてもめんどうくさいので、簡単に、これができる手法を教えます。
(1)ランプなど「色設定」が可能なオブジェクトを複数出して、コースを組む。
(2)「後輪のみ」で走る箇所を、全部、同じ色の「赤」にしたい場合は、「後輪のみ」で走る部分の、同じ種類のオブジェクトのみを、はじめの1つを選択中に、「L1ボタン」を押したまま、「oボタン」で追加選択すると、複数のオブジェクトをまとめられる。
(3)このままでも作業できるが、1回きりになってしまうので、複数選択中に、カーソルキーの上を押して、「オブジェクトプロパティー」を出して、「オブジェクトのグループ化」を押して、「xボタン」で戻る。
こうすると、その後、ずっと、複数選択の状態のまま作業できる。
この状態で、また、カーソルキーの上を押して、「オブジェクトプロパティー」を出して、[素材]で、好きな色に変更して、「oボタン」を押して色を決定すると、1回の色選択だけで、全ての複数オブジェクトの色が、同じ色に簡単に設定できる。
これは、同じ種類のオブジェクトであれば、その他の、「質量」なんかの値も、同様に複数を1回で同じ値にできる。
(4)色を変えた後に、コース微調整をしたくなったら、「オブジェクトプロパティー」で、「オブジェクトのグループ化解除」を押せば、再びバラバラに動かせる。
(5)バラバラな状態で、追加で同じ色にしたい箇所が出たら、そのオブジェクトを選択して、「三角ボタン」でコピーすれば、同じ色のオブジェクトが追加できる。
(複数のオブジェクトの接触判定を1回の作業で終わらせる)
「後輪のみ」、「前輪のみ」の箇所のあるコースを作る場合には、「接触判定」処理を行なわなければいけません。
この時に、「接触トリガー」の「接触オブジェクトを設定」の箇所で、1つずつ選択していってもいいのですが、とてもめんどうくさいので、これを、1回で終わらせる方法を教えます。
(1)まず、先程のように、「複数選択」しますが、今回は、同じオブジェクトのみでなくても大丈夫です。
例として、「後輪ウィリーのみ」で走行する箇所の設定をします。
(2)「複数選択」したら、カーソルキーの上を押して、「オブジェクトプロパティー」を出して、「オブジェクトの結合」を押します。
こうすると、今選択した複数のオブジェクトが完全にくっつくので、「物理法則ON」にした時には、くっついたまま動きます。
今回は、それは使わないで、今、「オブジェクトの結合」をした物をよく見ると、点でつながっていて、「四角い箱」の「ピボット」と呼ばれるものでつながっています。
(バイクの直前にあるライダーにつながっている「赤い四角い箱」は、「物理演算挙動設定用」の箱なので、今回は、いじってはいけません)
(3)「接触トリガー」を画面に出して、「接触トリガー」の[接触オブジェクトを設定]-[オブジェクトを個別に選択]で、今「オブジェクトの結合」でつなげた「四角い箱」の「ピボット」を選択すれば、1回の選択だけで、全ての複数選択した箇所の「接触判定」が可能になるので、とても楽です。
(4)「接触トリガー」の[接触オブジェクトを設定]のもう1つの方は、[オブジェクトを個別に選択]で、「バイクの前輪」を選択します。
(5)「接触トリガー」の「接触時」には、「イベント」の「破壊イベント」か「バイクパーツ取り外しイベント」をつなげて、それぞれの「オブジェクトプロパティー」で設定しておけば、「後輪のみ」、「前輪のみ」で走行する箇所のある高難易度コースが作れます。
評価:
--- ユービーアイ ソフト ¥ 3,487 (2014-05-29) |
「Trials Evolutionコースエディタ」で、だんだん、複雑なコースが作れるようになってくると、大量に、エフェクトや、物理演算を設置したら、「何か、処理落ちして重いコース」になりやすくなってきてしまうので、今回は、その回避方法です。
(処理落ちの回避)
「Trials Evolutionコースエディタ」では、超強力な物理演算ツールが付いているわけですが、「処理落ち」しやすいツールの箇所について書くと、
・エフェクトの中で、「パーティクルエフェクト」と言われる種類の、非常に、細かい物体を大量に重ねて処理している「炎、煙、滝、フェアリーダスト」などは、1つの処理範囲内に、大量に、配置すると(10個位以上)、「処理落ち」します。
・物理演算で、動く物体が多すぎる場合
(処理落ちの回避の設定)
(1) まず、コース編集画面で、自分のバイクの前にある、「赤い小さい箱」を選択すると、これが、「物理法則起動ツール」という物で、コース全体の、物理演算の設定項目ツールです。
この「物理法則起動ツール」の「オブジェクトプロパティー」の中にある、「サイズ」が、「コース上で、物理演算処理をする範囲」です。
通常は、いじらないでいいですが、バイクから、この距離以上に離れた位置にまで、物理演算の物体が、吹っ飛んでいったりした時に、そこの範囲までで、物理演算しなくなるので、変に、空中に止まったままになる事がある場合や、かなり、遠くに見えている物体が、物理演算で、落ちてくるコースにしたい場合などは、この「サイズ」を大きくします。
しかし、その分、処理落ちしやすくなります。
(2) (大量に、エフェクトや、物理演算の物体を配置して、処理落ちして、重いコースになってしまった場合)
この設定は、けっこう、簡単です。
「トリガー&イベント」-「イベント」-「エフェクトイベント」
「トリガー&イベント」-「イベント」-「物理イベント」
の2つを、別に設置しておいて、「オブジェクトプロパティー」の「タイプ: オフ」にしておきます。
それで、自分が通過して、すでに必要無いエフェクトや、物理演算箇所を、その位置までバイクが来たら、「エリアトリガー」などで、この2つの「タイプ: オフ」で、処理をしなくしてしまえばいいだけです。
ただし、グルグルと周るコースなどでは、再び見えてくる事があるので、思い切って、その時には、エフェクト「OFF」にしてしまうか?などは、調整しないといけませんが、このようにしていって、「必要の無い、見えていないエフェクト、物理演算などは、こまめに、OFFにする事です。」
これは、通常の、メーカーのゲームでは、この「見えていない物体のポリゴンを開放する」とかして、処理速度を上げているわけです。
「物理イベント」で、吹っ飛んだ物体などで、「物理イベント」の「タイプ: オフ」で、OFFにしてしまうと、変に見えてしまう場合には、
「トリガー&イベント」-「イベント」-「表示切替イベント」
の「オブジェクトプロパティー」の「表示なし」というのを使って、画面に、表示しなくする手もありますが、これは、最終手段であって、要するに、画面から、いきなり消えて見えなくなってしまうと、変に見えるので、よほど、処理落ちするコースでない限りは、この「表示OFF」は、あまり使わない方がいい気がします。
通常は、これだけやれば、かなりのエフェクトを配置していても、まったく処理落ちしないで、コースを作る事ができます。
XBOX360のモトクロス、BMXゲームの「Trials Evolution」のコースエディタですが、だんだん、複雑な事をやろうとすると、困るのが、「バックフリップなどで、2回通る場所で、2回目だけ、エフェクト、トリガーなどをONにする場合」を、どのようにするか?で、今回は、そのやり方を書いていきます。
(「状態イベント」の使い方)
(1) 適当な位置に、スタートと、ゴール地点を設置して、オブジェクトを置ける状態にする。
(2) 画面の下に表示が出ているように、カーソルキーの、どれかを押すと、「新規オブジェクト」の一覧画面が出る。
(3) 「トリガー&イベント」-「イベント」-「状態イベント」を画面に出す。
(4) 「状態イベント」を選択中に、カーソルキーの「上」を押すと、「オブジェクトプロパティー」の画面が出ますが、ここの「タイプ」で、「オフ」か「オン」の自分が使いたい方を選ぶ。
この「状態イベント」というのが、2回通る場所で、2回目だけ、エフェクトなどを「ON」にできるツールです。
いろいろな場合に使えますが、今回は、「バックフリップで、後の上のフロアーに登る時に、登り途中の1回目は、エフェクトなどの判定なしにして、上のフロアーに登った後に、2回目に通過すると、エフェクトが、ONになるように設定します。」
なので、今回は、「状態イベント」の「タイプ」の所を、「オン」にします。
(5) (エフェクトの設置)
とりあえず、ランプを設置して、「バックフリップで、後の上のフロアーに登る」コースを設置します。
それで、「バックフリップで、上のフロアーに登ってから、向こう側に、ジャンプしていく、2回目通過時だけ、エフェクトを、ONにするコースにしてみます。」
普通に、
「トリガー&イベント」-「トリガー」-「エリアトリガー」
「トリガー&イベント」-「イベント」-「エフェクトイベント」
の2つを使って、「上のフロアーから、ジャンプした直後に、少し先の、エフェクトを、ONにしたり、ゲートが開くようにしたりしたい場合には、すでに、バックフリップで登っている最中に、「エリアトリガー」に接触してしまうので、1回目通過時に、すでに、エフェクトなどが、「ON」になってしまいます。
なので、2回目通過時だけ、「ON」にしたい場合には、「エリアトリガー」の「オブジェクトプロパティー」の「有効」という、チェック欄を「OFF」にしておきます。
このままだと、常に、「エリアトリガー」は、判定無し状態になっています。
それで、「状態イベント」の「タイプ: オン」で、このエリアトリガーを、2回目通過時に、「ON」にしてあげるだけです。
その為には、上のフロアーに登った場所に、別の、「エリアトリガー」や、「接触トリガー」などに接触すると、この「状態イベント」が動くように設置して、その「状態イベント」は、「エフェクト」、「トリガー」などが、つながっている「通常は、OFF状態のエリアトリガー」に、関連付けをしておくわけです。
そうすると、「1回目通過時は、判定無しにできて、2回目通過時だけ、エフェクト、トリガーなどを、ONにする事ができます。」
逆の事もできるので、この「状態イベント」を使うと、かなり、複雑なコース設定が作れます。