REFERENCE / PARAMETERS

PortalSystem パラメータ辞典

Inspectorに並ぶ一つひとつの項目が「何を」「なぜ」変えるのかを説明します。導入や設置の手順は初心者向けガイド経験者向けガイドを参照してください。Unity自体の基礎用語(Inspector/Prefab/GameObjectなど)は初心者向けガイドの該当セクションにまとめています。

この辞典の読み方

各パラメータには色つきのタグで「型(どんな種類の値か)」が付いています:

タグ意味Inspectorでの見た目
boolON/OFFの2択チェックボックス
float数値(小数もOK)数値入力欄
string文字列(テキスト)テキスト入力欄
object他のオブジェクト・コンポーネントへの参照ドラッグ&ドロップ欄
array複数の値のリスト展開できるリスト
NOTE「変更不要」と書かれている項目は、初心者はまず触らなくて大丈夫です。プレハブ出荷時の設定のままで正しく動くように作られています。

入口の設定:PortalTriggerPortal_Trigger_Box / Round / Button / Door_Button / Door_Open すべてに共通してついているスクリプト

destinationobject (Transform)既定値: 未設定
このポータルの「行き先」。Portal_Destination をシーンからドラッグ&ドロップして指定します。
必須:これが空だとポータルは何も起きません。1個の入口につき、行き先は1個だけ指定できます(双方向にしたい場合は、逆向きの入口をもう1個別に置いて、そちらのdestinationを元の場所に向けます)。
fadeControllerobject (ScreenFadeController)既定値: ビルド時に自動設定
画面のフェード演出を担当する制御盤(PortalSystemRoot 側)への参照。
変更不要:ビルド時に自動で配線されるので、通常は手で触る必要はありません。
useCustomFadebool既定値: false
ONにすると、このポータルだけ専用のフェード時間・色を使います。OFFなら制御盤(ScreenFadeController)側の共通設定を使います。
こんな時に変更:「このポータルだけ特別にゆっくり暗転させたい」「行き先ごとに暗転色を変えたい(例:異世界だけ赤で暗転)」といった演出をしたい場合にON。
customFadeDurationfloat(秒)既定値: 0.4
useCustomFade がONのときだけ使われる、片道のフェード時間。
こんな時に変更:推奨レンジは0.3〜0.5秒。短すぎる(0.1秒未満)と酔いやすく、長すぎる(1秒以上)とテンポが悪くなります。
useCustomFadeがOFFのままだとこの値は無視されます。
customFadeColorobject (Color)既定値:
useCustomFade がONのときだけ使われる、暗転時の色。
こんな時に変更:ホラー演出で赤に、幻想的な行き先で白や紫にするなど、行き先の世界観に合わせた暗転色にしたい時。
isButtonModebool既定値: プレハブごとに固定
ONだと「近づいて触れるだけ」ではなく「Interact(決定ボタンや右クリック)で起動」する方式になります。Portal_Trigger_Button と扉タイプはON、Box/RoundはOFFで出荷されています。
変更不要:プレハブの種類を選んだ時点で正しい値が入っています。自分でBox型をButton型に変える、といった用途以外では触らないでください。
Box/Round型でこれをうっかりONにすると、遠くからのクリックでテレポートできてしまうバグの元になるため、通常操作しないでください。
cancelTeleportOnExitbool既定値: false
Box/Round型専用。ONにすると、暗転が始まった後にトリガー範囲から出た場合、テレポートをキャンセルして画面を明転に戻します。
こんな時に変更:「通り抜けただけ」で誤ってテレポートしてしまうのを防ぎたい時にON。逆に「一度触れたら確実に飛ばしたい」演出ならOFFのまま。
暗転が80%(fadeLockThreshold)を超えると移動そのものがロックされるため、その時点でキャンセルはできなくなります(仕様)。
destinationLabelstring既定値: 空文字
プレビュー映像の下に表示される行き先名のテキスト。
こんな時に変更:「森のエリアへ」のように行き先を分かりやすく案内したい時に入力。空のままなら文字は表示されません。
日本語を使う場合、ラベルのフォントを日本語対応のTMPフォント(同梱のNotoSansJP SDFなど)に設定しないと「□」表示になります。
interactionTextstring既定値: "テレポートする"
Button型でオブジェクトに近づいた時に出る案内文言(例:「テレポートする」のような操作ガイド表示)。
こんな時に変更:「扉を開ける」「奥へ進む」など、演出に合わせた文言に変えたい時。
Box/Round型(isButtonMode=false)では使われません。
doorAnimatorobject (Animator)既定値: 扉タイプのみ設定済み
扉タイプ専用。Interactした時に開閉アニメーションを再生するAnimatorへの参照。
こんな時に変更:ここを空にすると、扉演出なしの通常Button型と同じ「即座にテレポート」動作になります。逆に自作の扉アニメーションを使いたい場合は、Open/Closeという名前のトリガーパラメータを持つAnimatorを用意して差し替えます。
doorOpenWaitfloat(秒)既定値: 0.9
扉が開き始めてから、実際にフェード(テレポート)を開始するまでの待ち時間。
こんな時に変更:扉の開くアニメーションを長く/短くカスタマイズした場合、この値もアニメーションの長さに合わせて調整します。短すぎると扉が開ききる前にテレポートしてしまいます。
doorCloseDelayfloat(秒)既定値: 4
扉が開いてから、自動で閉じ始めるまでの時間。
こんな時に変更:他のプレイヤーが続けて通れるように長めに開けておきたい場合は値を大きく、テンポよく閉めたい場合は小さくします。

