XGRIDSドキュメント
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • Lixel PortalCam シリーズ

    • PortalCam P1

      • 製品概要
      • デバイスの基本操作
      • LCC Scan App の使用
      • メンテナンスとお手入れ
      • FAQ
  • Lixel K シリーズ

    • Lixel K1

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標のポイントクラウドデータを取得する
      • マップフュージョン
      • 典型的なシーンにおける経路計画の推奨
      • 注意事項
      • FAQ
    • Lixel K2

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標のポイントクラウドデータを取得
      • マップフュージョン
      • 典型的なシーンにおける経路計画の推奨
      • 注意事項
      • FAQ
  • Lixel L シリーズ

    • Lixel L2 Pro

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標のポイントクラウドデータを取得する
      • 実時計測機能
      • 付録
      • FAQ
    • Lixel L3

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標点群データの取得
      • 付録
  • アクセサリー

    • Stick Light

      • 取り付けガイド
      • 基本操作
      • よくある質問
  • Lixel Studio

    • バージョンと著作権
    • インストールとアクティベーション
    • ソフトウェアインターフェース
    • ファイル操作
    • プロジェクト処理
    • ツール
    • 2D 作図
    • 業界応用
    • 設定
    • デバイス接続
    • よくある質問
  • Lixel CyberColor

    • LCC Studio

      • はじめに
      • バージョンと更新
      • ダウンロードとインストール
      • インターフェース概要とナビゲーション
      • 再構築前の準備
      • モデル再構築
      • 単一モデル再構築
      • 地図合成
      • 空地融合
      • 航空撮影再構築
      • マイモデル
      • その他の機能
      • 設定とアカウント
      • Converter
      • 動画再構築
      • よくある質問 / FAQ
    • LCC Scene Editor

      • バージョンと更新情報
      • アカウントとサインイン
      • 製品概要とホーム画面
      • エディター画面
      • ナビゲーションモード
      • ファイル
      • 設定
      • 編集
      • ウィンドウ
      • グローバルツールバー
      • アセットとプロパティ
      • 左ツールバー
      • ビューポイント
      • ポータル
      • スカイボックス
      • アノテーション
      • 測定
      • フライスルー
      • シーンレポート
      • 3D レイアウト
      • ミニマップ
      • プレビューモード(Viewer)
      • ヘルプ
      • よくある質問(FAQ)
      • スポーンポイント
    • LCC Model Editor

      • バージョンと更新
      • ユーザーガイド
      • 概要とインターフェース
      • ファイル操作
      • セレクター
      • モデルの編集
      • 測定
      • カラーグレーディング
      • アセット管理
      • 設定とヘルプ
      • よくある質問
    • Capture Guide

      • 概要
      • 撮影デバイス概要
      • 一般的な撮影の原則
      • 屋内シーンの撮影
      • 屋外シーンの撮影
      • 大規模撮影(マップフュージョン)
      • 空地マップフュージョン撮影
      • オブジェクト撮影
      • 人物撮影
      • ビデオ再構築撮影
      • HD Enhancement
      • 制御点(Lixel P1)
      • FAQ とトラブルシューティング
    • LCC Studio Linux

      • 製品概要説明
      • 基本アーキテクチャマニュアル
      • インストールと展開説明書
      • コンテナ起動パラメータ説明書
      • CodeMeter オフラインライセンス展開説明書
      • APIコマンドセット
      • 付録-開発者データマニュアル
      • 付録-エラーコード一覧
      • シングルノードマルチGPUクラスタ展開QuickStart
    • 活用テクニック

      • 複数の大規模 3DGS モデルの統合ワークフロー
    • バージョン履歴
  • プラグインと SDK

    • Unreal

      • 概要
      • クイックスタート - Windows
      • クイックスタート - Linux
      • クイックスタート - Quest3
      • エディションとライセンス
      • レンダリング
      • Tiled ラスタライズ(実験的機能)
      • 画面調節
      • 法線とライティング
      • シーン編集
      • パフォーマンスパラメーター
      • パフォーマンス最適化ガイド
      • サードパーティおよびエンジンプラグインとの連携
      • プロキシメッシュ
      • 読み込みアニメーション
      • コリジョン
      • ナビゲーションシステム対応
      • Single layer water 対応
      • ローカライズ
      • よくある質問
      • トラブルシューティング
      • ログと診断
      • お問い合わせ
      • ベストプラクティス

        • LixelStudio メッシュで 3DGS をリライティングする
      • API リファレンス

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • SOG / SPZ / PLY Actors
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • 更新履歴

        • v3.4.0
        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1
    • Unity

      • Unity SDK の概要
      • 技術的特徴
      • 開発環境の要件
      • PC クイックスタートガイド
      • プロジェクト設定の最適化ガイド
      • Pico 4 Ultra 開発ガイド
      • Pico 4 Ultra PC ストリーミングガイド
      • Quest 3 開発ガイド
      • Quest 3 PC ストリーミングガイド
      • OpenXR 開発ガイド
      • Pico 4 Ultra Business Streaming ガイド
      • 用語集
      • FAQ
      • お問い合わせ
      • 機能開発ガイド

        • 複数シーン混合レンダリング開発ガイド
        • 影の受光開発ガイド
        • リアルタイムライティング開発ガイド
        • マルチカメラレンダリング開発ガイド
        • 高解像度画像レンダリング開発ガイド
        • LCC / LCC2 データ形式互換性開発ガイド
        • 読み込みエフェクト開発ガイド
        • Mip レンダリングモード切り替え開発ガイド
        • エッジ・コーナースナップ開発ガイド
        • 投影デカール開発ガイド
        • ビデオ投影デカール開発ガイド
        • ハイライト開発ガイド
        • リアルタイムクリッピング開発ガイド
        • カラー調整開発ガイド
        • シーン Mesh データ取得開発ガイド
        • エディターモード開発ガイド
        • レンダリングパフォーマンスパラメータ設定ガイド
        • アプリケーションとデータの同梱パッケージ開発ガイド
        • コリジョンシステム開発ガイド
        • macOS 開発の権限問題ガイド
        • iOS デバイスのコンパイル・パッケージ化開発ガイド
      • API リファレンス

        • LCCManager
        • Renderer
        • データ型
      • 変更履歴

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14
    • Web

      • はじめに
      • レンダリング性能最適化ガイド
      • グラフィックス設定
      • よくある質問
      • API リファレンス

        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
        • LCCObject::checkRenderNextFrame
        • LCCObject::clearRenderNextFrame
        • LCCObject::ecef2Prj
        • LCCObject::getBounds
        • LCCObject::getEnvInstancedMesh
        • LCCObject::getInstancedMesh
        • LCCObject::getLodInfos
        • LCCObject::getOriginPosition
        • LCCObject::getProjectionCoordinateSystemInfos
        • LCCObject::hasCollision
        • LCCObject::hasEnvironment
        • LCCObject::hasShcoef
        • LCCObject::intersectsCapsule
        • LCCObject::intersectsRayExt
        • LCCObject::intersectsRayFromOriginExt
        • LCCObject::intersectsSphere
        • LCCObject::lowerToBottom
        • LCCObject::prj2Ecef
        • LCCObject::raiseToTop
        • LCCObject::raycast
        • LCCObject::raycastFromOrigin
        • LCCObject::setAlpha
        • LCCObject::setClipBox
        • LCCObject::setClipPlane
        • LCCObject::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • LCCObject::setOriginPosition
        • LCCObject::setPointsColor
        • LCCObject::setRenderState
        • LCCObject::setRotation
        • LCCObject::setScale
        • LCCObject::setSemantic
        • LCCObject::setSemanticColor
        • LCCObject::setSmooth
        • LCCObject::setStartLod
        • LCCObject::setTranslation
        • LCCObject::setVisible
        • LCCObject::togglePointsDisplayMode
        • LCCObject::useEnvironment
        • LCCObject::useShcoef
      • 更新履歴

        • v0.6.3
        • v0.6.2
        • v0.6.1
        • v0.6.0
        • v0.5.5
        • v0.5.4
        • v0.5.3
        • v0.5.2
        • v0.5.1
        • v0.5.0
        • v0.4.1
        • v0.4.0
        • v0.3.1
        • v0.3.0
        • v0.2.0

