イスの仕掛け では、プレイヤーを座った状態にしておける場所を設置し、カメラ移動の能力を制限または変更することで、プレイヤーを特定のものに注視させることができます。
あなたの島でこれを活用する方法には以下のようなものがあります:
-
映画館
-
コンサートや他のバーチャルイベント
-
ターミナル/PCとのインタラクション
-
レストラン
-
ジェットコースターや他の乗り物
仕掛けは複数のタイプのイスに対応しており、イスは見えないようにすることもできます。
UEFNのプロジェクトでイスの仕掛けを使用する場合は、 イスのモデル のオプションを カスタム に設定し、イスにカスタムのメッシュとマテリアルを使用することができます。
イスの仕掛けを見つけるには、仕掛けの場所と設置方法を参照してください。
関連性フィルター
一部の仕掛けは、 関連性フィルター と呼ばれる機能の影響を受けます。この機能は、特定の関連するオプションで選択されている値に基づいて、オプションを表示したり非表示にしたりするものです。この機能はカスタマイズパネルが設定であふれかえることを防ぎ、オプションの管理や確認をしやすくします。ただし、どのオプションや値が関連性フィルターを起動しているのか判断が難しい場合もあります。分かりやすくするために、仕掛けの解説では関連性フィルターを起動する値は全て 斜体 で記載しています。この解説には、関連性フィルターの影響を受けるものを含め、全てのオプションを載せています。特定のオプションの値によって表示もしくは非表示になる場合、そのオプションの説明フィールド内には注意書きを記載しています。
仕掛けのオプション
この仕掛けの設定は、下記のオプションで行うことができます。
初期値は 太字 になっています。関連性フィルターを起動する値は 斜体 になっています。
オプション | 値 | 説明 |
---|---|---|
イスのモデル | 透明、リラックスチェア、バースツール、タル、石、ベーシック、カスタム | イスの外見を設定します。注: カスタム はUEFNの使用時にのみ使用可能です。クリエイティブでは機能しません。 |
インタラクト時間 | インタラクト禁止、即時、時間を選択または入力 | イスに座った状態になるまでプレイヤーがインタラクトのボタンを何秒押し続けなければならないのかを設定します。デフォルトに設定するかインタラクト時間を設定すると、追加のオプションが2つ表示されます。インタラクト禁止 を選択すると、これらのオプションは表示されません。 |
インタラクト範囲 | 上書きしない、範囲を選択 | 仕掛けにインタラクトするのに、プレイヤーがどこまで離れられるかをメートル単位で設定します。 |
インタラクト角度 | 45度、角度を選択 | 仕掛けの位置を起点とした空間の角度を設定します。プレイヤーが仕掛けにインタラクトするには、この角度内にいなければなりません。最大の180度に設定すると、どの方向からでもイスにインタラクトできるようになります。 |
起動するチーム | どれでも、チームを選択 | どのチームが仕掛けを起動できるかを決定します。 |
チームの選択を反対にする | オン、オフ | オン を選ぶと、 起動するチーム のオプションで選んだチーム以外の全チームがこの仕掛けを起動できるようになります。デフォルトでは オフ になっています。 |
許可されるクラス | クラスなし、誰でも、クラスを選択 | どのクラスがこの仕掛けを起動できるかを設定します。 |
クラスの選択を反対にする | オン、オフ | オン を選ぶと、 許可されるクラス のオプションで選んだクラス以外の全クラスがこの仕掛けを起動できるようになります。デフォルトでは オフ になっています。 |
ゲーム中に有効化 | オン、オフ | ゲーム開始時にこの仕掛けが有効になっているかどうかを設定します。無効な仕掛けは、 有効化 以外の全てのイベントを無視します。 |
プレイヤーの立ち上がり有効 | オン、オフ | プレイヤーが自力でイスから立ち上がれるかどうかの設定です。 |
カメラの当たり判定 | オン、オフ | イスに座っているプレイヤーに向けたカメラを、イスがブロックするかどうかの設定です。イスが透明の場合、座席位置から40cm内の全てのカメラの当たり判定が無効になります。 |
座席の音を再生 | オン、オフ | イスに着席したときと立ち上がったときにオーディオエフェクトを再生するかの設定です。 |
インタラクトテキスト | Sit、テキストを入力 | イスのインタラクト指示でプレイヤーに表示されるテキストです。テキストフィールドに入力できるのは150文字までです。 |
ディレクト イベント バインディング
この仕掛けのディレクト イベント バインディングのオプションは以下の通りです。
機能
機能は仕掛けのイベントを聞き取り、アクションを実行します。
-
どの機能も、 オプション をクリックして 仕掛けを選択 し、 仕掛け のドロップダウンメニューから選択することでアクセス可能です。
-
仕掛けを選択したら イベントを選択する をクリックして、この仕掛けの機能を起動するイベントに仕掛けを紐づけましょう。
-
2つ以上の仕掛けやイベントを使って機能を起動したい場合、 追加 ボタンを押して行を追加し、上記の手順を繰り返しましょう。
オプション | 説明 |
---|---|
受信していると有効化 | イベントが発生すると、仕掛けを有効にします。 |
受信していると無効化 | イベントが発生すると、仕掛けを無効にします。無効になっているとイスはプレイヤーを受け付けず、無効になったときにイスに座っているプレイヤーは強制的に立ち上がります。 |
受信しているとプレイヤーの立ち上がりを有効にする | イベントが発生すると、プレイヤーが任意のタイミングでイスから立ち上がれるようになります。 |
受信しているとプレイヤーの立ち上がりを無効にする | イベントが発生すると、プレイヤーが自力でイスから立ち上がれなくなります。 |
受信しているとプレイヤーを座らせる | イベントが発生すると、プレイヤーをイスに着席させます。 |
受信しているとプレイヤーを立たせる | イベントが発生すると、プレイヤーをイスから立ち上がらせます。 |
イベント
ディレクト イベント バインディングは、「イベント」を送信機として使用します。イベントは、別の仕掛けに機能を実行するように伝えます。
-
どのイベントのオプションも、 オプション をクリックして 仕掛けを選択 し、 仕掛けのドロップダウンメニュー から選択することでアクセス可能です。
-
仕掛けを選択したら 機能を選択する をクリックして、選択した仕掛けの機能にイスを紐づけましょう。
-
2つ以上の機能がイベントにより起動される場合は、 追加 ボタンを押して繰り返しましょう。
オプション | 説明 |
---|---|
プレイヤーの着席時 イベント送信先 | プレイヤーがイスに座ると、選択した仕掛けにイベントが送信され、選択した機能が起動されます。 |
プレイヤーが立った時 イベント送信先 | プレイヤーがイスから立ち上がると、選択した仕掛けにイベントが送信され、選択した機能が起動されます。 |
Verseでイスの仕掛けを使用する
下記のコードを使えば、Verseでイスの仕掛けを制御することができます。このコードは、 イスの仕掛けのAPI でイベントと機能を使用する方法を示しています。自分の作品に合わせて変更しましょう。
using { /Fortnite.com/Devices }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Simulation }
using { /Verse.org/Random }
# レベル内に配置できる、Verseで作成したクリエイティブの仕掛け
chair_device_verse_example := class(creative_device):
# レベル内でのイスの仕掛けへの参照
# このVerseの仕掛けの詳細パネルで、
# このプロパティをイスの仕掛けに設定します。
@editable
MyChairDevice:chair_device = chair_device{}
# 実行中のゲームでこの仕掛けが始動した場合に実行
OnBegin<override>()<suspends>:void=
# クリエイティブの仕掛けでイベントにサブスクライブする事例です。
# エージェントがイスに座ると合図があります。
MyChairDevice.SeatedEvent.Subscribe(OnAgentSeated)
# 誰かがすでにイスに座っている場合、イスから立ち上がらせます。
if:
MyChairDevice.IsOccupied[]
then:
MaybeAgent := MyChairDevice.GetSeatedAgent()
if (Agent := MaybeAgent?):
MyChairDevice.Eject(Agent)
# イスが空いていることが確約されたので、ゲーム内のランダムなプレイヤーを着席させます。
Players := GetPlayspace().GetPlayers()
RandomIndex := GetRandomInt(0, Players.Length)
if (RandomPlayer := Players[RandomIndex]):
MyChairDevice.Seat(RandomPlayer)
# この機能は、「SeatedEvent」のイベントハンドラーのため、エージェントがイスに座ると実行されます。
OnAgentSeated(Agent:agent):void=
Print("Agent seated in Chair")
このコードを自分のUEFNの作品で使うには、以下の手順に従いましょう。
1.イスの仕掛けを自分の島までドラッグします。
1.chair_device_verse_example という名前の新しいVerseの仕掛けを作成します。手順についてはVerse で新しい仕掛けを作成するを参照してください。
1.Visual Studio Code(VSC)で chair_device_verse_example.verse を開き、このファイルにコードをペーストします。
1.コードをコンパイルし、Verseで作成した仕掛けを自分の島までドラッグします。手順についてはVerse で新しい仕掛けで作成するを参照してください。
1.イスの仕掛けの参照を島のVerseの仕掛けに追加します。手順についてはレベル内のクリエイティブの仕掛けにVerseの参照を追加するを参照してください。
1.プロジェクトを保存し、 Launch Session (セッションを開始) をクリックしてプレイテストしてみましょう。
イスの仕掛けのVerse API
Verseでイスの仕掛けを使用する方法の追加情報については、chair_device
APIの参照をご確認ください。