Ensure glTFv2 scene name is unique
Use the provided scene name if extant Fixes issue #3978pull/3990/head
parent
a08c1c1d67
commit
632b2db97c
|
@ -91,12 +91,10 @@ glTF2Exporter::glTF2Exporter(const char* filename, IOSystem* pIOSystem, const ai
|
||||||
const ExportProperties* pProperties, bool isBinary)
|
const ExportProperties* pProperties, bool isBinary)
|
||||||
: mFilename(filename)
|
: mFilename(filename)
|
||||||
, mIOSystem(pIOSystem)
|
, mIOSystem(pIOSystem)
|
||||||
|
, mScene(pScene)
|
||||||
, mProperties(pProperties)
|
, mProperties(pProperties)
|
||||||
|
, mAsset(new Asset(pIOSystem))
|
||||||
{
|
{
|
||||||
mScene = pScene;
|
|
||||||
|
|
||||||
mAsset.reset( new Asset( pIOSystem ) );
|
|
||||||
|
|
||||||
// Always on as our triangulation process is aware of this type of encoding
|
// Always on as our triangulation process is aware of this type of encoding
|
||||||
mAsset->extensionsUsed.FB_ngon_encoding = true;
|
mAsset->extensionsUsed.FB_ngon_encoding = true;
|
||||||
|
|
||||||
|
@ -1338,8 +1336,11 @@ unsigned int glTF2Exporter::ExportNode(const aiNode* n, Ref<Node>& parent)
|
||||||
|
|
||||||
void glTF2Exporter::ExportScene()
|
void glTF2Exporter::ExportScene()
|
||||||
{
|
{
|
||||||
const char* sceneName = "defaultScene";
|
// Use the name of the scene if specified
|
||||||
Ref<Scene> scene = mAsset->scenes.Create(sceneName);
|
const std::string sceneName = (mScene->mName.length > 0) ? mScene->mName.C_Str() : "defaultScene";
|
||||||
|
|
||||||
|
// Ensure unique
|
||||||
|
Ref<Scene> scene = mAsset->scenes.Create(mAsset->FindUniqueID(sceneName, ""));
|
||||||
|
|
||||||
// root node will be the first one exported (idx 0)
|
// root node will be the first one exported (idx 0)
|
||||||
if (mAsset->nodes.Size() > 0) {
|
if (mAsset->nodes.Size() > 0) {
|
||||||
|
|
Loading…
Reference in New Issue