Pico 4 Ultra Business Streaming ガイド
Pico 4 Ultra の Business Streaming は、PICO 公式の Business Streaming ツールを通じて Unity プロジェクトを PC でレンダリングし、デバイスへストリーミングして閲覧・インタラクションします。これにより PC の演算能力を活用し、オンデバイスレンダリングよりも高い性能を実現します。このガイドでは、LCC Unity SDK を統合し、Business Streaming でストリーミング開発を完了する方法を説明します。
バージョン要件
このガイドで使用するソフトウェアとプラグインのバージョンは以下のとおりです。同じバージョンでの開発を推奨します。テストされていない他のバージョンには互換性の問題がある場合があります。
| ソフトウェア / プラグイン | バージョン | 説明 |
|---|---|---|
| Unity | v6000.0.69f1 以上 | Unity 6 を使用 |
| OpenXR | 1.61.1 以上 | Unity OpenXR Plugin。Unity Registry からインストール |
| LCC Unity SDK | v2.3.0 以上 | LCC Unity SDK ダウンロードページ から入手 |
| Business Streaming | v2.2.0 以上 | PICO 公式 から入手 |
注:
- Business Streaming は OpenXR 経由で接続します。PICO Unity Integration SDK を使用する Pico 4 Ultra 開発ガイド とは異なるため、混同しないでください。
- Unity バージョン、OpenXR バージョン、LCC SDK バージョンはすべてレンダリングと性能に影響するため、各ソフトウェアのバージョンをこのガイドと一致させるよう努めてください。
開発手順
手順 1:前提条件
ストリーミング元の PC と Pico 4 Ultra デバイスの両方に Business Streaming v2.2.0 以上をダウンロードしてインストールします。インストール後、PC を 1 回再起動することを推奨します。
手順 2:URP プロジェクトを作成する
プロジェクトテンプレートで Universal 3D(URP レンダーパイプライン)タイプを選択します。以下のとおりです。

Universal 3D プロジェクトを作成
手順 3:Unity OpenXR をインポートする
Unity メニュー Window → Package Manager から UPM ウィンドウを開き、左のリストで Unity Registry を選択し、検索ボックスに OpenXR を入力し、検索結果から OpenXR Plugin を選択してインストールします。以下のとおりです。

Unity Registry から OpenXR Plugin をインストール
手順 4:LCC Unity SDK をインポートする
Unity メニュー Window → Package Manager から UPM ウィンドウを開き、左の + をクリックし、ドロップダウンメニューから Install package from disk を選択し、LCC Unity SDK を特定して package.json ファイルを選択してインポートします。以下のとおりです。

Install package from disk で LCC Unity SDK をインポート
注:上記の手順を完了したら、Unity を再起動してから以降の設定に進んでください。
手順 5:Unity 環境を設定する
XR Plug-in Management を設定
Unity メニューバーから File → Project Settings を選択し、左側の XR Plug-in Management を選択し、PC, Mac & Linux Standalone Settings タブで Initialize XR on Startup にチェックを入れ、Plug-in Provider として OpenXR にチェックを入れます。以下のとおりです。

XR Plug-in Management で Initialize XR on Startup と OpenXR にチェック
注:OpenXR の後に黄色い警告アイコンが表示された場合は、Fix All をクリックしてすべて修正します。
XR Plug-in Management の OpenXR 項目を選択し、必要に応じて Render Mode を Single Pass Instanced または Multi Pass に設定します。一般的に Single Pass Instanced の方が性能が良く、残りの設定はデフォルトのままにします。以下のとおりです。

OpenXR の Render Mode を Single Pass Instanced または Multi Pass に設定
グラフィックス API を設定
Edit → Project Settings → Player から設定パネルを開き、対応するプラットフォームタブの Other 項目を選択し、プラットフォームごとにグラフィックス API を設定します。
| プラットフォーム | 操作 |
|---|---|
| Windows | Auto Graphics API for Windows のチェックを外し、DirectX12、Vulkan、DirectX11 の 3 つのグラフィックス API を追加 |
| macOS | Auto Graphics API for Mac のチェックを外し、Metal グラフィックス API を維持 |
| Linux | Auto Graphics API for Linux のチェックを外し、Vulkan グラフィックス API を維持 |
注:Windows プラットフォームでは、性能の良い DirectX12 または Vulkan の使用を推奨します。DirectX11 の場合は、レンダリングアーティファクトを避けるため HDR レンダリングを有効にすることを推奨します。
手順 6:シーンを作成する
この例では新しい Scene から開始します。Unity シーン(Scene)を作成し、ヒエラルキーウィンドウ(Hierarchy)の空の領域を右クリックし、ポップアップメニューから XR → Convert Main Camera To XR Rig を選択して Main Camera を XR カメラに変換します。
手順 7:シーンを設定する
ヒエラルキーウィンドウ(Hierarchy)で XR Rig GameObject を選択し、プロパティウィンドウ(Inspector)で Camera Offset プロパティの Request Tracking Mode を Floor に設定します。以下のとおりです。
XR Rig の Camera Offset の Request Tracking Mode を Floor に設定
ヒエラルキーウィンドウ(Hierarchy)で XR Rig → Camera Offset → Main Camera GameObject を選択し、プロパティウィンドウ(Inspector)で Camera コンポーネントのプロパティを設定します。Clipping Planes Near = 0.3、Far = 5000、Anti-aliasing = No Anti-aliasing、Opaque Texture = Off、Depth Texture = Off、Background Type = Solid Color、Background = 黒、HDR Rendering = Off、MSAA = Off、URP Dynamic Resolution = Off。以下のとおりです。