データ型:列挙型と構造体

LCC Unity SDK が公開する列挙型と構造体で、LCCManager と Renderer のメソッドで使用します。

列挙型

PlatformType

対象のランタイムプラットフォームです。SetPlatformType() で使用します。

public enum PlatformType { PC, Mac, Android, iOS, Pico, Quest, AVP, PicoSwan, OpenXR, PCVR }

ActiveRenderMode

グローバルレンダリングアーキテクチャモードです。SwitchRenderPass() で使用します。

public enum ActiveRenderMode { MultiRender, SingleRender }
値説明
MultiRender共有 GPU バッファを使用し、最大 255 個の Renderer を同時にレンダリング可能
SingleRenderSDK がデータサイズに基づいてレンダリングパスを自動選択

PC / Mac プラットフォームにのみ適用されます。モバイル / VR プラットフォームは自動的に適応戦略を採用し、SwitchRenderPass() の呼び出しは拒否されます。

SourceType

データソースタイプです。Renderer.GetSourceType() が返します。

public enum SourceType { LCC, PLY, SPLAT, TYY, None, SOG, SPZ, KSPLAT }

DataType

データフォーマットタイプです。Renderer.GetDataType() が返します。

public enum DataType { L1, L2, L2Pro, K1, K2, Drone, Drone_L2, PortalCam, None }

