NICE CAMERA 3D Background Build Kitを使うと、Unityで作った部屋やステージを、NICE CAMERAで追加できる3D背景として書き出せます。
制作した3D背景をNICE CAMERAへローカル追加して利用するには、プレミアムプランが必要です。配布先での取り込み・利用にもプレミアムプランが必要になります。SDKでの制作・書き出し自体をプランで制限するものではありません。
このガイドは、3D背景ベータ機能用のBuild Kit 0.9.3のWindows/Mac向け制作手順です。SDK同梱対応版のNICE CAMERAには、制作に使うSDKのZIPが含まれています。
画像をクリックすると、スクリーンショットを原寸で開けます。画面は撮影時の例です。バージョンや設定によって表示が異なる場合があります。
制作と再生の環境
| 項目 | 使用するもの |
|---|---|
| 背景制作のUnity Editor | 2022.3.22f1(推奨)、または2022.3.62f3 |
| 描画方式 | Universal Render Pipeline(URP)14.0.10 |
| SDK | 同梱のNiceCamera-3D-Background-BuildKit-0.9.3.zip |
| 書き出し対象 | Windows 64-bit(StandaloneWindows64)、またはmacOS(StandaloneOSX) |
| 再生するNICE CAMERA | 利用先OSのUnity 2022.3.62f3・3D背景対応版 |
制作Editorとアプリを作るEditorのバージョンは異なっていてもかまいません。2022.3.22f1と2022.3.62f3の両方で制作できます。両方のEditorで書き出したWindows背景を、62f3のWindowsアプリにローカル追加し、再起動後も読み込める組み合わせを検証しています。Mac向けは別途macOSを選んで書き出し、Mac版で確認してください。Windowsでの検証はMacでの動作確認の代わりにはなりません。任意のShaderやすべての購入アセットの動作を保証するものではありません。62f3で書き出した背景を旧22f1アプリで読み込む逆方向の互換性は保証しません。
旧Unity 2021版SDKの背景とは混用しないでください。旧背景を移行する場合は制作元を保存・バックアップしたうえで、対応SDKを使って再ビルドします。設定ファイルのバージョン文字列を書き換えるだけでは移行できません。
インストール済みのNICE CAMERAからSDKを取り出す
SDK同梱対応版をインストールした後、次の場所を開きます。アプリ名・インストール先はエディションや選択したフォルダによって変わります。
| OS | SDKの場所 |
|---|---|
| Windows | NiceCamera.exeがあるインストール先 → NiceCamera_Data → StreamingAssets → SDK |
| Mac | アプリケーション内のNICE CAMERAを右クリック →「パッケージの内容を表示」→ Contents → Resources → Data → StreamingAssets → SDK |
この中の NiceCamera-3D-Background-BuildKit-0.9.3.zip を、デスクトップなど書き込み可能な制作フォルダへコピーしてから解凍します。アプリのインストール先や .app の中で制作・編集しないでください。アプリ更新やアンインストールで同梱SDKは更新・削除されますが、別の制作フォルダへコピーした内容は影響を受けません。
ZIP配布版でも同じ場所にSDKがあります。SDK フォルダがない旧版は、SDK同梱対応版へ更新するか、配布元からSDKを入手してください。
SDKをUnityへ導入する
- Unity Hubで2022.3.22f1(推奨)または2022.3.62f3を用意します。以下の画像は22f1で撮影しています。
- 通常の「3D」テンプレートで、背景制作専用の新規プロジェクトを作ります。
- Unityを閉じ、SDKのZIPを解凍します。
com.nicecamera.threed-background-build-kitフォルダを、制作プロジェクトのPackagesにコピーします。Packages/com.nicecamera.threed-background-build-kit/package.jsonがあることを確認します。- Unityを開き直し、パッケージの読み込みが完了するまで待ちます。
上部に NICE CAMERA > 3D Background メニューが出れば導入を確認できます。Consoleの赤いエラーがないことも確認してください。
導入確認:Window > Package Manager を開き、SDKを選びます。右側の名前・バージョンが「NICE CAMERA 3D Background Build Kit」「0.9.3」、左側のUniversal RPが「14.0.10」であることを確認します。この画像はUnity 2022.3.22f1で撮影しました。
別の方法として、Package Managerの「Add package from disk…」でSDKの package.json を指定できます。コピー方式と重複して導入しないでください。SDKは .unitypackage ではありません。
まずは空の制作プロジェクトで始めてください。NICE CAMERA本体のソースコードやVRCSDKは不要です。VRChatのUdonなどに依存するギミックを、そのまま使えるSDKではありません。
Base Roomを作る
- Playを停止し、編集中のシーンを保存します。
NICE CAMERA > 3D Background > Create Base Roomを選びます。- 作成された部屋とPackage Builderを確認します。
Assets/NICE CAMERA Base Room/Scenes/BaseRoom.unityを編集します。同名の出力がある場合は別名のフォルダになります。
青いカプセルはアバターの位置の目安で、出力には含まれません。Preview Cameraも制作時の確認用です。購入アセットはSDKには含まれません。
制作画面:SDKから新しく生成したBase Roomの初期状態です。床・壁・ライトと青いカプセルだけで、追加の家具やギミックは置いていません。中央の目安を基準に、家具や壁を配置します。この部屋は編集を始めるためのサンプルです。
立ち位置・材質・照明を決める
シーン原点 (0,0,0) をアバターの足元、正面を -Z 方向とします。1 Unity unitを1mとして、床・家具・壁を配置してください。
URPに対応した材質を使用し、正面・左右・近距離から確認します。窓の景色やSkybox、ベイク済みLightmapを含む部屋全体には、Sceneでのビルドを推奨します。
アバターへ実行時に直接光を当てる場合は、Realtimeのライトを用意します。ベイクだけでは、後から表示されるアバターが同じように照らされるとは限りません。
Global Volumeのポストエフェクトは、Profileをシーンから参照させます。独自のRenderer Featureなど、本体にない描画処理をVolumeだけで追加できるわけではありません。
Package Builderで書き出す
NICE CAMERA > 3D Background > Package Builder を開き、次を設定します。
| 項目 | 設定例・注意 |
|---|---|
| Package ID | my-office-room。別背景は別ID、同じ背景の更新は同じID |
| Display Name | 一覧に表示する名前 |
| Thumbnail | 背景のサムネイル。例:512×288、16:9 |
| Background Scene | 制作した部屋のシーン。部屋全体はこちらを推奨 |
| Background Prefab | Prefabを出力するときに使用。Sceneと同時には指定しない |
| Anchor | 通常はAvatar Position |
| Position Offset / Rotation / Scale | 最初は位置・回転0、Scale1を基準に確認 |
| Override Initial Distance / FOV | 必要な場合に初期カメラ距離・画角を指定 |
| Platform | 利用先のアプリに合わせてWindows 64-bitまたはmacOSを選択 |
設定箇所①:Package で識別子・表示名・サムネイルを設定します。Content の Background Scene に制作シーンを指定します。この例では Background Prefab はNoneです。
設定箇所②:Initial Placement は背景の位置・向き・大きさ、Initial Camera はカメラ距離・画角です。最後の Output の Platform で利用先のOSを選び、最下部の Build .nicebg Package を押します。
Mac向けの出力設定例です。これはWindows上のUnityでmacOS出力を選択した画面であり、Macでの再生確認の画面ではありません。必要なBuild SupportをUnity Hubから追加してください。同じ制作シーンから両OSへ配布する場合は、OSごとに別の出力フォルダを選んで2回ビルドします。Windows用とMac用の同名ファイルを同じフォルダへ混ぜないでください。
シーンを保存し、「Build .nicebg Package」を押して出力先を選びます。既存の同じIDの出力は更新されるため、残したい旧版は先にコピーしてください。
背景の出力フォルダ/
my-office-room.nicebg
my-office-room.bundle
my-office-room-thumbnail.png ← サムネイルを指定した場合
README.txt
出力フォルダ全体を配布します。ZIPで渡す場合も、受け取った人は解凍してからNICE CAMERAの「背景」→「3D背景 β」→「追加」で .nicebg を選びます。
背景を更新するときは、制作シーンを保存し、必要なら再ベイクして同じIDで再ビルドします。読み込み中のファイルを置き換えないよう、NICE CAMERAを終了してから更新・再起動してください。
配布前にNICE CAMERAで確認する
- 背景の読み込みとサムネイル表示。
- 正面・左右・近距離での見え方と、顔を隠す家具や壁がないこと。
- 背景光のON/OFFと、アバターの見え方。
- ポストエフェクトと、必要な場合は背景由来の設定への初期化。
- Animatorや手の接触ギミックを使う場合、その実動作。
任意のC#・DLL・Udonコードを背景のAssetBundleから新機能として実行する方式ではありません。SDKの対応コンポーネントを使い、警告を確認してから配布してください。Windows向けBundleとMac向けBundleは別物です。MacへはmacOSで書き出したフォルダ一式を渡し、対応するMac版NICE CAMERAで追加・再起動・描画を確認してください。
Animatorで背景を動かす
動かすオブジェクトのAnimatorへAnimatorControllerを設定します。Controllerから参照されるAnimationClipも背景の依存データとして書き出されます。NICE CAMERAで読み込むと既定のStateから再生し、背景パネルのAnimationボタンで一時停止・再開できます。
Fallback Clip (No Animator) はAnimatorControllerを持たない背景用です。AnimatorControllerを設定した場合は、この欄で同じClipを指定する必要はありません。
アバターの手で触れるギミック
初めて試す場合は NICE CAMERA > 3D Background > Create Hand Touch Sample を選び、生成された HandTouchDoor.prefab を制作中の背景シーンへ置きます。UnityのPlay中に SDK Preview Palm (EditorOnly) を Touch Button に近づけると、接触している間ドアが開き、離すと閉じます。プレビューの手は書き出されません。
自分のギミックを作るときは、次のように設定します。
- 動かすオブジェクトにAnimatorとAnimatorControllerを設定します。
- 触れる場所にBoxColliderまたはSphereColliderを置き、
Is TriggerをONにします。 Add Component > NICE CAMERA > 3D Background > Hand Touchを追加します。- 触れる範囲、動かすAnimator、反応する手を指定します。
- AnimatorControllerのパラメーター名を、対応する欄に入力します。
| イベント | パラメーターの型 | 用途 |
|---|---|---|
| 触れた瞬間 | Trigger | 待機から演出へ一度だけ遷移 |
| 触れている間 | Bool | 接触中はtrue、離れたらfalse |
| 離れた瞬間 | Trigger | 離れたときの演出へ遷移 |
対応版NICE CAMERAでは現在のVRMアバターの手が自動的に使われます。判定は手のひら付近の球で行い、指一本ずつのメッシュ接触ではありません。手ボーンのないモデルは対象外です。SDKの Documentation~/HandTouch.md に詳しい設定と注意点があります。
Allow Click をONにすると、手で触れる代わりに対象を左クリックしても反応します。必要なら Click Volumes にクリックできる範囲を指定してください。クリックは押した瞬間ではなく、同じ対象上でボタンを離したときに判定します。ドラッグへ移行した操作、ほかのドラッグ操作中、UI上の操作では発動しません。クリック時は指定した時間だけ接触中の状態になり、その後に離れた状態へ戻ります。プリセット背景には、このサンプルのギミックは置いていません。
背景内のTVにスライドを表示する
TVなどの画面部分にQuadとURP/Unlit材質を用意し、NiceCameraWindowShareSurface を追加します。Target Renderer、Material Index、Texture Property を指定してください。URP/Unlitの標準のTexture Propertyは _BaseMap です。
NICE CAMERAのスライドで選んだ画像・動画・PDFの現在ページ・ウィンドウ共有を、その画面に表示できます。共有していないときは材質の元の表示に戻ります。縦横比を保つ場合は Fit Texture Inside Surface をONにします。ウィンドウ共有はWindows向けです。