XR Rig 配下の Main Camera の Camera コンポーネントプロパティを設定
手順 8:シーンを読み込むコードを書く
ヒエラルキーウィンドウ(Hierarchy)で Create Empty を右クリックして空のオブジェクトを作成し、LCCManager と名前を付け、その Transform を正規化し、Add Component で LCCManager スクリプトをアタッチします。以下のとおりです。

LCCManager 空オブジェクトを作成し LCCManager スクリプトをアタッチ
ヒエラルキーウィンドウ(Hierarchy)で Create Empty を右クリックして別の空のオブジェクトを作成し、LCCRenderer と名前を付け、その Transform の Rotation.x = -90、Scale.x = -1 に設定します。以下のとおりです。

LCCRenderer 空オブジェクトを作成し、Rotation.x = -90、Scale.x = -1 を設定して座標系をアライメント
Rotation.x = -90 と Scale.x = -1 は、LCC データ座標系(Z 軸上・右手系)から Unity 座標系(Y 軸上・左手系)へのアライメント変換です。詳しくは Unity SDK の概要 の「LCC データの座標系」を参照してください。
LCCRenderer.cs という名前の C# スクリプトを以下のコードで作成します。
using LCCCore;
using UnityEngine;
[DefaultExecutionOrder(100)]
public class LCCRenderer : MonoBehaviour
{
public LCCManager m_manager;
public string m_FilePath;
private LCCCore.Renderer m_renderer;
private Camera m_mainCamera;
private bool m_isLoaded = false;
void Start()
{
m_mainCamera = Camera.main;
// プラットフォームタイプを PCVR に設定
m_manager.SetPlatformType(PlatformType.PCVR);
m_manager.SetMainCamera(m_mainCamera);
m_manager.SetLockFPS(false);
//全量レンダリングの splat を 1500 万に設定します。これは LCC LOD0 が 1500 万を超えるとチャンクレンダリングのパスに進むことを意味します。
//m_manager.SetFullRenderSplat(1500);
//最大レンダリング splat を 1500 万に設定します。これはチャンクレンダリングのパスでオンスクリーンの splat 上限を 1500 万に制限することを意味します。
//m_manager.SetMaxRenderSplats(1500);
m_renderer = m_manager.GetRender(this.transform);
if (m_renderer == null)
Debug.LogError("GetRender に失敗しました。マネージャが正しく設定され、ファイルパスが有効か確認してください。");
m_renderer.Load(m_FilePath, onLoadProgress, onLoadCallback, onError);
}
private void onLoadProgress(float value)
{
Debug.Log($"読み込み進捗: {value}");
}
private void onLoadCallback()
{
//開始 LOD を 2 に設定します。これは初期レンダリングが LOD2 レベルになることを意味します。
//m_manager.SetStartLod(2);
Debug.Log("データが読み込まれました !!!");
m_isLoaded = true;
}
private void onError(string error)
{
Debug.LogError($"読み込みエラー: {error}");
}
}
スクリプトをヒエラルキーウィンドウ(Hierarchy)の LCCRenderer GameObject にアタッチし、プロパティウィンドウ(Inspector)で LCCManager GameObject をスクリプトの Manager プロパティへドラッグし、最後に LCC ファイルパスを入力します。
上記の設定を完了すると、ヒエラルキーウィンドウ(Hierarchy)のシーン構成は以下のとおりです。

設定後のシーン構成
注:シーンには、URP プロジェクトでデフォルト作成される Directional Light、Global Volume などのオブジェクトを残す必要があります。
手順 9:Business Streaming を設定する
PC で Business Streaming を起動し、Settings → General を選択し、Default Streaming Type を OpenXR Streaming に設定します。以下のとおりです。

Business Streaming の Default Streaming Type を OpenXR Streaming に設定
手順 10:ストリーミングを開始する
- Pico 4 Ultra を USB 3.0 または高速 Wi-Fi で PC に接続します。
- Pico 4 Ultra デバイスで Business Streaming を開き、PC に接続します。
- Unity Editor の Play ボタンをクリックして実行するか、公開済みアプリケーションを開いてストリーミングを開始します。
注:
- Business Streaming ソフトウェアの使用方法については、PICO 公式ドキュメント https://business.picoxr.com/cn/doc/Business-Streamingv2 を参照してください。
- プロジェクト設定については プロジェクト設定の最適化ガイド を参照してください。
- ストリーミングには高性能な PC ハードウェア(特にグラフィックスカード)が必要です。高性能な PC でストリーミングし、USB 3.0 または高速 Wi-Fi を使用してください。
- PCVR ストリーミングでは 2 回レンダリングされます(SPI モードでも頂点が 2 倍になるオーバーヘッドがあります)。そのため、全量/チャンクレンダリング、最大オンスクリーンレンダリング量、開始 LOD レベルなどを設定することで性能とフレームレートを向上できます。パラメータ設定については レンダリングパフォーマンスパラメータガイド を参照してください。
関連ドキュメント
- プロジェクト設定とパフォーマンス最適化については、プロジェクト設定の最適化ガイド と レンダリングパフォーマンスパラメータガイド の章を参照してください。
- PICO Unity Integration SDK を使用するオンデバイスレンダリングの手順については、Pico 4 Ultra 開発ガイド を参照してください。
- Business Streaming のその他の使用方法については、PICO 公式ドキュメント Business Streaming を参照してください。