開発システムアーキテクチャデータモデル[Ken] デザインバージョンメッシュ

[Ken] デザインバージョンメッシュ

デザインバージョンメッシュは、デザインファミリーの特定のバリエーションや構成を表します。各メッシュは、同じデザインファミリー内の異なるサイズ、スタイル、または構成オプション(例:3人掛けソファ、2人掛けソファ、オットマン)を表しています。

🛋️

重要な概念

デザインバージョンメッシュにより、単一のデザインファミリーで複数のバリエーションを提供できます。例えば、「ダニッシュソファ」デザインファミリーには、3人掛け、2人掛け、オットマンのバリエーションを含めることができ、それぞれが個別のデザインバージョンメッシュとして管理されます。


デザインバージョンメッシュとは?

デザインバージョンメッシュは、デザインファミリー内の特定のバリエーションまたは構成を表します。以下を可能にします:

  • 製品バリエーション - 同じデザインファミリー内の複数のサイズ/スタイルオプション
  • アセット管理 - メタデータとサムネイルを使用した3Dバリエーションの整理
  • バージョン管理 - デザインバージョンごとの異なるメッシュ構成
  • カタログ統合 - 製品カタログでの可視性の制御
  • ローカライゼーション - バリエーション名の多言語サポート

階層関係

デザインファミリー → デザインバージョン → デザインバージョンメッシュ

例:ダニッシュソファコレクション

デザインファミリー: "DANISH SOFA"
├── デザインバージョン: "v2.0"
    ├── デザインバージョンメッシュ: "3 Seater 180cm" (mesh_name: MS-00003100)
    ├── デザインバージョンメッシュ: "2 Seater 160cm" (mesh_name: MS-00003101)
    └── デザインバージョンメッシュ: "Ottoman" (mesh_name: MS-00003102)

各デザインバージョンメッシュは、完全な家具バリエーションを表します:

  • 3 Seater: 3人用のフルサイズソファ
  • 2 Seater: 小型のラブシート構成
  • Ottoman: マッチングフットスツール/プーフ

属性とメタデータ

デザインバージョンメッシュには、デザインバージョンを実際の3Dジオメトリにリンクし、アセット配信を管理し、カタログの可視性を制御するメタデータが含まれています。

コアアイデンティティ

基本的な識別子と命名:

属性タイプ説明
sfid文字列(18文字)プライマリキー、Salesforce ID形式
name文字列デザインバージョン名
mesh_name文字列実際のメッシュアセットファイルの名前
mesh_label_name文字列UI表示用のユーザーフレンドリーなラベル

例:

sfid: "a50OQ000001R92PYAS"
name: "0.0"
mesh_name: "MS-xxxxxxxx"
mesh_label_name: "3 Seater"
💡

命名規則

  • name: デザインバージョン名(例: “0.0”)
  • mesh_name: アセットファイル名参照(例: “MS-00003100”)
  • mesh_label_name: 短いUIラベル(例: “3 Seater”)

リレーションシップ

親エンティティと実際のメッシュアセットへのリンク:

属性タイプ説明
design_family_sfid外部キー親デザインファミリーへの参照
mesh_sfid外部キー実際のメッシュジオメトリへの参照
design_mesh_junction_sfid外部キーデザインとメッシュの関係のためのジャンクションテーブル参照

データ構造:

デザインバージョンメッシュ (a50OQ000001R92PYAS)
├── design_family_sfid: a4fOQ000000g8yrYAA
│   └── 参照先: MALAGAデザインファミリー

├── mesh_sfid: a60OQ000001S03QYAT
│   └── 参照先: 実際の3Dメッシュジオメトリ

└── design_mesh_junction_sfid: a70OQ000001T14RZAU
    └── 参照先: デザインバージョンとメッシュ間のジャンクションテーブル

ジャンクションの目的:

design_mesh_junction_sfidは以下を可能にします:

  • デザインとメッシュ間の多対多関係
  • 複数のデザインバージョン間での共有メッシュアセット
  • 効率的なアセットの再利用とストレージ

アセットプロパティ

3Dアセットファイルと読み込み最適化に関する情報:

属性タイプ説明
mesh_thumbnail_urlURLメッシュサムネイルのCloudinary URL
mesh_pathパス3Dモデルアセットへのファイルパス
chunk_id文字列/整数読み込み用のアセットチャンク識別子
chunk_size整数アセットチャンクのバイト単位のサイズ
sort_order整数リストとUIでの表示順序

アセット読み込みフロー:

  1. サムネイル表示

    • mesh_thumbnail_urlが最初に読み込まれ、クイックプレビューを提供
    • 例: https://res.cloudinary.com/dyl94w48r/image/upload/v1736304000/design-version-meshes/thumbnail/seat_cushion.jpg
  2. アセットパス解決

    • mesh_pathが3Dモデルの取得場所を決定
    • 例: /Game/DLC/Dist/GenericItems/CODE/MS-xxxxxxx.MS-xxxxxxx
  3. チャンク管理

    • chunk_id: 関連アセットをバッチダウンロード用にグループ化
    • chunk_size: 進行状況インジケーター用のダウンロードサイズを追跡
    • 例: chunk_id: 1234, chunk_size: 5242880 (5MB)
  4. 表示順序

    • sort_order: リストの順序を制御
    • 低い値が最初に表示されます
    • 例: sort_order: 1 (メインメッシュ), sort_order: 2 (アクセサリー)
📦

チャンク最適化

同じchunk_idを持つ複数のメッシュは一緒にダウンロードされ、ネットワークリクエストを削減し、読み込み時間を改善します。これは、マルチメッシュデザインに特に重要です。


