Appearance
LKGSDK導入・パフォーマンスガイド
概要
Looking Glass SDK(LKGSDK)は、Looking Glass ディスプレイ向けの Unity 用開発キットです。 従来の SDK3(Built-in Render Pipeline)から SDK4(4.0-alpha / URP ベース) へのメジャーアップデートにより、パフォーマンスが大幅に向上しています。本ガイドでは、SDK4 の導入手順・パフォーマンス検証結果・既知の問題点をまとめています。
SDK3 と SDK4 の主な違い
| 項目 | SDK3 | SDK4(4.0-alpha) |
|---|---|---|
| レンダーパイプライン | Built-in | URP(Forward / Forward+) |
| 対応 Unity バージョン | Unity 2022.3 系 | Unity 6 LTS |
| 描画方式 | 従来方式 | 独自マルチビュー描画パイプライン |
| パフォーマンス | 基準値 | 約 4 倍高速 |
環境要件
SDK4 を使用するには、以下の環境が必要です。
| 要件 | 詳細 |
|---|---|
| Unity バージョン | Unity 6 LTS(v6000.1.5f1 推奨) |
| レンダーパイプライン | URP(Forward または Forward+、RenderGraph 有効) |
| Looking Glass Bridge | バージョン 2.6 以上 |
| 対応 OS | Windows(macOS は制限あり) |
注意事項
- HDRP は非対応です。 現在 SDK4 は URP のみサポートされています。
- SDK3 を使用する場合は Unity 2022.3 系を使用してください(Unity 6 非対応)。
SDK4 導入手順
以下の 8 ステップで SDK4 の環境構築を行います。
Step 1 : パッケージのダウンロード
公式ドキュメント から、main Package for Unity Editor v6000.1 をダウンロードします。
Step 2 : Unity プロジェクトの作成
Unity Hub から Unity 6 LTS(v6000.1.5f1 推奨)で新しい URP プロジェクトを作成します。
Step 3 : エディタを閉じる
作成したプロジェクトを一度閉じます。次のステップはエディタを閉じた状態で行います。
Step 4 : パッケージフォルダのコピー
Plugin 4.0-alpha 内の以下 4 フォルダを、プロジェクトの Packages フォルダにコピーします。
com.unity.render-pipelines.core
com.unity.render-pipelines.universal
jp.keijiro.klak.syphon
jp.keijiro.klak.spoutポイント
必ずエクスプローラ上(ファイルシステム)で直接コピーしてください。Unity エディタ上からではありません。
Step 5 : プロジェクトを再度開く
Unity Hub からプロジェクトを起動します。
Step 6 : UnityPackage のインポート
Assets > Import Package > Custom Package から Looking Glass Unity Plugin 4.0-alpha.unitypackage をインポートします。
Step 7 : ScriptableObject の設定
Project ウィンドウ内にある SDK の ScriptableObject を選択し、Inspector 上に表示される 3 つのボタンを上から順にクリック します。
Step 8 : サンプルシーンを開く
Project ウィンドウから Scenes > Multiview Example Scene を開きます。 Looking Glass Bridge が起動している状態で Play すると、Looking Glass ディスプレイに映像が表示されます。
LKG 上での表示方法
- Looking Glass Bridge を事前にインストール・起動しておいてください。
- Windows 環境では
lkg-preview-window/lkg-preview-winにある exe を起動してからエディタで Play します。
SDK3 vs SDK4 パフォーマンス比較
同一のシーン(SDK3 の BasicExample に含まれるモデル群)を使用して、エディタ上で FPS を比較しました。
基本ベンチマーク
| 指標 | SDK4(URP) | SDK3(Built-in) |
|---|---|---|
| 平均 FPS | 198 | 64 |
| 最高 FPS | 207 | 65 |
| 倍率 | 約 4 倍弱 | 基準 |
負荷テスト(SDK4 エディタ上)
| テスト内容 | 結果 |
|---|---|
| Cube 100 個生成 + ランダム回転 | FPS 低下なし(約 200 維持) |
| Cube 200 個超 | 200 FPS を下回り始める |
| ハイポリモデル 1 体(536K 頂点 / 250K ポリゴン) | 平均 130 FPS |
| ハイポリモデル複数体 | 2 桁 FPS に低下 |
所感
Cube 100 個程度のシンプルなオブジェクトでは FPS に影響はほとんどありません。 ハイポリモデルを複数配置すると急激に負荷が増加するため、ポリゴン数の最適化が重要です。
ハードウェア別パフォーマンス
ゲーミングラップトップ(開発用 PC)と低スペック PC で、同一シーンの FPS を比較しました。
低スペック検証機のスペック
| 項目 | 詳細 |
|---|---|
| 機種 | Lenovo ThinkPad |
| CPU | Intel Core i7-1165G7 @ 2.80GHz |
| GPU | 内蔵 GPU(Intel Iris Xe) |
| メモリ | 16GB |
| ストレージ | 500GB |
FPS 比較表
| テストシーン | ゲーミングラップトップ | 低スペック PC(ThinkPad) |
|---|---|---|
| 空のシーン(カメラのみ) | 200+ fps | 24 fps |
| ハイポリモデル 1 体 | 25 fps | 4.3 fps |
| ローポリモデル 1 体 | 450 fps | 64 fps |
| Cube 1 個(回転あり) | 200+ fps | ぬるぬる動作 |
| Cube 100 個生成 | 230+ fps | ガクガク |
| ハイポリモデル複数 | 200 fps 付近 | 3 fps 以下 |
モデル別ベンチマーク(ビルド後・実機表示)
| モデル種別 | ゲーミングラップトップ | リモート PC |
|---|---|---|
| ハイポリ(サブディビジョン Lv4) | 25 fps | 4.3 fps |
| ローポリ(デシメート 0.1) | 450 fps | 64 fps |
| 一般モデル(10K ポリゴン) | - | 36 fps |
| SDK デモシーン | - | 24 fps |
| Cube 100 個回転 | - | 24.7 fps |
まとめ
- 低スペック PC でもシンプルなシーンであれば実用可能です。 ローポリモデルや少数オブジェクトなら問題なく動作します。
- 空のシーンでも 24 fps 程度が上限のため、内蔵 GPU 環境では高フレームレートは期待できません。
- ハイポリモデルは低スペック PC では 4.3 fps 程度まで落ち込みます。
リモート PC(Bridge 未接続)での使用
Bridge をインストールできない環境(権限不足のリモート PC など)では、キャリブレーション情報を手動設定することで動作させることができます。
設定手順
- FinalPassCanvas プレハブ内の CalibrationLoader コンポーネントを確認します
- OverrideCalibration に対象デバイスの JSON ファイルをアタッチします
- ビルドして実行します
デバイス JSON の取得方法
| デバイスの種類 | JSON の取得元 |
|---|---|
| Looking Glass Go 以外 | Looking Glass Bridge から取得 |
| Looking Glass Go | デバイス本体から直接取得(Go は特殊なため) |
Go は特殊
Go のデバイス情報は Bridge 経由では取得できません。Go 本体から visual ファイルを直接取得してください。
既知の問題: UI 表示
SDK4 では、Canvas ベースの UI が Looking Glass 実機に表示されないという深刻な問題があります。以下のすべての方式で検証しましたが、いずれも失敗しています。
検証結果一覧
| 方式 | 設定内容 | 結果 |
|---|---|---|
| Overlay モード | Canvas の Target Display を Display 2 に変更 | 表示されない |
| Screen Space - Camera | HologramCamera を指定、PlaneDistance を 16 に調整 | 表示されない |
| World Space | HologramCamera を指定、カメラのフォーカス距離に Canvas 位置を合わせる | 表示されない |
| Camera Stacking | UI Camera を HologramCamera にスタック、レイヤーマスクで分離 | InvalidOperationException が発生(独自パイプラインとの競合) |
| FinalPassCanvas の子 | FinalPassCanvas の子に Image を配置 | Game View には表示されるが実機には映らない |
| UI Toolkit | UI Toolkit で UI を構築 | 独自マルチビュー描画パイプラインの取り込み対象外のため表示されない |
原因
SDK4 は独自のマルチビュー描画パイプラインを使用しており、Canvas レンダリングや UI Toolkit がこのパイプラインに含まれていません。Camera Stacking ではパイプラインの競合により InvalidOperationException が発生します。
ステータス: 未解決
2025 年 8 月時点で、SDK4 における UI 表示の解決策は見つかっていません。 UI が必要なアプリケーションでは、SDK3 の使用を検討するか、SDK の今後のアップデートを待つ必要があります。
トラブルシューティング
パッケージインポート後にエラーが出る
原因: エディタを開いたままパッケージをコピーした可能性があります。 対処: プロジェクトを閉じ、Packages フォルダへのコピーをやり直してください。
Looking Glass に映像が表示されない
- Looking Glass Bridge が起動しているか確認してください
- Bridge のバージョンが 2.6 以上か確認してください
- Windows の場合、
lkg-preview-windowの exe を起動しているか確認してください - CalibrationLoader に HologramCamera が登録されているか確認してください
リモート PC で Bridge がインストールできない
対処: CalibrationLoader の OverrideCalibration にデバイス JSON をアタッチしてください。詳細は「リモート PC での使用」セクションを参照してください。
FPS が極端に低い
確認事項:
- 内蔵 GPU のみの場合、空のシーンでも 24 fps 程度が上限です
- ハイポリモデル(数十万頂点以上)は大幅に FPS を低下させます
- Blender のデシメートモディファイアなどでポリゴン数を削減してください
Canvas UI が実機に映らない
現状: SDK4 では未解決の既知の問題です。詳細は「既知の問題: UI 表示」セクションを参照してください。