2方向テレポートシステムの作成
2方向テレポートシステムを使ってよりゲームをよりクリエイティブに仕上げることが可能です。
注意点1:このテレポートシステムはアップグレードされたため最新のテレポートシステムに関してはこちらからご覧下さい。
注意点2:このシステムを使用するためにはアバターは一度倒された後にリスポーンする必要があります。現時点では倒されない状態このシステムを使用することができないため、ゲームをデザインする際にはその点を考慮してこのテレポートシステムを使用してください。
画面上部のGlobal Parameters(グローバルパラメーター)のボタンをクリックします。
Controller(コントローラー)のタブをクリックします。
Components(コンポーネント)のタブをクリックします。
ここでアバターのHealth(体力)とDeath(死亡)の設定を行います。
Health のコンポーネントの設定ではDeath Event(死亡理由)でRespawn to Tag(リスポーンしてタグ)を選択します。
Respawn Tag(リスポーンタグ)にタグを追加します。ここではspawn1 と入力します。ゲーム内でspawn1 のタグを持ったすべてのオブジェクトはアバターが倒された時にスポーンポイントとして使用されます。
Death Delay(リスポーンまでの時間)とはアバターがリスポーン前に地面にどのくらいの時間倒れているかを設定できる機能です。ここでは倒れた際のアニメーションを表示することなくアバターを即座にリスポーンさせるために-2 を使用します。
実際にリスポーンする際にコントロールできるように、デフォルトのInstant Death Message(死亡時メッセージ)を他のものに変更します。ここではKillx を使用しました。
アバターが倒されると、spawn1 のタグを持った一番近くにあるオブジェクトを探し、その場所でアバターをスポーンします。タグを見つけられない場合は立っている場所もしくは現在地でスポーンします。
スポーンポイントとして使用するアセットを配置します。プレイヤー側で問題が起きないようにGame Maker にあるデフォルトのオブジェクトを使用するのをお勧めします。ここでは平たく、サイズも適切なStone Carving(彫刻石)を使用します。
スポーンポイントを選択し、spawn1 と名前を付けたタグを追加します。
アバターが倒されたらStone Carving の上でスポーンする設定が完了しました。オブジェクトを見えない設定にしたり、地面より下に配置し見えないようにすることも可能です。
これでリスポーン場所の作成が完了です。
2方向のテレポートシステムの仕組みを細かく解説します。
まず初めにスポーンポイントを複製し、2方向テレポートシステムを構築したい場所までドラッグします。
それぞれのスポーンポイントを選択し、目のアイコンをクリックしてオブジェクトを不可視の設定にします。詳細は下記のスクリーンショットをご覧ください。
スポーンポイントを選択しPhysics(物理的設定)の項目ではNo collisions(コリジョンなし)を選択します。これによってアバターを含め他のオブジェクトの邪魔になることがなくなります。
スポーンポイントを再度確認し、アバターのHealth のコンポーネントの設定がタグと合致しているかどうかを確認します。(ここではspawn1 となっているかどうかを確認します)
これで2つのスポーンポイントの設定が完了です。次にアバターが倒されるトリガーを設定してテレポートを使用できるようにします。
2方向テレポートシステムを正確に作動させるためには、必要のないスポナーを削除するVoid のビヘイビアを持ったその他のオブジェクトと共に、2つの異なるオブジェクトに2つのAsker のビヘイビアを設定する必要があります。
1人目のAsker のビヘイビアはテレポートする先のスポナーをトリガーするメッセージを送信し、2人目のAsker のビヘイビアは新しいスポーンポイントにテレポートさせてくれるアバターを倒す設定をします。
テレポートシステムを起動するレバーやボタンを設置します。ここではデフォルトのアセットであるAntient Lever(古代のレバー)を使用し、テレポートシステムのそれぞれの地点に追加しました。
レバーにAsker のビヘイビアを追加します。
プレイヤー向けにテキストを追加します。ただし回答も選択肢も1つのみとなります。ここではteleportAway をメッセージとして使用します。
2人目のAsker は見えない設定のためどのアセットでも使用することができます。ここではデフォルトのサイズの小さいアセットであるNumPad Switch を使用します。
レバーの近くにオブジェクトを配置し、Asker のビヘイビアを設定します。
Message Required(必要なメッセージ)にはteleportAway と入力します。
これによってレバーに触るとQuestion 1 が発動し、それに回答するとQuestion 2にメッセージが送られ、そこから連鎖がスタートします。
Question 2 の回答は既にKillx として設定してあるアバターのDeath Message(死亡時メッセージ)になるように設定します。
NumPad Switch を不可視の見えない設定(名前の左の目のアイコンに斜線がある状態)にしてPhysics(物理的設定)はNo Collisions(コリジョンなし)を設定します。
倒されるとレバーの足元のスポーンポイントにテレポートしてしまいます。もう片方のスポーンポイントに移動したいのに両地点ともに同じタグが設定されいる場合にはVoid のビヘイビアを使用して、レバーを引いた時にテレポートしてしまう足元のスポーンポイントを削除します。
新しいNumPad Switch にVoid のビヘイビアを設定します。
NumPad Switch を不可視の見えない状態に設定しNo Collisions(コリジョンなし)を選択します。
Void のビヘイビアのMessage Required(必要なメッセージ)には回答を受け取ると送信される、1人目のAsker のビヘイビアからのメッセージであるteleportAway を入力します。
Blocks Destruction(ブロックの破壊) にはDontDestroy を入力します。
Assets Destruction(アセットの破壊)にはOnlyDestroyFromList を入力します。
Assets List(アセットリスト)にはテレポートに使用したアセットを選択します。赤い線で囲まれた部分にあるアセットに反応するのでアセットが線の中にあることを確認します。
これでテレポートを使って片方の地点に移動することが可能になります。
片方の地点に移動できたとしても最初のテレポート先を削除してしまったので戻ってくる場所を作成する設定を行います。
既に作成した2つのNumPad Switch を複製し、テレポート先までドラッグします。
Void のビヘイビアを持った 移動先のNumPad Switch のポータルが赤線の破壊エリア内にあることを確認します。
Message Required(必要なメッセージ)をteleportHome に変更します。
もう片方のNumPad Switch を選択し、Message Required(必要なメッセージ)をteleportHome に変更します。
Ancient Lever を選択し、A1 Broadcast のメッセージをteleportHome に変更します。
これで足元のスポナーの機能を削除する設定が完了しました。次にテレポートして元の場所に戻る設定を行います。
NumPad Switch をもう1つ作成しAsset Spawner のビヘイビアを設定します。
作成したNumPad Switch を不可視の見えない状態に設定してNo Collision(コリジョンなし)を設定し、スポナーの真上に配置します。詳細はイメージ画像を参照してください。
Asset to Spawn(スポーンするアセット)にはStone Carving を入力します。
Tags にspawn1 を入力することで新しいスポーンポイントを設定します。
その他の設定が終わったらMessage required(必要なメッセージ)にteleportHome と入力します。 その後CTRL+「D」キーでアセットを複製し、反対側のもう一方のテレポーターの場所までドラッグしてMessage をteleportAway に変更します。
Physics Type(物理的設定)はNo Collisions(コリジョンなし)を選択します。
これで2方向テレポートシステムの設定が完了です。
Last updated