出口の設定:PortalDestinationMarkerPortal_Destination についているスクリプト

shotPointobject (Transform)既定値: 子オブジェクトのShotPointが設定済み
プレビュー映像を撮影するカメラアングルの位置・向き。Portal_Destination の子にある「ShotPoint」というオブジェクトを指しています。
こんな時に変更:ShotPointオブジェクト自体をシーン上で動かして、プレビューに映したい景色のアングルを調整します(インスペクタの「試し撮りプレビュー」ボタンで確認しながら調整できます)。
textureWidth / textureHeightint(ピクセル)既定値: 1024 × 576
プレビュー映像として撮影する画像の解像度。
変更不要必ず16:9の比率を保ってください(例:1024×576、1280×720)。比率が崩れるとプレビュー映像が歪みます。インスペクタに16:9チェック機能があり、崩れていれば警告と自動補正ボタンが出ます。
Quest(Android)向けビルドでは自動的に512×288に縮小されます(自分で設定を変える必要はありません)。

全体制御:ScreenFadeControllerPortalSystemRoot についているスクリプト(フェード演出とテレポート実行を担当)

defaultFadeDurationfloat(秒)既定値: 0.4
ワールド全体の「共通」フェード時間。各ポータルの useCustomFade がOFFの時にこの値が使われます。
こんな時に変更:ワールド全体のテレポート演出のテンポを一括で変えたい時。推奨は0.3〜0.5秒。
defaultFadeColorobject (Color)既定値:
ワールド全体の共通の暗転色。
こんな時に変更:ワールドのテーマカラーに合わせて全体の暗転色を変えたい時(個別のポータルだけ変えたいなら、各ポータルのcustomFadeColorを使う方が適切です)。
fadeLockThresholdfloat(0〜1)既定値: 0.8
画面の暗転度がこの値を超えている間、プレイヤーの移動操作をロックします(「もう引き返せないポイント」)。
変更不要:0.8(80%暗転した時点でロック)が快適さとキャンセル猶予のバランスが良い値として設定されています。触るとしても0.7〜0.9の範囲に留めることを推奨します。
fadeQuadobject (MeshRenderer)既定値: ビルド時に自動構築
画面全体を覆う暗転用の板(Quad)。プレイヤーの視界の前に自動追従して表示されます。
変更不要:ビルド時に自動生成される内部オブジェクトです。

全体制御:SnapshotCameraControllerPortalSystemRoot についているスクリプト(プレビュー映像の撮影を担当)

