diff --git a/src/Raw2Gltf.cpp b/src/Raw2Gltf.cpp index 4cf656c..943cc88 100644 --- a/src/Raw2Gltf.cpp +++ b/src/Raw2Gltf.cpp @@ -1134,7 +1134,7 @@ ModelData *Raw2Gltf( fmt::printf("Warning: Camera node name %s does not exist.\n", cam.nodeName); continue; } - iter->second->AddCamera(cam.name); + iter->second->SetCamera(camera.ix); } } diff --git a/src/glTF/NodeData.cpp b/src/glTF/NodeData.cpp index f4a3efd..5e9cfb4 100644 --- a/src/glTF/NodeData.cpp +++ b/src/glTF/NodeData.cpp @@ -20,7 +20,7 @@ NodeData::NodeData( scale(scale), children(), mesh(-1), - cameraName(""), + camera(-1), skin(-1) { } @@ -44,10 +44,10 @@ void NodeData::SetSkin(uint32_t skinIx) skin = skinIx; } -void NodeData::AddCamera(std::string camera) +void NodeData::SetCamera(uint32_t cameraIndex) { assert(!isJoint); - cameraName = std::move(camera); + camera = cameraIndex; } json NodeData::serialize() const @@ -75,8 +75,8 @@ json NodeData::serialize() const if (skin >= 0) { result["skin"] = skin; } - if (!cameraName.empty()) { - result["camera"] = cameraName; + if (camera >= 0) { + result["camera"] = camera; } } return result; diff --git a/src/glTF/NodeData.h b/src/glTF/NodeData.h index cd78acb..6fdd2e7 100644 --- a/src/glTF/NodeData.h +++ b/src/glTF/NodeData.h @@ -19,7 +19,7 @@ struct NodeData : Holdable void AddChildNode(uint32_t childIx); void SetMesh(uint32_t meshIx); void SetSkin(uint32_t skinIx); - void AddCamera(std::string camera); + void SetCamera(uint32_t camera); json serialize() const override; @@ -30,7 +30,7 @@ struct NodeData : Holdable Vec3f scale; std::vector children; int32_t mesh; - std::string cameraName; + int32_t camera; int32_t skin; std::vector skeletons; };