環境はシーンが配置される空間コンテキストを定義するもので、ステージ詳細パネルの環境セクションで設定します。環境は2つの要素から構成されます:アバターがその内部に立つ3Dセットである環境モデルと、周囲を取り囲むパノラマ照明・背景である環境マップです。両者は個別に利用することも、組み合わせて併用することも可能です。「モデルを選択…」をクリックするとインベントリの3Dオブジェクトカテゴリが開き、「マップを選択…」をクリックすると環境マップおよび画像アセットを選択できます。各項目の隣にあるゴミ箱アイコン(「環境モデルを削除」および「環境マップを削除」)をクリックすると、対応するアセット設定のみを個別に解除できます。Personaには標準でJapanese Room環境モデルとSan Giuseppe Bridge環境マップが同梱されています。環境マップや環境モデルを追加・削除する際、ステージの描画パイプラインは環境スロットを動的にホットスワップするため、画面のコマ落ちや一時的なフリーズが発生することはありません。
カメラとライティングと同様に、環境セクション内の空間設定項目は、シーンに3次元要素(VRMアバターまたは3Dオブジェクト)が存在する場合にのみ表示されます。Live2Dのみのシーンでは、末尾に配置された画面全体のカラーグレーディング調整項目のみが表示されます(詳細はエフェクトを参照)。表示・非表示トランジションは、コントロールパネルの切り替え効果セクションに収められており、すべてのレイヤー種別で共通して機能します。
環境マップ
環境マップには正距円筒図法(Equirectangular)のパノラマ画像を使用し、全方位からシーンに対して物理ベースの環境照明(IBL)を提供します。.hdr形式の高ダイナミックレンジ画像は物理的に正確な放射輝度情報を保持しており、標準的なPNG、JPEG、WebP画像は一様な拡散光の環境フィルライトとして機能します。
環境モデル
環境モデルには標準的な.glb形式の3Dアセット(室内、スタジオステージ、屋外風景など)を使用します。内部の読み込み処理、空間トランスフォーム、シャドウ生成パイプラインは3Dオブジェクトのレイヤーと完全に共通しており、位置・回転・スケール・不透明度のプロパティも同一です。通常のオブジェクトレイヤーとは異なり、環境モデルはシーン全体のグローバル設定に属し、レイヤーリストには追加されません。
トランスフォーム項目の下にあるハンドルスイッチを有効にすると、ステージビューポート上に3Dマニピュレーターハンドルが表示され、ドラッグ操作で直感的に環境モデルの配置を調整できます。配信モードではこのハンドルは自動的に非表示になります。
| コントロール | 説明 |
|---|---|
| モデルのライト | 環境モデルファイルに内蔵されたライトを点灯させるかどうかを指定。展開すると以下の3つの詳細項目が表示されます |
| ライトをアバターに適用 | 内蔵ライトでアバターを照らすかどうかを指定。オフにすると、アバターはシーン固有のライトのみを受けます |
| ライトを3Dオブジェクトに適用 | 内蔵ライトでシーン内の3Dオブジェクトレイヤーを照らすかどうかを制御 |
| 環境ライティングを適用 | 上記の2つの配光ルートを同時に有効化し、シーン固有の各ライト強度を一括で0.25に減衰させて、MToonアバターの白飛びを防止するプリセット |
ライティングソースをモデルから生成に設定すると、Personaはアバターの座標位置において環境光プローブを動的にキャプチャします。このプローブはモデルの読み込み完了時や、トランスフォーム・ライトスイッチ・マップ・回転角度が変更されたタイミングで再計算され、毎フレームの高負荷な更新は行いません。モデル内蔵ライトはモデルのライトの下に一覧表示され、3Dオブジェクトに含まれるライトと同様のコントロールで調整できます。ライトマップベイク専用のライトは、プローブ内の間接光との多重加算を避けるため初期強度が0に設定されています。必要に応じて手動で強度を引き上げることも可能です。
3Dシーンファイルには、フォグ、トーンマッピング、露出、ブルーム、カラーグレーディングの設定値を保持できます。「環境ルックを適用」をクリックするとこれらの設定が適用され、現在のシーンのフォグおよびポストプロセス設定が上書きされます。これらのパラメーターを一度も手動調整していない場合、Personaは環境モデルの読み込み時に内蔵ルックを自動適用します。
ライティングとスカイボックス
環境モデルまたは環境マップを選択すると、以下のライティングおよび背景コントロールが表示されます:
| コントロール | 説明 |
|---|---|
| ライティングソース | 環境モデルが存在する場合に表示。環境マップまたはモデルから生成(詳細は後述) |
| スカイボックスを表示 | シーン遠景にパノラマ背景を描画。シーンの実際の受光状態には影響しません |
| スカイボックスのぼかし | パノラマ背景に対する被写界深度ブラー半径、0~1 |
| スカイボックスの明るさ | スカイボックス背景の表示輝度、0~2(既定値1)。受光強度には影響しません |
| 環境の回転 | パノラマテクスチャとその環境光の照射方位を同期回転、−180°~180° |
| 強度 | 環境光全体の照射強度倍率、0~2 |
| アバターへの強度 | MToonアバターのマテリアルに適用される環境光の配分比率、0~1 |
環境マップはパノラマテクスチャから直接シーンを照らします。マップが未選択の場合は環境モデル付属の空テクスチャが代用されます。モデルから生成はモデル自身の形状から環境照明を算出し、環境マップ(またはモデルの空)は窓の外の景色やスペキュラ反射として描画されます。マップを選択するとライティングソースは自動的に環境マップへ切り替わります。マップが存在しないシーンにモデルを追加した場合はモデルから生成で初期化され、マップが存在する状態で追加した場合は環境マップで初期化されます。モデルの差し替え時は現在の選択が保持され、マップを削除するとモデルから生成へ自動フォールバックします。
VRMのMToonシェーダー仕様には物理環境光の定義が存在しないため、Personaは独自のシェーダー拡張を組み込んでおり、アバターへの強度スライダーによってMToonマテリアルへの環境光寄与度を柔軟に制御できます。PBRサーフェス(3Dオブジェクトおよび非MToonマテリアル)は常に全量の環境光を受光し、このスライダーの影響を受けません。
スカイボックスは、選択されているライティングソースにかかわらず、環境マップ(未設定時は環境モデル付属の空)を描画します。動的に計算された放射輝度プローブは背景としてサンプリング描画できないため、マップが存在せずモデルにも空が含まれていない場合、スカイボックスは透明のまま描画されません。スカイボックスのぼかしおよびスカイボックスの明るさは、スカイボックスを表示が有効な場合のみ操作可能です。
フォグ
フォグは遠方の3Dジオメトリを指定した背景色へと滑らかに減衰・フェードさせ、アバターの背後に小物が並ぶシーンでの空間の奥行き感と大気遠近感を高めます。
| コントロール | 説明 |
|---|---|
| フォグの色 | 遠方ジオメトリが最終的に溶け込む背景色彩 |
| 濃度 | 視線距離に沿ったフォグの蓄積密度、0~0.5 |
フォグはカメラ距離の2乗に比例して指数関数的に減衰するため、メートル単位の空間では比較的小さな濃度値でも十分な大気遮蔽効果が得られます。
物理演算
物理演算は、3Dオブジェクトに重力落下と剛体衝突シミュレーションを適用し、床面やVRMアバターの体表に着地させる機能です。新規シーンでは既定でオフに設定されています。
物理演算によって計算された姿勢や変位は保存されません。物理演算スイッチをオフにすると、すべてのオブジェクトは初期設定の静的座標へと即座にリセットされます。
対象になるもの
- 剛体ダイナミクス計算の対象となるのは3Dオブジェクトのみで、各オブジェクトのバウンディングボックスを衝突プロキシとして処理します。画像・動画・ウェブページレイヤーは3D空間に配置されていても動かず、モデルにピン留めした子オブジェクトも親のトランスフォームに追従して静止状態を保ちます。
- ステージの床面は高さ0に位置する無限平面として扱われます。環境モデル自体の複雑なメッシュは衝突判定に含まれません。
- VRMアバターは身体骨格に沿って配置されたカプセル型コライダーで落下物を受け止め、アバター自身が衝撃で吹き飛んだり押されたりすることはありません。Live2Dアバターは物理演算に参加しません。
- 非表示状態のオブジェクトやアバターは一時的に物理演算の計算対象から除外されます。
オブジェクトを配置する
ステージ上のハンドルをドラッグしてオブジェクトを動かすと、そのオブジェクトは一時的にシミュレーションから切り離されます。ハンドルを放すと、その位置から重力落下が再開されます。インスペクター上でトランスフォーム数値を直接変更した場合、新しい座標を起点としてシミュレーションが再開されます。
プラグインAPIから生成する
プラグインAPIのstage.spawnを使用すると、物理演算が有効なシーンに剛体挙動を持つ3Dオブジェクトの複製をまとめて生成できます(配信中のギフト落下演出など)。生成された動的クローンはレイヤーリストには追加されず、保存も行われません。既定では30秒後に自動消滅します。API呼び出し時に明示的に指定しない限り、これらのオブジェクトの出現と消滅にはシーン全体の表示・非表示トランジションが適用されます。
表示・非表示
表示・非表示は、モデル、各種メディアレイヤー、およびプラグインAPIで動的生成されたエンティティの登場・退場トランジションアニメーションを一括制御します。シーンへの追加、削除、表示切り替え、モデル差し替えの際に実行されます。コントロールパネルのステージ詳細にある切り替え効果セクションで設定します。
| スタイル | 説明 |
|---|---|
| グリッチ | 既定値。スキャンラインの裂け目と焦げ付きノイズを伴うディザディゾルブ |
| フェード | 滑らかなアルファフェード。各オブジェクトを単一レイヤーとして合成し、内部透過を防止 |
| ポップ | バウンスを伴いながら拡大登場し、縮小フェードアウトで退場 |
| カット | トランジションなしで瞬時に表示または非表示を切り替え |
持続時間はトランジションの再生時間をミリ秒単位で指定し、設定範囲は0~5000ミリ秒(既定値300ミリ秒)です。カット選択時はこの設定項目は非表示になります。
レイヤー種別ごとのトランジション処理:
- 3DオブジェクトおよびVRMアバター:フェード時はオブジェクト全体を専用パスへ渡し、深度ソートを保ったままレイヤー全体のアルファで合成するため、内部パーツが互いに透けて見える不自然さを防ぎます。グリッチ時はメッシュの裂け目を伴うディザディゾルブを実行します。なお、静止配置時の不透明度(1未満)は引き続きスクリーン空間ディザを用いてパーツ間の自己透過を防ぎます。
- Live2Dアバター:グリッチ時はフラット化された描画キャンバス上で行ごとの水平ズレを伴うディザ処理を実行し、フェード時はモデル全体のアルファを制御し、ポップ時は拡大縮小します。
- 画像・動画・ウェブページ・テキストレイヤー:グリッチ時はクアッドメッシュを行ストリップに分割して歪め、フェード時は不透明度を変化させ、ポップ時はスケーリングします。
- 動的生成オブジェクト(
stage.spawn):インスタンス間でメッシュを共有するため、フェード指定時は自動的にポップへフォールバックします。
最終更新日:2026年10月11日