Add tank catalog with USDZ models and tank selection
Introduce TankDefinition/TankCatalog loaded from Tanks.json, bundle the Drachengas USDZ tank models, add tank selection and preview views, and update the AR experience, editor and project views to use the catalog. Includes tests for catalog loading and model selection. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
BIN
drachengas_tanks_usdz/DG-2700_mi.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-2700_mi.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-2700_ol.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-2700_ol.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-2700_wh.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-2700_wh.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-4850_mi.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-4850_mi.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-4850_ol.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-4850_ol.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-4850_wh.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-4850_wh.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-6400_mi.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-6400_mi.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-6400_mi_M.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-6400_mi_M.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-6400_ol.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-6400_ol.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-6400_ol_M.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-6400_ol_M.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-6400_wh.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-6400_wh.usdz
Normal file
Binary file not shown.
BIN
drachengas_tanks_usdz/DG-6400_wh_M.usdz
Normal file
BIN
drachengas_tanks_usdz/DG-6400_wh_M.usdz
Normal file
Binary file not shown.
@ -0,0 +1,9 @@
|
||||
{
|
||||
"pathsToIds" : {
|
||||
"\/Untitled\/Sources\/Untitled\/Untitled.rkassets\/Scene.usda" : "1DEDB0B0-1F79-405C-9A35-ED4EC1C658C3"
|
||||
},
|
||||
"projectID" : 7040775203090935802,
|
||||
"uuidToIntID" : {
|
||||
"1DEDB0B0-1F79-405C-9A35-ED4EC1C658C3" : -7314685049933580595
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
{
|
||||
"1DEDB0B0-1F79-405C-9A35-ED4EC1C658C3" : {
|
||||
"objectMetadataList" : [
|
||||
[
|
||||
"1DEDB0B0-1F79-405C-9A35-ED4EC1C658C3",
|
||||
"Root",
|
||||
"DG_2700_mi",
|
||||
"DG_2700_mi"
|
||||
],
|
||||
{
|
||||
"isExpanded" : true,
|
||||
"isLocked" : false
|
||||
},
|
||||
[
|
||||
"1DEDB0B0-1F79-405C-9A35-ED4EC1C658C3",
|
||||
"Root"
|
||||
],
|
||||
{
|
||||
"isExpanded" : true,
|
||||
"isLocked" : false
|
||||
},
|
||||
[
|
||||
"1DEDB0B0-1F79-405C-9A35-ED4EC1C658C3",
|
||||
"Root",
|
||||
"DG_2700_mi",
|
||||
"env_light"
|
||||
],
|
||||
{
|
||||
"disallowsFraming" : true,
|
||||
"isExpanded" : false,
|
||||
"isLocked" : false
|
||||
},
|
||||
[
|
||||
"1DEDB0B0-1F79-405C-9A35-ED4EC1C658C3",
|
||||
"Root",
|
||||
"DG_2700_mi"
|
||||
],
|
||||
{
|
||||
"isExpanded" : true,
|
||||
"isLocked" : false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
{
|
||||
"cameraPresets" : {
|
||||
|
||||
},
|
||||
"secondaryToolbarData" : {
|
||||
"isGridVisible" : true
|
||||
},
|
||||
"unitDefaults" : {
|
||||
"kg" : "g",
|
||||
"kg⋅m²" : "kg⋅m²",
|
||||
"m" : "cm",
|
||||
"m\/s" : "m\/s",
|
||||
"m\/s²" : "m\/s²",
|
||||
"s" : "s",
|
||||
"°" : "°"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,236 @@
|
||||
{
|
||||
"advancedEditorSelectedIdentifier" : "ProjectBrowser",
|
||||
"openSceneRelativePaths" : [
|
||||
"Scene.usda"
|
||||
],
|
||||
"recentIdentifiers" : {
|
||||
|
||||
},
|
||||
"sceneCameraHistory" : {
|
||||
"1DEDB0B0-1F79-405C-9A35-ED4EC1C658C3" : [
|
||||
{
|
||||
"date" : 811100635.690705,
|
||||
"title" : "Untitled",
|
||||
"transform" : [
|
||||
0.87493426,
|
||||
1.0034403e-08,
|
||||
-0.48424158,
|
||||
0,
|
||||
-0.16792409,
|
||||
0.9379474,
|
||||
-0.30340752,
|
||||
0,
|
||||
0.45419315,
|
||||
0.3467775,
|
||||
0.82064235,
|
||||
0,
|
||||
2.352992,
|
||||
0.96073854,
|
||||
2.5279448,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"date" : 810850313.275216,
|
||||
"title" : "Untitled",
|
||||
"transform" : [
|
||||
0.87493426,
|
||||
1.0034403e-08,
|
||||
-0.48424158,
|
||||
0,
|
||||
-0.16792409,
|
||||
0.9379474,
|
||||
-0.30340752,
|
||||
0,
|
||||
0.45419315,
|
||||
0.3467775,
|
||||
0.82064235,
|
||||
0,
|
||||
2.0599923,
|
||||
1.1571296,
|
||||
2.6071205,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"date" : 810850282.789156,
|
||||
"title" : "Untitled",
|
||||
"transform" : [
|
||||
0.9991962,
|
||||
-2.2912117e-11,
|
||||
0.040089205,
|
||||
0,
|
||||
0.0073407786,
|
||||
0.98309225,
|
||||
-0.18296391,
|
||||
0,
|
||||
-0.039411385,
|
||||
0.1831111,
|
||||
0.98230195,
|
||||
0,
|
||||
0.19498296,
|
||||
0.8688625,
|
||||
3.384911,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"date" : 810850197.664428,
|
||||
"title" : "Untitled",
|
||||
"transform" : [
|
||||
0.99273306,
|
||||
-1.2817892e-09,
|
||||
0.12033713,
|
||||
0,
|
||||
0.02792162,
|
||||
0.97270906,
|
||||
-0.23034216,
|
||||
0,
|
||||
-0.11705301,
|
||||
0.23202829,
|
||||
0.9656404,
|
||||
0,
|
||||
-0.072999835,
|
||||
1.0375953,
|
||||
3.3419511,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"date" : 810850191.194057,
|
||||
"title" : "Untitled",
|
||||
"transform" : [
|
||||
-0.9798933,
|
||||
-2.5345133e-09,
|
||||
-0.19952236,
|
||||
0,
|
||||
-0.01878358,
|
||||
0.99555874,
|
||||
0.092249826,
|
||||
0,
|
||||
0.19863622,
|
||||
0.09414273,
|
||||
-0.9755413,
|
||||
0,
|
||||
0.36179835,
|
||||
0.56189,
|
||||
-3.435693,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"date" : 810850184.430801,
|
||||
"title" : "Untitled",
|
||||
"transform" : [
|
||||
-0.9798933,
|
||||
-2.5345133e-09,
|
||||
-0.19952236,
|
||||
0,
|
||||
-0.01878358,
|
||||
0.99555874,
|
||||
0.092249826,
|
||||
0,
|
||||
0.19863622,
|
||||
0.09414273,
|
||||
-0.9755413,
|
||||
0,
|
||||
0.13510296,
|
||||
0.16270696,
|
||||
-3.5203745,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"date" : 810849982.637009,
|
||||
"title" : "Untitled",
|
||||
"transform" : [
|
||||
0.99932814,
|
||||
4.5959286e-10,
|
||||
-0.036651053,
|
||||
0,
|
||||
-0.013395197,
|
||||
0.93081945,
|
||||
-0.3652336,
|
||||
0,
|
||||
0.034115516,
|
||||
0.36547917,
|
||||
0.9301941,
|
||||
0,
|
||||
0.6895672,
|
||||
1.1137897,
|
||||
3.2744114,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"date" : 810849979.546666,
|
||||
"title" : "Untitled",
|
||||
"transform" : [
|
||||
0.99009883,
|
||||
-1.6986516e-10,
|
||||
-0.14037184,
|
||||
0,
|
||||
-0.0054978617,
|
||||
0.99923277,
|
||||
-0.03877862,
|
||||
0,
|
||||
0.14026414,
|
||||
0.039166413,
|
||||
0.9893392,
|
||||
0,
|
||||
1.0511645,
|
||||
-0.03502264,
|
||||
3.3662512,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"date" : 810849977.446143,
|
||||
"title" : "Untitled",
|
||||
"transform" : [
|
||||
-0.14195816,
|
||||
1.6583037e-09,
|
||||
0.98987263,
|
||||
0,
|
||||
0.14174435,
|
||||
0.9896945,
|
||||
0.020327631,
|
||||
0,
|
||||
-0.97967154,
|
||||
0.14319453,
|
||||
-0.14049523,
|
||||
0,
|
||||
-3.5112982,
|
||||
0.32232308,
|
||||
0.06862488,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"date" : 810849956.454318,
|
||||
"title" : "Untitled",
|
||||
"transform" : [
|
||||
0.9772091,
|
||||
1.028965e-08,
|
||||
0.2122793,
|
||||
0,
|
||||
0.050172217,
|
||||
0.971668,
|
||||
-0.23096344,
|
||||
0,
|
||||
-0.20626499,
|
||||
0.23635007,
|
||||
0.94952273,
|
||||
0,
|
||||
-0.17183797,
|
||||
0.6511396,
|
||||
3.4618368,
|
||||
1
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"sceneViewportBackgroundColors" : {
|
||||
|
||||
}
|
||||
}
|
||||
31
drachengas_tanks_usdz/Untitled/Package.swift
Normal file
31
drachengas_tanks_usdz/Untitled/Package.swift
Normal file
@ -0,0 +1,31 @@
|
||||
// swift-tools-version:6.2
|
||||
// The swift-tools-version declares the minimum version of Swift required to build this package.
|
||||
|
||||
import PackageDescription
|
||||
|
||||
let package = Package(
|
||||
name: "Untitled",
|
||||
platforms: [
|
||||
.visionOS(.v26),
|
||||
.macOS(.v26),
|
||||
.iOS(.v26),
|
||||
.tvOS(.v26)
|
||||
],
|
||||
products: [
|
||||
// Products define the executables and libraries a package produces, and make them visible to other packages.
|
||||
.library(
|
||||
name: "Untitled",
|
||||
targets: ["Untitled"]),
|
||||
],
|
||||
dependencies: [
|
||||
// Dependencies declare other packages that this package depends on.
|
||||
// .package(url: /* package url */, from: "1.0.0"),
|
||||
],
|
||||
targets: [
|
||||
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
|
||||
// Targets can depend on other targets in this package, and on products in packages this package depends on.
|
||||
.target(
|
||||
name: "Untitled",
|
||||
dependencies: []),
|
||||
]
|
||||
)
|
||||
Binary file not shown.
@ -0,0 +1,14 @@
|
||||
#usda 1.0
|
||||
(
|
||||
customLayerData = {
|
||||
string creator = "Reality Composer Pro Version 2.0 (494.100.6)"
|
||||
}
|
||||
defaultPrim = "Root"
|
||||
metersPerUnit = 1
|
||||
upAxis = "Y"
|
||||
)
|
||||
|
||||
def Xform "Root"
|
||||
{
|
||||
}
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
import Foundation
|
||||
|
||||
/// Bundle for the Untitled project
|
||||
public let untitledBundle = Bundle.module
|
||||
BIN
drachengas_tanks_usdz/drachengas-tanks-USDZ-bildlegende.jpg
Normal file
BIN
drachengas_tanks_usdz/drachengas-tanks-USDZ-bildlegende.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
Reference in New Issue
Block a user