MipMode

Mip レンダリングモードです。SetMipMode() で使用します。

public enum MipMode { Mip, Non_Mip }
値説明
Mipミップマップサンプリングを使用(デフォルト)
Non_Mipミップマップを無効化。レンダリングの詳細は細かくなるが、性能オーバーヘッドが高い

SnapType

スナップタイプです。HitResult.snapType と SnapPreviewState.snapType で使用します。

public enum SnapType { None, Edge, Corner }

SelectionMode

ノード選択戦略です。SetSelectionMode() で使用します。

public enum SelectionMode { Auto, Normal, Large }
値説明
Autoシーンの全体バウンディングボックスに基づいて自動決定(デフォルト)
Normal中小規模のシーンに適する
Large超大規模シーン(1000 メートル超)に適する

RenderMode

点群 / 3DGS レンダリングモードです。SwitchRenderMode() で使用します。

public enum RenderMode { PointCloud, LCCGS }
値説明
PointCloud点群レンダリング
LCCGS3DGS レンダリング

SelectMode

選択の採用/除外モードです。Data2D や Data3D などの選択データで使用します。

public enum SelectMode { normal, invert, clip }

OperationMode

複数ジオメトリのブール演算モードです。Data3D や DataMix などの選択データで使用します。

public enum OperationMode { normal = 0, erase = 1 }
値説明
normal和
erase差

EditType

混合選択におけるエントリタイプです。DataMix と ToneMix で使用します。

public enum EditType { Edit2D, Edit3D }

ShapeType

3D クリップ / ハイライトのジオメトリタイプです。Data3D、DataMix、ToneMix で使用します。

public enum ShapeType { box, sphere }

構造体

HitResult

レイキャストのヒット結果です。Raycast()、RaycastMesh()、RaycastWithSnap() が返します。

public struct HitResult {
    public bool isHit;             // ヒットしたかどうか
    public float distance;         // 距離
    public Vector3 hitPos;         // ヒット点のワールド座標
    public Vector3 normal;         // ヒット法線
    public float hitAlpha;         // ヒットした楕円体のアルファ
    public float dist2Origin;      // レイ原点までの距離
    public float scale;            // 楕円体のスケール
    public SnapType snapType;      // スナップタイプ(None / Edge / Corner)
    public Vector3 originalHitPos; // スナップ前の元のヒット点
}

ヒット点ワールド座標のフィールド名は hitPos です。

SnapPreviewState

スナッププレビュー状態です。GetSnapPreviewState() が返します。

public struct SnapPreviewState {
    public bool hasTarget;          // スナップターゲットがあるかどうか
    public SnapType snapType;       // None / Edge / Corner
    public Vector2 screenPos;       // スナップターゲットのスクリーン座標
    public float distanceToMouse;   // マウス位置までのピクセル距離
}

screenPos はスクリーン座標(ピクセル)であり、ワールド座標ではありません。ワールド座標が必要な場合は、RaycastWithSnap() で HitResult.hitPos を取得します。

Data2D

2D テクスチャ投影選択です。2D テクスチャのクリッピング / ハイライトに使用します。

public struct Data2D {
    public Texture2D texture;  // R8 1024x1024 マスクテクスチャ
    public Matrix4x4 mv;       // ModelView 行列
    public Matrix4x4 mvp;      // ModelViewProjection 行列
    public SelectMode mode;    // normal / invert
}

Data3D

3D ジオメトリ選択です。3D ジオメトリのクリッピング / ハイライトに使用します。

public struct Data3D {
    public ShapeType type;          // box / sphere
    public Matrix4x4 invMat;        // ジオメトリの逆変換行列
    public OperationMode operation; // normal=和、erase=差
    public SelectMode mode;         // normal / invert / clip
}

DataMix

2D + 3D 混合選択です。混合モードのクリッピング / ハイライトに使用します。

public struct DataMix {
    public EditType editType;       // Edit2D / Edit3D
    public ShapeType type;          // 3D ジオメトリタイプ
    public Matrix4x4 invMat;        // 3D 逆変換行列
    public Texture2D texture;       // 2D マスクテクスチャ
    public Matrix4x4 mv;            // 2D ModelView
    public Matrix4x4 mvp;           // 2D MVP
    public OperationMode operation;
    public SelectMode mode;
}

ToneMix

カラー調整選択です。DataMix にカラー調整パラメータを追加したものです。SetTone() で使用します。

