メインコンテンツまでスキップ

シーン設定JSON詳細仕様

概要​

3Dシーンとエンティティ(オブジェクト)を定義するThreedive AIにおけるJSON形式の仕様書です。

JSON詳細設定エディタ スペース設定の詳細設定タブ - JSONエディタで直接編集が可能

基本仕様​

  • 座標系: 右手座標系(Y軸が上方向)
  • 位置単位: メートル
  • 回転単位: ラジアン(Euler角)
  • 文字エンコーディング: UTF-8

トップレベルフィールド​

フィールド名型必須説明
entitiesarray✓シーン内のエンティティ配列
namestringシーン名(表示用)
sceneIdstringシーンの内部識別子
descriptionstringシーンの説明文
versionnumberJSONフォーマットバージョン
sceneobjectシーン全体の設定
sceneTitlestringシーンの表示タイトル

sceneオブジェクト​

フィールド名型デフォルト説明
initialPosition[number, number, number][0,0,0]初期カメラ位置 [x,y,z]
initialRotation[number, number, number][0,0,0]初期カメラ回転 [x,y,z]
urlstringシーンファイル(GLB等)のパス

エンティティフィールド(entities配列内)​

基本フィールド​

フィールド名型必須デフォルト説明
idstring✓UUID形式推奨の一意識別子
typestring✓エンティティ種別("model", "light", "audio"等)
namestringエンティティの表示名
descriptionstring""エンティティの説明文
urlstring△リソースファイルパス(typeがmodelの場合必須)

変換フィールド​

フィールド名型デフォルト説明
position[number, number, number][0,0,0]位置 [x,y,z](メートル)
rotation[number, number, number][0,0,0]回転 [x,y,z](ラジアン)
scale[number, number, number][1,1,1]スケール [x,y,z](倍率)

動作フィールド​

フィールド名型デフォルト説明
animationNamestring再生するアニメーション名
interactivebooleanfalseゲストユーザー操作可能フラグ
chatRadiusnumber0会話可能範囲の半径(メートル)
aiConfigIdstringAI設定の参照ID

最小構成例​

{
"entities": [
{
"id": "09be23d0-e530-42d6-b797-22c294539ba6",
"type": "model",
"name": "ネコ",
"url": "/avatars/animal01/Model_catw.glb",
"position": [0, -0.5, -5]
}
],
"sceneId": "park",
"name": "sample park"
}

完全記述例​

{
"entities": [
{
"id": "09be23d0-e530-42d6-b797-22c294539ba6",
"type": "model",
"name": "ネコ",
"description": "パーク内のネコキャラクター",
"url": "/avatars/animal01/Model_catw.glb",
"position": [0, -0.5, -5],
"rotation": [0, 0, 0],
"scale": [1, 1, 1],
"animationName": "CharacterArmature|Idle",
"interactive": false,
"chatRadius": 3,
"aiConfigId": "J4cMw37Ywp"
}
],
"name": "sample park",
"sceneId": "park",
"description": "parkシーンの公開用サンプル",
"version": 1,
"scene": {
"initialPosition": [0, 0, 0],
"initialRotation": [0, -3.14, 0],
"url": "/scenes/park/CYZYPark.glb"
},
"sceneTitle": "パーク"
}

注意事項​

ID管理​

  • idフィールドにはUUID v4形式を使用(例: "09be23d0-e530-42d6-b797-22c294539ba6")
  • 重複を避けるため、新規作成時は必ず新しいUUIDを生成

パス指定​

  • urlフィールドは相対パス("/"始まり)または絶対URLを使用
  • CORS設定に注意(異なるドメインからのリソース読み込み時)

座標と回転​

  • position: モデルの原点位置によってはY軸調整が必要(地面との接地点)
  • rotation: ラジアン単位(π = 180度、2π = 360度)
  • 回転順序: Euler角 XYZ順(プロジェクトで統一)

タイプ別の必須フィールド​

  • type: "model" → urlフィールド必須
  • type: "light" → 光源設定フィールドを追加
  • type: "audio" → urlフィールドで音声ファイル指定

AI機能連携​

  • chatRadius: 0より大きい値で会話範囲を有効化
  • aiConfigId: 存在するAI設定IDを指定(未定義IDは無視される)
  • interactive: trueでゲストユーザーとのインタラクションを有効化