snapshotCameraobject (Camera)既定値: 自動構築
プレビュー映像を撮影するための専用カメラ。常に無効(enabled=false)のまま、必要な時だけ手動で1枚撮影します(常時描画ではないので負荷が低い)。
変更不要
shotPoints / targetTextures / fovs / nearClips / farClipsarray既定値: ビルド時に自動構築
ワールド内の全ポータルぶんの「撮影位置」「保存先の映像」「画角(FOV)」「描画距離(Near/Far)」を、同じ順序で並べたリスト。ビルドのたびに全ポータルを走査して自動的に作り直されます。
変更不要:ここを直接編集する必要はありません。各値を変えたい場合は、対応する Portal_Destination の ShotPoint 上にあるCameraコンポーネントのFOV/Near/Farを編集してください。
previewPanelsarray既定値: ビルド時に自動構築
各ポータルのプレビュー板(PreviewQuad)への参照リスト。refreshDistanceを使った距離判定のために使われます。
変更不要:読み取り専用として表示されます。
refreshIntervalfloat(秒)既定値: 5.0
プレビュー映像を定期的に撮り直す間隔。1回のtickにつき1箇所だけ撮り直します(順番に巡回)。0以下にすると定期撮り直しが完全に無効になります。
こんな時に変更:行き先に動く物(他プレイヤーなど)を映したい場合は間隔を短く(例:2〜3秒)。逆に静的な景色ばかりで負荷を抑えたい場合は長く(例:10秒以上)、または0にして無効化します。
refreshDistancefloat(m)既定値: 0(無制限)
定期撮り直しの対象を、プレイヤーからこの距離以内にあるポータルだけに絞り込みます。0以下だと距離に関係なく全ポータルが対象(従来動作)。
こんな時に変更:ポータルの数が多いワールドで、遠くにあって誰も見ていないポータルまで律儀に撮り直すのは無駄なので、例えば30〜50mを設定すると負荷を抑えられます。
参加時の初回撮影(2周分)と、スリープ復帰時の再撮影は、この設定に関係なく常に全ポータルが対象です(ここで絞られるのは「定期的な巡回撮り直し」だけ)。
renderPlayersbool既定値: false
ONにすると、プレビュー映像に他プレイヤー(アバター)も映るようになります。OFFだと従来通りプレイヤーは映りません。
こんな時に変更:「行き先に誰がいるか」を先に見せたい演出をしたい場合にON。ただし他プレイヤーが動くたびに映像が古くなるため、ONにする場合はrefreshIntervalを短めに設定することを推奨します(ONかつrefreshIntervalが0以下だと、シーン検証とインスペクタに警告が出ます)。
resumeDetectThresholdfloat(秒)既定値: 5.0
VRChatクライアントが一時停止(スリープ・バックグラウンド化など)から復帰したことを検知するためのしきい値。フレーム間の実時間ギャップがこの秒数を超えると「復帰した」と判断し、全ポータルを撮り直します。
変更不要:Questのスリープ復帰などでプレビュー映像が固まって見える問題を防ぐための内部安全装置です。

プレビュー演出:PreviewBillboard各Triggerの PreviewPanel についているスクリプト(既定では無効)

NOTEこのコンポーネントは各入口の PreviewPanel に同梱されていますが、既定では無効(チェックOFF)です。有効化するとプレビュー映像・フレーム・ラベルが一体となってプレイヤーの方を向くようになります。無効のままなら処理コストはゼロです。
activeDistancefloat(m)既定値: 20
プレイヤーがこの距離より遠いと、追従回転を停止します(負荷軽減のため)。0以下にすると無制限(どんなに遠くても追従し続ける)。
こんな時に変更:見せたいエリアが広い場合は距離を伸ばし、近距離でしか見せる予定がない場合は短くして負荷を抑えます。
turnSpeedfloat(度/秒)既定値: 360
パネルが向きを変える回転の速さ。0以下にすると、なめらかな回転ではなく瞬時に正面を向く(スナップ)動作になります。
こんな時に変更:ゆったりした演出にしたいなら小さい値(例:90〜180)、キビキビ追従させたいなら大きい値(例:540以上)や0(瞬時)。

組み合わせ早見表

「こういう演出をしたい」から逆引きできる早見表です。

やりたいこと変更するパラメータ
特定の入口だけ暗転をゆっくりにしたいuseCustomFade=ON+customFadeDurationを大きく
ワールド全体の暗転テンポを変えたいScreenFadeController.defaultFadeDuration
触れただけで飛ばず、通り抜けたらキャンセルしたいcancelTeleportOnExit=ON(Box/Round限定)
プレビューに行き先名を表示したいdestinationLabelに文字を入力
プレビューに他プレイヤーも映したいrenderPlayers=ON+refreshIntervalを短く
ポータルが多いワールドで負荷を抑えたいrefreshDistanceを30〜50m程度に設定
プレビューをプレイヤーの方に向けたいPreviewBillboardを有効化
Interact式の扉演出にしたい扉タイプのPrefab(Door_Button/Door_Open)を使用、またはdoorAnimatorを設定

用語ミニ辞典

Unityの基本用語(Inspector/Prefab/GameObjectなど)は初心者向けガイドの「Unity画面の基礎用語」にまとめています。ここでは本ツール固有の用語のみ扱います。

用語説明
Trigger(トリガー)プレイヤーの接触や操作を検知する「入口」側の仕組み・オブジェクト
Destination(デスティネーション)テレポート先の位置・向きを表す「出口」側のオブジェクト
フェード画面が暗転してから明転する、テレポート時の演出
ShotPointプレビュー映像を撮影する際のカメラの位置・向き
RenderTexture (RT)カメラで撮影した映像を書き込む画像データ。プレビュー板に貼り付けて表示する
ImmobilizeVRChat APIの機能で、プレイヤーの移動操作を強制的にロックすること(暗転中に使用)
ビルド時自動配線VRChat SDKでビルドするたびに、専用の処理がシーン内の全ポータルを走査して必要な参照を自動でつなぎ直す仕組み