public struct ToneMix {
    public EditType editType;       // Edit2D / Edit3D
    public ShapeType type;          // 3D ジオメトリタイプ
    public Matrix4x4 invMat;        // 3D 逆変換行列
    public Texture2D texture;       // 2D マスクテクスチャ
    public Matrix4x4 mv;            // 2D ModelView
    public Matrix4x4 mvp;           // 2D MVP
    public OperationMode operation;
    public SelectMode mode;
    public float brightness;        // 明るさ(デフォルト 1.0)
    public float saturation;        // 彩度(デフォルト 1.0)
    public float contrast;          // コントラスト(デフォルト 1.0)
    public int lutid;               // LUT フィルタインデックス(0 = 未使用)
}

PointLightData

カスタムポイントライト / スポットライトのデータです。SetLights() で使用します。

public struct PointLightData {
    public float3 position;    // ワールド座標
    public int lightType;      // 0=ポイントライト、1=スポットライト
    public float3 color;       // RGB カラー(アルファ成分なし)
    public float intensity;    // ライト強度
    public float3 direction;   // スポットライトの方向(ポイントライトでは無視)
    public float range;        // ライトの範囲
    public float spotAngle;    // スポットライトのコーン角度(度、ポイントライトでは無視)
    public float3 pad;         // アライメントパディング。代入不要
}

フィールドの型は Unity.Mathematics.float3 であり、Vector4 ではありません。color にはアルファ成分がありません。lightType が 0 のときはポイントライト(direction / spotAngle は無視)、1 のときはスポットライトです。

DecalOcclusionSettings

デカールのオクルージョンカリング品質パラメータです。SetDecalOcclusionSettings() で使用します。

public struct DecalOcclusionSettings {
    public float opacityCutoff;   // [0,1] Splat が深度マップに参加するための最小不透明度。デフォルト 0(全参加)
    public float depthBias;       // 相対深度許容比率。デフォルト 0.05
    public int   footprintMaxPx;  // 正方形フットプリント半径の上限(px)。0〜16、デフォルト 2
    public int   resolution;      // 深度マップ解像度(px、2 のべき乗、256〜4096)。デフォルト 1024

    public static DecalOcclusionSettings Default { get; } // cutoff=0, bias=0.05, footprint=2, resolution=1024
}
フィールド説明
opacityCutoffこの値以上の不透明度を持つ Splat のみ深度マップに参加し、浮遊 / 霧状の Splat を除去できます。デフォルト 0(全参加)。
depthBias距離に比例して点群サーフェスの厚みを吸収する相対深度許容比率です。デフォルト 0.05。小さすぎると自己オクルージョンノイズが発生し、大きすぎるとオクルージョンが漏れます。
footprintMaxPx保守的な最大正方形フットプリント半径(ピクセル)で、近傍をカバーして貫通漏れを防ぐために使用します。0 は単一テクセル、範囲 0〜16、デフォルト 2。大きすぎると輪郭の拡大と過剰なオクルージョンが発生します。
resolution深度マップ解像度(ピクセル、2 のべき乗、256〜4096)。下げると疎な穴が埋まりますが、オクルージョン境界がわずかに粗くなります。デフォルト 1024。

SplatMeta

3DGS データのメタデータです。Renderer.GetMeta() が出力します。データソース(source)やデータフォーマット(dataType)などのメタデータを含み、データを完全に読み込まずに読み取れます。

LCCMeshBlockInfo

コリジョン Mesh ブロックのメタデータです。Renderer.GetMeshBlockInfos() が返します。

public struct LCCMeshBlockInfo {
    public string id;           // ノード ID。LCCMeshBlock.id に対応
    public Bounds boundsWorld;  // ワールド空間 AABB。ID の選択に使用
    public Bounds boundsLocal;  // ローカル空間 AABB
    public int vertexCount;     // 頂点数
    public int faceCount;       // 面数
}
フィールド型説明
idstringノード ID。LCCMeshBlock.id に対応
boundsWorldBoundsワールド空間 AABB。ID の選択に使用
boundsLocalBoundsローカル空間 AABB
vertexCountint頂点数
faceCountint面数

LCCMeshBlock

コリジョン Mesh ブロックのジオメトリデータです。Renderer.GetMeshes() が返します。

public struct LCCMeshBlock {
    public string id;           // ノード ID
    public Vector3[] vertices;  // 頂点。ローカル座標系
    public int[] triangles;     // 三角形インデックス。1 グループあたり 3 個
    public Bounds boundsLocal;  // 頂点と同じ空間のバウンディングボックス
}
フィールド型説明
idstringノード ID
verticesVector3[]頂点配列。オブジェクトローカル座標系
trianglesint[]三角形インデックス。1 グループあたり 3 個
boundsLocalBounds頂点と同じ空間のバウンディングボックス

vertices / boundsLocal はどちらもオブジェクトのローカル座標系です。Mesh を保持する GameObject を Renderer.Transform の下に置くと自動的にアライメントされます。1 ブロックの頂点数は 65535 を超える場合があるため、Mesh 構築前に mesh.indexFormat = IndexFormat.UInt32 を設定する必要があります。