可視性とローカライゼーション

異なる地域カタログとアプリケーションでメッシュがどのように表示されるかを制御:

属性タイプ説明
visibility_app_jp_ja文字列(列挙型)日本語アプリケーションカタログと検索での可視性を制御
name_for_multi_mesh_design文字列デザインに複数のメッシュがある場合に使用される名前
japanese_name_for_multi_mesh_design文字列マルチメッシュデザイン用の日本語ローカライズ名

可視性フラグ:

visibility_app_jp_ja属性は、地域の利用可能性とカタログの動作を制御します:

説明
"Catalog, Search"カタログブラウジングと検索結果の両方で表示
"Catalog"カタログブラウジングのみで表示、検索からは非表示
"Exclusive Custom Catalog"カスタム/キュレーテッドカタログでのみ利用可能
"Don't Show in App"すべてのカタログと検索インターフェースから非表示

使用例:

// 標準製品 - 完全に表示
visibility_app_jp_ja: "Catalog, Search"

// 限定可視性 - カタログのみ
visibility_app_jp_ja: "Catalog"

// 特別コレクション - キュレーテッドアクセスのみ
visibility_app_jp_ja: "Exclusive Custom Catalog"

// 内部/非推奨 - 非表示
visibility_app_jp_ja: "Don't Show in App"

マルチメッシュデザイン名:

デザインファミリーが複数のバリエーションオプションを提供する場合、これらの属性がコンテキストを提供します:

例:モジュラーソファバリエーション

バリエーションmesh_label_namename_for_multi_mesh_designjapanese_name_for_multi_mesh_design
3 Seater”3 Seater""3 Seater 180cm""3人掛け 180cm”
2 Seater”2 Seater""2 Seater 160cm""2人掛け 160cm”
Ottoman”Ottoman""Ottoman 80cm""オットマン 80cm”

ローカライゼーションフロー:

ユーザー言語: 日本語 (ja-JP)
└── 表示: japanese_name_for_multi_mesh_design
    └── フォールバック: name_for_multi_mesh_design (日本語名が空の場合)

ユーザー言語: 英語 (en-US)
└── 表示: name_for_multi_mesh_design

使用例

単一バリエーションデザイン

1つの構成のみの単純な家具アイテム:

例:固定デザインアームチェア

デザインファミリー: "NORDIC ARMCHAIR"
└── デザインバージョン: "1.0"
    └── デザインバージョンメッシュ: "Standard"
        ├── mesh_name: "MS-00004200"
        ├── mesh_label_name: "Standard"
        ├── name_for_multi_mesh_design: null (1つのバリエーションのみ)
        └── sort_order: 1

特徴:

  • 単一のバリエーションのみ利用可能
  • サイズ/構成オプションなし
  • マルチバリエーション命名は不要
  • シンプルなカタログ表示

マルチバリエーションデザイン

複数のサイズまたは構成オプションを提供する製品ファミリー:

例:ダニッシュソファコレクション

デザインファミリー: "DANISH SOFA"
└── デザインバージョン: "2.5"
    ├── デザインバージョンメッシュ: "3 Seater 180"
    │   ├── mesh_name: "MS-00003100"
    │   ├── mesh_label_name: "3 Seater"
    │   ├── name_for_multi_mesh_design: "3 Seater 180cm"
    │   ├── japanese_name_for_multi_mesh_design: "3人掛け 180cm"
    │   └── sort_order: 1

    ├── デザインバージョンメッシュ: "2 Seater 160"
    │   ├── mesh_name: "MS-00003101"
    │   ├── mesh_label_name: "2 Seater"
    │   ├── name_for_multi_mesh_design: "2 Seater 160cm"
    │   ├── japanese_name_for_multi_mesh_design: "2人掛け 160cm"
    │   └── sort_order: 2

    └── デザインバージョンメッシュ: "Ottoman"
        ├── mesh_name: "MS-00003102"
        ├── mesh_label_name: "Ottoman"
        ├── name_for_multi_mesh_design: "Ottoman 80cm"
        ├── japanese_name_for_multi_mesh_design: "オットマン 80cm"
        └── sort_order: 3

メリット:

  • ✅ お客様はスペースに合ったサイズを選択できます
  • ✅ 各バリエーションが同じデザイン言語を維持
  • ✅ 調和のとれたコレクション(ミックス&マッチ可能)
  • ✅ 各バリエーションのローカライズされた名前

モジュラーデザインシステム

複数の製品ファミリーにわたって再利用可能なデザイン要素:

例:セクショナルソファシステム

デザインファミリー: "MODULAR SECTIONAL"
└── デザインバージョン: "3.0"
    ├── デザインバージョンメッシュ: "Left Arm Section"
    │   └── mesh_sfid: MESH_LEFT (mesh_name: MS-00005200)

    ├── デザインバージョンメッシュ: "Right Arm Section"
    │   └── mesh_sfid: MESH_RIGHT (mesh_name: MS-00005201)

    ├── デザインバージョンメッシュ: "Armless Section"
    │   └── mesh_sfid: MESH_CENTER (mesh_name: MS-00005202)

    ├── デザインバージョンメッシュ: "Corner Section"
    │   └── mesh_sfid: MESH_CORNER (mesh_name: MS-00005203)

    └── デザインバージョンメッシュ: "Chaise Section"
        └── mesh_sfid: MESH_CHAISE (mesh_name: MS-00005204)

モジュラーのメリット:

  • ユーザーはカスタムレイアウトを構成できます
  • 各セクションは完全な家具ピースです
  • あらゆるスペースに合わせてミックス&マッチ
  • すべてのセクションで一貫したデザイン