FBX -> Scene, part 2. Code changes, file renames (#1704)
* First pass FBX -> Scene File conversion. This is the simple pass, minimizing code changes and focused on comments. Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com> * Step 1 of part 2 of the FBX -> Scene rename Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com> * Renaming FbxSceneBuilder folder to SceneBuilder Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com> * Renamed files Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com> * More FBX -> Scene Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
#
|
||||
#
|
||||
|
||||
add_subdirectory(FbxSceneBuilder)
|
||||
add_subdirectory(SceneBuilder)
|
||||
add_subdirectory(SceneCore)
|
||||
add_subdirectory(SceneData)
|
||||
add_subdirectory(SceneUI)
|
||||
|
||||
@@ -1,106 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AssetProcessor/AssetBuilderSDK/AssetBuilderSDK/AssetBuilderSDK.h>
|
||||
#include <AzCore/Serialization/EditContextConstants.inl>
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzCore/Serialization/Json/JsonSerialization.h>
|
||||
#include <AzCore/Settings/SettingsRegistry.h>
|
||||
#include <AzCore/StringFunc/StringFunc.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxImportRequestHandler.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Scene.h>
|
||||
#include <SceneAPI/SceneCore/Events/CallProcessorBus.h>
|
||||
#include <SceneAPI/SceneCore/Events/ImportEventContext.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneImporter
|
||||
{
|
||||
void SceneImporterSettings::Reflect(AZ::ReflectContext* context)
|
||||
{
|
||||
if (auto serializeContext = azrtti_cast<AZ::SerializeContext*>(context); serializeContext)
|
||||
{
|
||||
serializeContext->Class<SceneImporterSettings>()
|
||||
->Version(2)
|
||||
->Field("SupportedFileTypeExtensions", &SceneImporterSettings::m_supportedFileTypeExtensions);
|
||||
}
|
||||
}
|
||||
|
||||
void FbxImportRequestHandler::Activate()
|
||||
{
|
||||
if (auto* settingsRegistry = AZ::SettingsRegistry::Get())
|
||||
{
|
||||
settingsRegistry->GetObject(m_settings, "/O3DE/SceneAPI/AssetImporter");
|
||||
}
|
||||
|
||||
BusConnect();
|
||||
}
|
||||
|
||||
void FbxImportRequestHandler::Deactivate()
|
||||
{
|
||||
BusDisconnect();
|
||||
}
|
||||
|
||||
void FbxImportRequestHandler::Reflect(ReflectContext* context)
|
||||
{
|
||||
SceneImporterSettings::Reflect(context);
|
||||
|
||||
SerializeContext* serializeContext = azrtti_cast<SerializeContext*>(context);
|
||||
if (serializeContext)
|
||||
{
|
||||
serializeContext->Class<FbxImportRequestHandler, AZ::Component>()->Version(1)->Attribute(
|
||||
AZ::Edit::Attributes::SystemComponentTags,
|
||||
AZStd::vector<AZ::Crc32>(
|
||||
{AssetBuilderSDK::ComponentTags::AssetBuilder,
|
||||
AssetImportRequest::GetAssetImportRequestComponentTag()}));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void FbxImportRequestHandler::GetSupportedFileExtensions(AZStd::unordered_set<AZStd::string>& extensions)
|
||||
{
|
||||
extensions.insert(m_settings.m_supportedFileTypeExtensions.begin(), m_settings.m_supportedFileTypeExtensions.end());
|
||||
}
|
||||
|
||||
Events::LoadingResult FbxImportRequestHandler::LoadAsset(Containers::Scene& scene, const AZStd::string& path, const Uuid& guid, [[maybe_unused]] RequestingApplication requester)
|
||||
{
|
||||
AZStd::string extension;
|
||||
StringFunc::Path::GetExtension(path.c_str(), extension);
|
||||
AZStd::to_lower(extension.begin(), extension.end());
|
||||
|
||||
if (!m_settings.m_supportedFileTypeExtensions.contains(extension))
|
||||
{
|
||||
return Events::LoadingResult::Ignored;
|
||||
}
|
||||
|
||||
scene.SetSource(path, guid);
|
||||
|
||||
// Push contexts
|
||||
Events::ProcessingResultCombiner contextResult;
|
||||
contextResult += Events::Process<Events::PreImportEventContext>(path);
|
||||
contextResult += Events::Process<Events::ImportEventContext>(path, scene);
|
||||
contextResult += Events::Process<Events::PostImportEventContext>(scene);
|
||||
|
||||
if (contextResult.GetResult() == Events::ProcessingResult::Success)
|
||||
{
|
||||
return Events::LoadingResult::AssetLoaded;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Events::LoadingResult::AssetFailure;
|
||||
}
|
||||
}
|
||||
|
||||
void FbxImportRequestHandler::GetProvidedServices(ComponentDescriptor::DependencyArrayType& provided)
|
||||
{
|
||||
provided.emplace_back(AZ_CRC_CE("AssetImportRequestHandler"));
|
||||
}
|
||||
} // namespace Import
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
@@ -1,55 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/SceneCore/Components/BehaviorComponent.h>
|
||||
#include <SceneAPI/SceneCore/Events/AssetImportRequest.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneImporter
|
||||
{
|
||||
struct SceneImporterSettings
|
||||
{
|
||||
AZ_TYPE_INFO(SceneImporterSettings, "{8BB6C7AD-BF99-44DC-9DA1-E7AD3F03DC10}");
|
||||
|
||||
static void Reflect(AZ::ReflectContext* context);
|
||||
|
||||
AZStd::unordered_set<AZStd::string> m_supportedFileTypeExtensions;
|
||||
};
|
||||
|
||||
class FbxImportRequestHandler
|
||||
: public AZ::Component
|
||||
, public Events::AssetImportRequestBus::Handler
|
||||
{
|
||||
public:
|
||||
AZ_COMPONENT(FbxImportRequestHandler, "{9F4B189C-0A96-4F44-A5F0-E087FF1561F8}");
|
||||
|
||||
~FbxImportRequestHandler() override = default;
|
||||
|
||||
void Activate() override;
|
||||
void Deactivate() override;
|
||||
static void Reflect(ReflectContext* context);
|
||||
|
||||
void GetSupportedFileExtensions(AZStd::unordered_set<AZStd::string>& extensions) override;
|
||||
Events::LoadingResult LoadAsset(Containers::Scene& scene, const AZStd::string& path, const Uuid& guid,
|
||||
RequestingApplication requester) override;
|
||||
|
||||
static void GetProvidedServices(ComponentDescriptor::DependencyArrayType& provided);
|
||||
|
||||
private:
|
||||
|
||||
SceneImporterSettings m_settings;
|
||||
|
||||
static constexpr const char* SettingsFilename = "AssetImporterSettings.json";
|
||||
};
|
||||
} // namespace FbxSceneImporter
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
@@ -15,8 +15,8 @@ namespace AZ
|
||||
{
|
||||
namespace AssImpSDKWrapper
|
||||
{
|
||||
AssImpNodeWrapper::AssImpNodeWrapper(aiNode* fbxNode)
|
||||
:SDKNode::NodeWrapper(fbxNode)
|
||||
AssImpNodeWrapper::AssImpNodeWrapper(aiNode* sourceNode)
|
||||
:SDKNode::NodeWrapper(sourceNode)
|
||||
{
|
||||
AZ_Assert(m_assImpNode, "Asset Importer Node cannot be null");
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace AZ
|
||||
{
|
||||
public:
|
||||
AZ_RTTI(AssImpNodeWrapper, "{1043260B-9076-49B7-AD38-EF62E85F7C1D}", SDKNode::NodeWrapper);
|
||||
AssImpNodeWrapper(aiNode* fbxNode);
|
||||
AssImpNodeWrapper(aiNode* sourceNode);
|
||||
~AssImpNodeWrapper() override;
|
||||
const char* GetName() const override;
|
||||
AZ::u64 GetUniqueId() const override;
|
||||
|
||||
@@ -11,29 +11,16 @@ namespace AZ
|
||||
{
|
||||
namespace SDKMaterial
|
||||
{
|
||||
MaterialWrapper::MaterialWrapper(fbxsdk::FbxSurfaceMaterial* fbxMaterial)
|
||||
:m_fbxMaterial(fbxMaterial)
|
||||
, m_assImpMaterial(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
MaterialWrapper::MaterialWrapper(aiMaterial* assImpMaterial)
|
||||
:m_fbxMaterial(nullptr)
|
||||
, m_assImpMaterial(assImpMaterial)
|
||||
: m_assImpMaterial(assImpMaterial)
|
||||
{
|
||||
}
|
||||
|
||||
MaterialWrapper::~MaterialWrapper()
|
||||
{
|
||||
m_fbxMaterial = nullptr;
|
||||
m_assImpMaterial = nullptr;
|
||||
}
|
||||
|
||||
fbxsdk::FbxSurfaceMaterial* MaterialWrapper::GetFbxMaterial()
|
||||
{
|
||||
return m_fbxMaterial;
|
||||
}
|
||||
|
||||
aiMaterial* MaterialWrapper::GetAssImpMaterial()
|
||||
{
|
||||
return m_assImpMaterial;
|
||||
|
||||
@@ -10,14 +10,8 @@
|
||||
#include <AzCore/std/string/string.h>
|
||||
#include <AzCore/Math/Vector3.h>
|
||||
|
||||
namespace fbxsdk
|
||||
{
|
||||
class FbxSurfaceMaterial;
|
||||
}
|
||||
|
||||
struct aiMaterial;
|
||||
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SDKMaterial
|
||||
@@ -39,11 +33,9 @@ namespace AZ
|
||||
BaseColor
|
||||
};
|
||||
|
||||
MaterialWrapper(fbxsdk::FbxSurfaceMaterial* fbxMaterial);
|
||||
MaterialWrapper(aiMaterial* assImpmaterial);
|
||||
virtual ~MaterialWrapper();
|
||||
|
||||
fbxsdk::FbxSurfaceMaterial* GetFbxMaterial();
|
||||
aiMaterial* GetAssImpMaterial();
|
||||
|
||||
virtual AZStd::string GetName() const;
|
||||
@@ -56,7 +48,6 @@ namespace AZ
|
||||
virtual float GetShininess() const;
|
||||
|
||||
protected:
|
||||
fbxsdk::FbxSurfaceMaterial* m_fbxMaterial = nullptr;
|
||||
aiMaterial* m_assImpMaterial = nullptr;
|
||||
};
|
||||
} // namespace SDKMaterial
|
||||
|
||||
@@ -11,29 +11,16 @@ namespace AZ
|
||||
{
|
||||
namespace SDKNode
|
||||
{
|
||||
NodeWrapper::NodeWrapper(fbxsdk::FbxNode* fbxNode)
|
||||
:m_fbxNode(fbxNode)
|
||||
, m_assImpNode(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
NodeWrapper::NodeWrapper(aiNode* aiNode)
|
||||
:m_fbxNode(nullptr)
|
||||
, m_assImpNode(aiNode)
|
||||
: m_assImpNode(aiNode)
|
||||
{
|
||||
}
|
||||
|
||||
NodeWrapper::~NodeWrapper()
|
||||
{
|
||||
m_fbxNode = nullptr;
|
||||
m_assImpNode = nullptr;
|
||||
}
|
||||
|
||||
fbxsdk::FbxNode* NodeWrapper::GetFbxNode()
|
||||
{
|
||||
return m_fbxNode;
|
||||
}
|
||||
|
||||
aiNode* NodeWrapper::GetAssImpNode()
|
||||
{
|
||||
return m_assImpNode;
|
||||
|
||||
@@ -6,10 +6,6 @@
|
||||
*/
|
||||
#pragma once
|
||||
#include <AzCore/RTTI/RTTI.h>
|
||||
namespace fbxsdk
|
||||
{
|
||||
class FbxNode;
|
||||
}
|
||||
|
||||
struct aiNode;
|
||||
|
||||
@@ -23,7 +19,6 @@ namespace AZ
|
||||
AZ_RTTI(NodeWrapper, "{5EB0897B-9728-44B7-B056-BA34AAF14715}");
|
||||
|
||||
NodeWrapper() = default;
|
||||
NodeWrapper(fbxsdk::FbxNode* fbxNode);
|
||||
NodeWrapper(aiNode* aiNode);
|
||||
virtual ~NodeWrapper();
|
||||
|
||||
@@ -34,7 +29,6 @@ namespace AZ
|
||||
Component_Z
|
||||
};
|
||||
|
||||
fbxsdk::FbxNode* GetFbxNode();
|
||||
aiNode* GetAssImpNode();
|
||||
|
||||
virtual const char* GetName() const;
|
||||
@@ -44,8 +38,6 @@ namespace AZ
|
||||
virtual int GetChildCount()const;
|
||||
virtual const std::shared_ptr<NodeWrapper> GetChild(int childIndex) const;
|
||||
|
||||
|
||||
fbxsdk::FbxNode* m_fbxNode = nullptr;
|
||||
aiNode* m_assImpNode = nullptr;
|
||||
};
|
||||
} //namespace Node
|
||||
|
||||
@@ -12,15 +12,8 @@ namespace AZ
|
||||
{
|
||||
const char* SceneWrapperBase::s_defaultSceneName = "myScene";
|
||||
|
||||
SceneWrapperBase::SceneWrapperBase(fbxsdk::FbxScene* fbxScene)
|
||||
:m_fbxScene(fbxScene)
|
||||
, m_assImpScene(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
SceneWrapperBase::SceneWrapperBase(aiScene* aiScene)
|
||||
:m_fbxScene(nullptr)
|
||||
, m_assImpScene(aiScene)
|
||||
: m_assImpScene(aiScene)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -47,11 +40,6 @@ namespace AZ
|
||||
{
|
||||
}
|
||||
|
||||
fbxsdk::FbxScene* SceneWrapperBase::GetFbxScene() const
|
||||
{
|
||||
return m_fbxScene;
|
||||
}
|
||||
|
||||
const aiScene* SceneWrapperBase::GetAssImpScene() const
|
||||
{
|
||||
return m_assImpScene;
|
||||
|
||||
@@ -8,14 +8,9 @@
|
||||
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
||||
#include <AzCore/std/string/string.h>
|
||||
#include <SceneAPI/SDKWrapper/NodeWrapper.h>
|
||||
namespace fbxsdk
|
||||
{
|
||||
class FbxScene;
|
||||
}
|
||||
|
||||
struct aiScene;
|
||||
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SDKScene
|
||||
@@ -25,7 +20,6 @@ namespace AZ
|
||||
public:
|
||||
AZ_RTTI(SceneWrapperBase, "{703CD344-2C75-4F30-8CE2-6BDEF2511AFD}");
|
||||
SceneWrapperBase() = default;
|
||||
SceneWrapperBase(fbxsdk::FbxScene* fbxScene);
|
||||
virtual ~SceneWrapperBase() = default;
|
||||
SceneWrapperBase(aiScene* aiScene);
|
||||
|
||||
@@ -37,10 +31,8 @@ namespace AZ
|
||||
|
||||
virtual void Clear();
|
||||
|
||||
virtual fbxsdk::FbxScene* GetFbxScene() const;
|
||||
virtual const aiScene* GetAssImpScene() const;
|
||||
|
||||
fbxsdk::FbxScene* m_fbxScene = nullptr;
|
||||
const aiScene* m_assImpScene = nullptr;
|
||||
|
||||
static const char* s_defaultSceneName;
|
||||
|
||||
+12
-12
@@ -10,14 +10,14 @@ if (NOT PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
endif()
|
||||
|
||||
ly_add_target(
|
||||
NAME FbxSceneBuilder.Static STATIC
|
||||
NAME SceneBuilder.Static STATIC
|
||||
NAMESPACE AZ
|
||||
FILES_CMAKE
|
||||
fbxscenebuilder_files.cmake
|
||||
scenebuilder_files.cmake
|
||||
Platform/${PAL_PLATFORM_NAME}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
|
||||
COMPILE_DEFINITIONS
|
||||
PRIVATE
|
||||
FBX_SCENE_BUILDER_EXPORTS
|
||||
SCENE_BUILDER_EXPORTS
|
||||
INCLUDE_DIRECTORIES
|
||||
PUBLIC
|
||||
../..
|
||||
@@ -33,40 +33,40 @@ ly_add_target(
|
||||
)
|
||||
|
||||
ly_add_target(
|
||||
NAME FbxSceneBuilder MODULE
|
||||
NAME SceneBuilder MODULE
|
||||
NAMESPACE AZ
|
||||
FILES_CMAKE
|
||||
fbxscenebuilder_shared_files.cmake
|
||||
scenebuilder_shared_files.cmake
|
||||
COMPILE_DEFINITIONS
|
||||
PRIVATE
|
||||
FBX_SCENE_BUILDER_EXPORTS
|
||||
SCENE_BUILDER_EXPORTS
|
||||
INCLUDE_DIRECTORIES
|
||||
PUBLIC
|
||||
../..
|
||||
BUILD_DEPENDENCIES
|
||||
PUBLIC
|
||||
AZ::FbxSceneBuilder.Static
|
||||
AZ::SceneBuilder.Static
|
||||
PRIVATE
|
||||
AZ::AzCore
|
||||
)
|
||||
|
||||
ly_add_dependencies(AssetBuilder AZ::FbxSceneBuilder)
|
||||
ly_add_dependencies(AssetBuilder AZ::SceneBuilder)
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
ly_add_target(
|
||||
NAME FbxSceneBuilder.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
|
||||
NAME SceneBuilder.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
|
||||
NAMESPACE AZ
|
||||
FILES_CMAKE
|
||||
fbxscenebuilder_testing_files.cmake
|
||||
scenebuilder_testing_files.cmake
|
||||
INCLUDE_DIRECTORIES
|
||||
PRIVATE
|
||||
Tests
|
||||
BUILD_DEPENDENCIES
|
||||
PRIVATE
|
||||
AZ::AzTest
|
||||
AZ::FbxSceneBuilder
|
||||
AZ::SceneBuilder
|
||||
)
|
||||
ly_add_googletest(
|
||||
NAME AZ::FbxSceneBuilder.Tests
|
||||
NAME AZ::SceneBuilder.Tests
|
||||
)
|
||||
endif()
|
||||
+22
-22
@@ -11,27 +11,27 @@
|
||||
#include <AzCore/Component/ComponentApplicationBus.h>
|
||||
#include <AzCore/std/containers/vector.h>
|
||||
#include <AzCore/Module/Environment.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxImportRequestHandler.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneImportRequestHandler.h>
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpBitangentStreamImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpColorStreamImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpMaterialImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpMeshImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpTangentStreamImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpTransformImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpUvMapImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpSkinImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpSkinWeightsImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpBoneImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpAnimationImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpBlendShapeImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpBitangentStreamImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpColorStreamImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpMaterialImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpMeshImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpTangentStreamImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpTransformImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpUvMapImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpSkinImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpSkinWeightsImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpBoneImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpAnimationImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpBlendShapeImporter.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
static AZStd::vector<AZ::ComponentDescriptor*> g_componentDescriptors;
|
||||
|
||||
@@ -40,13 +40,13 @@ namespace AZ
|
||||
// Descriptor registration is done in Reflect instead of Initialize because the ResourceCompilerScene initializes the libraries before
|
||||
// there's an application.
|
||||
using namespace AZ::SceneAPI;
|
||||
using namespace AZ::SceneAPI::FbxSceneBuilder;
|
||||
using namespace AZ::SceneAPI::SceneBuilder;
|
||||
|
||||
if (g_componentDescriptors.empty())
|
||||
{
|
||||
// Global importer and behavior
|
||||
g_componentDescriptors.push_back(FbxSceneBuilder::FbxImporter::CreateDescriptor());
|
||||
g_componentDescriptors.push_back(FbxSceneImporter::FbxImportRequestHandler::CreateDescriptor());
|
||||
g_componentDescriptors.push_back(SceneBuilder::SceneImporter::CreateDescriptor());
|
||||
g_componentDescriptors.push_back(SceneImportRequestHandler::CreateDescriptor());
|
||||
|
||||
// Node and attribute importers
|
||||
g_componentDescriptors.push_back(AssImpBitangentStreamImporter::CreateDescriptor());
|
||||
@@ -94,7 +94,7 @@ namespace AZ
|
||||
g_componentDescriptors.shrink_to_fit();
|
||||
}
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
|
||||
@@ -104,15 +104,15 @@ extern "C" AZ_DLL_EXPORT void InitializeDynamicModule(void* env)
|
||||
}
|
||||
extern "C" AZ_DLL_EXPORT void Reflect(AZ::SerializeContext* context)
|
||||
{
|
||||
AZ::SceneAPI::FbxSceneBuilder::Reflect(context);
|
||||
AZ::SceneAPI::SceneBuilder::Reflect(context);
|
||||
}
|
||||
extern "C" AZ_DLL_EXPORT void ReflectBehavior(AZ::BehaviorContext* context)
|
||||
{
|
||||
AZ::SceneAPI::FbxSceneBuilder::ReflectBehavior(context);
|
||||
AZ::SceneAPI::SceneBuilder::ReflectBehavior(context);
|
||||
}
|
||||
extern "C" AZ_DLL_EXPORT void UninitializeDynamicModule()
|
||||
{
|
||||
AZ::SceneAPI::FbxSceneBuilder::Uninitialize();
|
||||
AZ::SceneAPI::SceneBuilder::Uninitialize();
|
||||
AZ::Environment::Detach();
|
||||
}
|
||||
|
||||
+9
-9
@@ -5,7 +5,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpNodeWrapper.h>
|
||||
#include <SceneAPI/SceneCore/Events/ImportEventContext.h>
|
||||
|
||||
@@ -13,10 +13,10 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
AssImpImportContext::AssImpImportContext(const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
AssImpSDKWrapper::AssImpNodeWrapper& sourceNode)
|
||||
: m_sourceScene(sourceScene)
|
||||
, m_sourceSceneSystem(sourceSceneSystem)
|
||||
@@ -27,7 +27,7 @@ namespace AZ
|
||||
AssImpNodeEncounteredContext::AssImpNodeEncounteredContext(Containers::Scene& scene,
|
||||
Containers::SceneGraph::NodeIndex currentGraphPosition,
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
RenamedNodesMap& nodeNameMap,
|
||||
AssImpSDKWrapper::AssImpNodeWrapper& sourceNode)
|
||||
: AssImpImportContext(sourceScene, sourceSceneSystem, sourceNode)
|
||||
@@ -39,7 +39,7 @@ namespace AZ
|
||||
Events::ImportEventContext& parent,
|
||||
Containers::SceneGraph::NodeIndex currentGraphPosition,
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
RenamedNodesMap& nodeNameMap,
|
||||
AssImpSDKWrapper::AssImpNodeWrapper& sourceNode)
|
||||
: AssImpImportContext(sourceScene, sourceSceneSystem, sourceNode)
|
||||
@@ -57,7 +57,7 @@ namespace AZ
|
||||
AssImpSceneDataPopulatedContext::AssImpSceneDataPopulatedContext(Containers::Scene& scene,
|
||||
Containers::SceneGraph::NodeIndex currentGraphPosition,
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
RenamedNodesMap& nodeNameMap,
|
||||
AssImpSDKWrapper::AssImpNodeWrapper& sourceNode,
|
||||
const AZStd::shared_ptr<DataTypes::IGraphObject>& nodeData, const AZStd::string& dataName)
|
||||
@@ -76,7 +76,7 @@ namespace AZ
|
||||
AssImpSceneNodeAppendedContext::AssImpSceneNodeAppendedContext(Containers::Scene& scene,
|
||||
Containers::SceneGraph::NodeIndex currentGraphPosition,
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
RenamedNodesMap& nodeNameMap, AssImpSDKWrapper::AssImpNodeWrapper& sourceNode)
|
||||
: AssImpImportContext(sourceScene, sourceSceneSystem, sourceNode)
|
||||
, SceneNodeAppendedContextBase(scene, currentGraphPosition, nodeNameMap)
|
||||
@@ -111,7 +111,7 @@ namespace AZ
|
||||
|
||||
AssImpFinalizeSceneContext::AssImpFinalizeSceneContext(Containers::Scene& scene,
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
RenamedNodesMap& nodeNameMap)
|
||||
: FinalizeSceneContextBase(scene, nodeNameMap)
|
||||
, m_sourceScene(sourceScene)
|
||||
@@ -120,5 +120,5 @@ namespace AZ
|
||||
}
|
||||
|
||||
} // namespace SceneAPI
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace AZ
|
||||
+12
-12
@@ -9,7 +9,7 @@
|
||||
|
||||
#include <AzCore/RTTI/RTTI.h>
|
||||
#include <AzCore/std/string/string.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/ImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/ImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Containers/SceneGraph.h>
|
||||
|
||||
namespace AZ
|
||||
@@ -22,8 +22,8 @@ namespace AZ
|
||||
|
||||
namespace SceneAPI
|
||||
{
|
||||
class FbxSceneSystem;
|
||||
namespace FbxSceneBuilder
|
||||
class SceneSystem;
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class RenamedNodesMap;
|
||||
|
||||
@@ -36,12 +36,12 @@ namespace AZ
|
||||
AZ_RTTI(AssImpImportContext, "{B1076AFF-991B-423C-8D3E-D5C9230434AB}");
|
||||
|
||||
AssImpImportContext(const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
AssImpSDKWrapper::AssImpNodeWrapper& sourceNode);
|
||||
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& m_sourceScene;
|
||||
AssImpSDKWrapper::AssImpNodeWrapper& m_sourceNode;
|
||||
const FbxSceneSystem& m_sourceSceneSystem; // Needed for unit and axis conversion
|
||||
const SceneSystem& m_sourceSceneSystem; // Needed for unit and axis conversion
|
||||
};
|
||||
|
||||
// AssImpNodeEncounteredContext
|
||||
@@ -56,14 +56,14 @@ namespace AZ
|
||||
AssImpNodeEncounteredContext(Containers::Scene& scene,
|
||||
Containers::SceneGraph::NodeIndex currentGraphPosition,
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
RenamedNodesMap& nodeNameMap,
|
||||
AssImpSDKWrapper::AssImpNodeWrapper& sourceNode);
|
||||
|
||||
AssImpNodeEncounteredContext(Events::ImportEventContext& parent,
|
||||
Containers::SceneGraph::NodeIndex currentGraphPosition,
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
RenamedNodesMap& nodeNameMap,
|
||||
AssImpSDKWrapper::AssImpNodeWrapper& sourceNode);
|
||||
};
|
||||
@@ -85,7 +85,7 @@ namespace AZ
|
||||
AssImpSceneDataPopulatedContext(Containers::Scene& scene,
|
||||
Containers::SceneGraph::NodeIndex currentGraphPosition,
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
RenamedNodesMap& nodeNameMap,
|
||||
AssImpSDKWrapper::AssImpNodeWrapper& sourceNode,
|
||||
const AZStd::shared_ptr<DataTypes::IGraphObject>& nodeData,
|
||||
@@ -106,7 +106,7 @@ namespace AZ
|
||||
AssImpSceneNodeAppendedContext(Containers::Scene& scene,
|
||||
Containers::SceneGraph::NodeIndex currentGraphPosition,
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
RenamedNodesMap& nodeNameMap,
|
||||
AssImpSDKWrapper::AssImpNodeWrapper& sourceNode);
|
||||
};
|
||||
@@ -170,13 +170,13 @@ namespace AZ
|
||||
AssImpFinalizeSceneContext(
|
||||
Containers::Scene& scene,
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& sourceScene,
|
||||
const FbxSceneSystem& sourceSceneSystem,
|
||||
const SceneSystem& sourceSceneSystem,
|
||||
RenamedNodesMap& nodeNameMap);
|
||||
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper& m_sourceScene;
|
||||
const FbxSceneSystem& m_sourceSceneSystem; // Needed for unit and axis conversion
|
||||
const SceneSystem& m_sourceSceneSystem; // Needed for unit and axis conversion
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
|
||||
+3
-3
@@ -5,14 +5,14 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/ImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/ImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Events/ImportEventContext.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
ImportContext::ImportContext(Containers::Scene& scene,
|
||||
Containers::SceneGraph::NodeIndex currentGraphPosition,
|
||||
@@ -103,5 +103,5 @@ namespace AZ
|
||||
{
|
||||
}
|
||||
} // namespace SceneAPI
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace AZ
|
||||
+2
-2
@@ -33,7 +33,7 @@ namespace AZ
|
||||
class ImportEventContext;
|
||||
}
|
||||
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class RenamedNodesMap;
|
||||
|
||||
@@ -173,7 +173,7 @@ namespace AZ
|
||||
|
||||
FinalizeSceneContextBase(Containers::Scene& scene, RenamedNodesMap& nodeNameMap);
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
|
||||
+7
-7
@@ -12,11 +12,11 @@
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/StringFunc/StringFunc.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxSceneSystem.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpAnimationImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneSystem.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpAnimationImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Scene.h>
|
||||
#include <SceneAPI/SceneData/GraphData/AnimationData.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpNodeWrapper.h>
|
||||
@@ -26,7 +26,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
const char* AssImpAnimationImporter::s_animationNodeName = "animation";
|
||||
|
||||
@@ -670,6 +670,6 @@ namespace AZ
|
||||
return Events::ProcessingResult::Success;
|
||||
}
|
||||
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -8,7 +8,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
|
||||
struct aiAnimation;
|
||||
struct aiMesh;
|
||||
@@ -18,7 +18,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpAnimationImporter
|
||||
: public SceneCore::LoadingComponent
|
||||
@@ -43,6 +43,6 @@ namespace AZ
|
||||
protected:
|
||||
static const char* s_animationNodeName;
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+5
-5
@@ -8,9 +8,9 @@
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpBitangentStreamImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpBitangentStreamImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshVertexBitangentData.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpNodeWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpSceneWrapper.h>
|
||||
@@ -24,7 +24,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
const char* AssImpBitangentStreamImporter::m_defaultNodeName = "Bitangent";
|
||||
|
||||
@@ -125,6 +125,6 @@ namespace AZ
|
||||
return bitangentResults;
|
||||
}
|
||||
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -6,14 +6,14 @@
|
||||
*/
|
||||
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpBitangentStreamImporter : public SceneCore::LoadingComponent
|
||||
{
|
||||
@@ -30,6 +30,6 @@ namespace AZ
|
||||
protected:
|
||||
static const char* m_defaultNodeName;
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+7
-7
@@ -9,11 +9,11 @@
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/std/string/conversions.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpBlendShapeImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxSceneSystem.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpBlendShapeImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneSystem.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpNodeWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpSceneWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpTypeConverter.h>
|
||||
@@ -27,7 +27,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
AssImpBlendShapeImporter::AssImpBlendShapeImporter()
|
||||
{
|
||||
@@ -234,6 +234,6 @@ namespace AZ
|
||||
|
||||
return combinedBlendShapeResult.GetResult();
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -7,14 +7,14 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpBlendShapeImporter
|
||||
: public SceneCore::LoadingComponent
|
||||
@@ -29,6 +29,6 @@ namespace AZ
|
||||
|
||||
Events::ProcessingResult ImportBlendShapes(AssImpSceneNodeAppendedContext& context);
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+6
-6
@@ -9,10 +9,10 @@
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/StringFunc/StringFunc.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxSceneSystem.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpBoneImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneSystem.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpBoneImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Scene.h>
|
||||
#include <SceneAPI/SceneData/GraphData/BoneData.h>
|
||||
#include <SceneAPI/SceneData/GraphData/RootBoneData.h>
|
||||
@@ -24,7 +24,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
AssImpBoneImporter::AssImpBoneImporter()
|
||||
{
|
||||
@@ -170,6 +170,6 @@ namespace AZ
|
||||
|
||||
return Events::ProcessingResult::Success;
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -7,14 +7,14 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpBoneImporter
|
||||
: public SceneCore::LoadingComponent
|
||||
@@ -29,6 +29,6 @@ namespace AZ
|
||||
|
||||
Events::ProcessingResult ImportBone(AssImpNodeEncounteredContext& context);
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+5
-5
@@ -9,9 +9,9 @@
|
||||
#include <AzCore/std/numeric.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpColorStreamImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpColorStreamImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpNodeWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpSceneWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpTypeConverter.h>
|
||||
@@ -26,7 +26,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
const char* AssImpColorStreamImporter::m_defaultNodeName = "Col";
|
||||
|
||||
@@ -126,6 +126,6 @@ namespace AZ
|
||||
return combinedVertexColorResults.GetResult();
|
||||
}
|
||||
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -6,14 +6,14 @@
|
||||
*/
|
||||
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpColorStreamImporter : public SceneCore::LoadingComponent
|
||||
{
|
||||
@@ -30,6 +30,6 @@ namespace AZ
|
||||
protected:
|
||||
static const char* m_defaultNodeName;
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -5,7 +5,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
|
||||
#include <AzCore/Debug/Trace.h>
|
||||
#include <AzCore/StringFunc/StringFunc.h>
|
||||
@@ -16,7 +16,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
bool IsSkinnedMesh(const aiNode& node, const aiScene& scene)
|
||||
{
|
||||
@@ -84,6 +84,6 @@ namespace AZ
|
||||
|
||||
return combinedTransform;
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+1
-1
@@ -15,7 +15,7 @@ struct aiScene;
|
||||
struct aiString;
|
||||
|
||||
|
||||
namespace AZ::SceneAPI::FbxSceneBuilder
|
||||
namespace AZ::SceneAPI::SceneBuilder
|
||||
{
|
||||
inline constexpr char PivotNodeMarker[] = "_$AssimpFbx$_";
|
||||
|
||||
+9
-9
@@ -5,16 +5,16 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpMaterialImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpMaterialImporter.h>
|
||||
#include <AzCore/IO/FileIO.h>
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/std/containers/unordered_map.h>
|
||||
#include <AzCore/StringFunc/StringFunc.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpNodeWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpSceneWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpMaterialWrapper.h>
|
||||
@@ -27,7 +27,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
AssImpMaterialImporter::AssImpMaterialImporter()
|
||||
{
|
||||
@@ -164,7 +164,7 @@ namespace AZ
|
||||
|
||||
if (materialResult != Events::ProcessingResult::Failure)
|
||||
{
|
||||
materialResult = SceneAPI::FbxSceneBuilder::AddAttributeDataNodeWithContexts(dataPopulated);
|
||||
materialResult = SceneAPI::SceneBuilder::AddAttributeDataNodeWithContexts(dataPopulated);
|
||||
}
|
||||
|
||||
combinedMaterialImportResults += materialResult;
|
||||
@@ -186,7 +186,7 @@ namespace AZ
|
||||
AZ::StringFunc::Path::StripFullName(cleanedUpSceneFilePath);
|
||||
AZ::StringFunc::Path::Join(cleanedUpSceneFilePath.c_str(), textureFilePath.c_str(), texturePathRelativeToScene);
|
||||
|
||||
// If the texture did start with marker to change directories upward, then it's relative to the FBX file,
|
||||
// If the texture did start with marker to change directories upward, then it's relative to the scene file,
|
||||
// and that path needs to be resolved. It can't be resolved later. This was handled internally by FBX SDK,
|
||||
// but is not handled by AssImp.
|
||||
if (textureFilePath.starts_with(".."))
|
||||
@@ -196,7 +196,7 @@ namespace AZ
|
||||
}
|
||||
|
||||
// The engine only supports relative paths to scan folders.
|
||||
// FBX files may have paths to textures, relative to the FBX file. Check for those, first.
|
||||
// Scene files may have paths to textures, relative to the scene file. Check for those, first.
|
||||
if (AZ::IO::FileIOBase::GetInstance()->Exists(texturePathRelativeToScene.c_str()))
|
||||
{
|
||||
return texturePathRelativeToScene;
|
||||
@@ -205,6 +205,6 @@ namespace AZ
|
||||
|
||||
return textureFilePath;
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -7,14 +7,14 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpMaterialImporter
|
||||
: public SceneCore::LoadingComponent
|
||||
@@ -32,6 +32,6 @@ namespace AZ
|
||||
private:
|
||||
AZStd::string ResolveTexturePath(const AZStd::string& sceneFilePath, const AZStd::string& textureFilePath) const;
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+5
-5
@@ -9,9 +9,9 @@
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpMeshImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpMeshImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshData.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpNodeWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpSceneWrapper.h>
|
||||
@@ -20,7 +20,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
AssImpMeshImporter::AssImpMeshImporter()
|
||||
{
|
||||
@@ -57,6 +57,6 @@ namespace AZ
|
||||
|
||||
return Events::ProcessingResult::Failure;
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -7,14 +7,14 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpMeshImporter
|
||||
: public SceneCore::LoadingComponent
|
||||
@@ -29,6 +29,6 @@ namespace AZ
|
||||
|
||||
Events::ProcessingResult ImportMesh(AssImpNodeEncounteredContext& context);
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+5
-5
@@ -9,9 +9,9 @@
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpSkinImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpSkinImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneData/GraphData/SkinMeshData.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpNodeWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpSceneWrapper.h>
|
||||
@@ -20,7 +20,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
AssImpSkinImporter::AssImpSkinImporter()
|
||||
{
|
||||
@@ -57,6 +57,6 @@ namespace AZ
|
||||
|
||||
return Events::ProcessingResult::Failure;
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -7,14 +7,14 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpSkinImporter
|
||||
: public SceneCore::LoadingComponent
|
||||
@@ -29,6 +29,6 @@ namespace AZ
|
||||
|
||||
Events::ProcessingResult ImportSkin(AssImpNodeEncounteredContext& context);
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+6
-6
@@ -9,10 +9,10 @@
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/std/string/conversions.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpSkinWeightsImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpSkinWeightsImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneCore/Events/ImportEventContext.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshData.h>
|
||||
#include <SceneAPI/SceneData/GraphData/SkinWeightData.h>
|
||||
@@ -23,7 +23,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
const AZStd::string AssImpSkinWeightsImporter::s_skinWeightName = "SkinWeight_";
|
||||
|
||||
@@ -142,6 +142,6 @@ namespace AZ
|
||||
m_pendingSkinWeights.clear();
|
||||
return result;
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-8
@@ -9,17 +9,12 @@
|
||||
|
||||
#include <assimp/scene.h>
|
||||
#include <AzCore/std/containers/vector.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
#include <SceneAPI/SceneCore/DataTypes/GraphData/ISkinWeightData.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace FbxSDKWrapper
|
||||
{
|
||||
class FbxMeshWrapper;
|
||||
}
|
||||
|
||||
namespace SceneData
|
||||
{
|
||||
namespace GraphData
|
||||
@@ -35,7 +30,7 @@ namespace AZ
|
||||
class PostImportEventContext;
|
||||
}
|
||||
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpSkinWeightsImporter
|
||||
: public SceneCore::LoadingComponent
|
||||
@@ -68,6 +63,6 @@ namespace AZ
|
||||
|
||||
static const AZStd::string s_skinWeightName;
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+5
-5
@@ -9,9 +9,9 @@
|
||||
#include <AzCore/std/numeric.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpTangentStreamImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpTangentStreamImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshVertexTangentData.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpNodeWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpSceneWrapper.h>
|
||||
@@ -26,7 +26,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
const char* AssImpTangentStreamImporter::m_defaultNodeName = "Tangent";
|
||||
|
||||
@@ -127,6 +127,6 @@ namespace AZ
|
||||
return tangentResults;
|
||||
}
|
||||
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -6,14 +6,14 @@
|
||||
*/
|
||||
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpTangentStreamImporter : public SceneCore::LoadingComponent
|
||||
{
|
||||
@@ -30,6 +30,6 @@ namespace AZ
|
||||
protected:
|
||||
static const char* m_defaultNodeName;
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+7
-7
@@ -4,27 +4,27 @@
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpTransformImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpTransformImporter.h>
|
||||
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxSceneSystem.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneSystem.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneCore/Utilities/Reporting.h>
|
||||
#include <SceneAPI/SceneData/GraphData/TransformData.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpTypeConverter.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpNodeWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpSceneWrapper.h>
|
||||
#include <assimp/scene.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpImporterUtilities.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
const char* AssImpTransformImporter::s_transformNodeName = "transform";
|
||||
|
||||
@@ -198,6 +198,6 @@ namespace AZ
|
||||
|
||||
return Events::ProcessingResult::Ignored;
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -7,14 +7,14 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpTransformImporter
|
||||
: public SceneCore::LoadingComponent
|
||||
@@ -30,6 +30,6 @@ namespace AZ
|
||||
Events::ProcessingResult ImportTransform(AssImpSceneNodeAppendedContext& context);
|
||||
static const char* s_transformNodeName;
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+7
-7
@@ -11,10 +11,10 @@
|
||||
#include <AzCore/std/numeric.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpUvMapImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpUvMapImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneCore/Utilities/Reporting.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshData.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshVertexUVData.h>
|
||||
@@ -28,7 +28,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
const char* AssImpUvMapImporter::m_defaultNodeName = "UV";
|
||||
|
||||
@@ -141,7 +141,7 @@ namespace AZ
|
||||
{
|
||||
AZ::Vector2 vertexUV(
|
||||
mesh->mTextureCoords[texCoordIndex][v].x,
|
||||
// The engine's V coordinate is reverse of how it's stored in the FBX file.
|
||||
// The engine's V coordinate is reverse of how it's coming in from the SDK.
|
||||
1.0f - mesh->mTextureCoords[texCoordIndex][v].y);
|
||||
uvMap->AppendUV(vertexUV);
|
||||
}
|
||||
@@ -175,6 +175,6 @@ namespace AZ
|
||||
return combinedUvMapResults.GetResult();
|
||||
}
|
||||
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -7,14 +7,14 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class AssImpUvMapImporter
|
||||
: public SceneCore::LoadingComponent
|
||||
@@ -32,6 +32,6 @@ namespace AZ
|
||||
protected:
|
||||
static const char* m_defaultNodeName;
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+4
-4
@@ -7,8 +7,8 @@
|
||||
|
||||
#include <AzCore/Math/Transform.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Scene.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Views/PairIterator.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Views/SceneGraphDownwardsIterator.h>
|
||||
@@ -25,7 +25,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
static const float g_sceneUtilityEqualityEpsilon = 0.001f;
|
||||
|
||||
@@ -429,6 +429,6 @@ namespace AZ
|
||||
|
||||
return true;
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+5
-5
@@ -7,7 +7,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/ImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/ImportContexts.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Scene.h>
|
||||
#include <SceneAPI/SceneCore/Containers/SceneGraph.h>
|
||||
#include <SceneAPI/SceneCore/DataTypes/MatrixType.h>
|
||||
@@ -19,9 +19,9 @@ namespace AZ
|
||||
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
struct FbxImportContext;
|
||||
struct SceneImportContext;
|
||||
|
||||
using CoreScene = Containers::Scene;
|
||||
using CoreSceneGraph = Containers::SceneGraph;
|
||||
@@ -41,8 +41,8 @@ namespace AZ
|
||||
bool IsGraphDataEqual(const AZStd::shared_ptr<const DataTypes::IGraphObject>& lhs,
|
||||
const AZStd::shared_ptr<const DataTypes::IGraphObject>& rhs);
|
||||
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.inl>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.inl>
|
||||
+3
-3
@@ -5,7 +5,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Scene.h>
|
||||
#include <SceneAPI/SceneCore/DataTypes/IGraphObject.h>
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
bool NodeIsOfType(const CoreSceneGraph& sceneGraph, CoreGraphNodeIndex nodeIndex, const AZ::Uuid& uuid)
|
||||
{
|
||||
@@ -63,6 +63,6 @@ namespace AZ
|
||||
|
||||
return true;
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+5
-5
@@ -10,17 +10,17 @@
|
||||
#include <AzCore/Casting/numeric_cast.h>
|
||||
#include <AzCore/std/numeric.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxSceneSystem.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneSystem.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/AssImpMeshImporterUtilities.h>
|
||||
#include <SceneAPI/SceneCore/Utilities/Reporting.h>
|
||||
#include <SceneAPI/SceneData/GraphData/BlendShapeData.h>
|
||||
#include <SceneAPI/SceneData/GraphData/BoneData.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshData.h>
|
||||
|
||||
namespace AZ::SceneAPI::FbxSceneBuilder
|
||||
namespace AZ::SceneAPI::SceneBuilder
|
||||
{
|
||||
bool BuildSceneMeshFromAssImpMesh(const aiNode* currentNode, const aiScene* scene, const FbxSceneSystem& sceneSystem, AZStd::vector<AZStd::shared_ptr<DataTypes::IGraphObject>>& meshes,
|
||||
bool BuildSceneMeshFromAssImpMesh(const aiNode* currentNode, const aiScene* scene, const SceneSystem& sceneSystem, AZStd::vector<AZStd::shared_ptr<DataTypes::IGraphObject>>& meshes,
|
||||
const AZStd::function<AZStd::shared_ptr<SceneData::GraphData::MeshData>()>& makeMeshFunc)
|
||||
{
|
||||
AZStd::unordered_map<int, int> assImpMatIndexToLYIndex;
|
||||
+3
-8
@@ -14,11 +14,6 @@ struct aiScene;
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace FbxSDKWrapper
|
||||
{
|
||||
class FbxMeshWrapper;
|
||||
}
|
||||
|
||||
namespace SceneData
|
||||
{
|
||||
namespace GraphData
|
||||
@@ -35,11 +30,11 @@ namespace AZ
|
||||
class IGraphObject;
|
||||
}
|
||||
struct AssImpSceneNodeAppendedContext;
|
||||
class FbxSceneSystem;
|
||||
class SceneSystem;
|
||||
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
bool BuildSceneMeshFromAssImpMesh(const aiNode* currentNode, const aiScene* scene, const FbxSceneSystem& sceneSystem, AZStd::vector<AZStd::shared_ptr<DataTypes::IGraphObject>>& meshes,
|
||||
bool BuildSceneMeshFromAssImpMesh(const aiNode* currentNode, const aiScene* scene, const SceneSystem& sceneSystem, AZStd::vector<AZStd::shared_ptr<DataTypes::IGraphObject>>& meshes,
|
||||
const AZStd::function<AZStd::shared_ptr<SceneData::GraphData::MeshData>()>& makeMeshFunc);
|
||||
|
||||
typedef AZ::Outcome<const SceneData::GraphData::MeshData* const, Events::ProcessingResult> GetMeshDataFromParentResult;
|
||||
+4
-4
@@ -9,14 +9,14 @@
|
||||
#include <AzCore/std/algorithm.h>
|
||||
#include <AzCore/std/string/conversions.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneCore/Utilities/Reporting.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
bool RenamedNodesMap::SanitizeNodeName(AZStd::string& name, const Containers::SceneGraph& graph,
|
||||
Containers::SceneGraph::NodeIndex parentNode, const char* defaultName)
|
||||
@@ -94,7 +94,7 @@ namespace AZ
|
||||
{
|
||||
AZ_TraceContext("New node name", name);
|
||||
|
||||
// Only register if the name is updated, otherwise the name in the fbx node can be returned.
|
||||
// Only register if the name is updated, otherwise the name in the source scene's node can be returned.
|
||||
auto entry = m_idToName.find(node.GetUniqueId());
|
||||
if (entry == m_idToName.end())
|
||||
{
|
||||
@@ -153,6 +153,6 @@ namespace AZ
|
||||
return node.GetName();
|
||||
}
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+2
-7
@@ -15,14 +15,9 @@
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace FbxSDKWrapper
|
||||
{
|
||||
class FbxNodeWrapper;
|
||||
}
|
||||
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class RenamedNodesMap
|
||||
{
|
||||
@@ -60,6 +55,6 @@ namespace AZ
|
||||
|
||||
AZStd::unordered_map<u64, AZStd::string> m_idToName;
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+4
-4
@@ -10,11 +10,11 @@
|
||||
#include <AzCore/PlatformDef.h>
|
||||
|
||||
#if defined(AZ_MONOLITHIC_BUILD)
|
||||
#define FBX_SCENE_BUILDER_API
|
||||
#define SCENE_BUILDER_API
|
||||
#else
|
||||
#ifdef FBX_SCENE_BUILDER_EXPORTS
|
||||
#define FBX_SCENE_BUILDER_API AZ_DLL_EXPORT
|
||||
#ifdef SCENE_BUILDER_EXPORTS
|
||||
#define SCENE_BUILDER_API AZ_DLL_EXPORT
|
||||
#else
|
||||
#define FBX_SCENE_BUILDER_API AZ_DLL_IMPORT
|
||||
#define SCENE_BUILDER_API AZ_DLL_IMPORT
|
||||
#endif
|
||||
#endif // AZ_MONOLITHIC_BUILD
|
||||
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AssetProcessor/AssetBuilderSDK/AssetBuilderSDK/AssetBuilderSDK.h>
|
||||
#include <AzCore/Serialization/EditContextConstants.inl>
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzCore/Serialization/Json/JsonSerialization.h>
|
||||
#include <AzCore/Settings/SettingsRegistry.h>
|
||||
#include <AzCore/StringFunc/StringFunc.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneImportRequestHandler.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Scene.h>
|
||||
#include <SceneAPI/SceneCore/Events/CallProcessorBus.h>
|
||||
#include <SceneAPI/SceneCore/Events/ImportEventContext.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
void SceneImporterSettings::Reflect(AZ::ReflectContext* context)
|
||||
{
|
||||
if (auto serializeContext = azrtti_cast<AZ::SerializeContext*>(context); serializeContext)
|
||||
{
|
||||
serializeContext->Class<SceneImporterSettings>()
|
||||
->Version(2)
|
||||
->Field("SupportedFileTypeExtensions", &SceneImporterSettings::m_supportedFileTypeExtensions);
|
||||
}
|
||||
}
|
||||
|
||||
void SceneImportRequestHandler::Activate()
|
||||
{
|
||||
if (auto* settingsRegistry = AZ::SettingsRegistry::Get())
|
||||
{
|
||||
settingsRegistry->GetObject(m_settings, "/O3DE/SceneAPI/AssetImporter");
|
||||
}
|
||||
|
||||
BusConnect();
|
||||
}
|
||||
|
||||
void SceneImportRequestHandler::Deactivate()
|
||||
{
|
||||
BusDisconnect();
|
||||
}
|
||||
|
||||
void SceneImportRequestHandler::Reflect(ReflectContext* context)
|
||||
{
|
||||
SceneImporterSettings::Reflect(context);
|
||||
|
||||
SerializeContext* serializeContext = azrtti_cast<SerializeContext*>(context);
|
||||
if (serializeContext)
|
||||
{
|
||||
serializeContext->Class<SceneImportRequestHandler, AZ::Component>()->Version(1)->Attribute(
|
||||
AZ::Edit::Attributes::SystemComponentTags,
|
||||
AZStd::vector<AZ::Crc32>(
|
||||
{AssetBuilderSDK::ComponentTags::AssetBuilder,
|
||||
AssetImportRequest::GetAssetImportRequestComponentTag()}));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void SceneImportRequestHandler::GetSupportedFileExtensions(AZStd::unordered_set<AZStd::string>& extensions)
|
||||
{
|
||||
extensions.insert(m_settings.m_supportedFileTypeExtensions.begin(), m_settings.m_supportedFileTypeExtensions.end());
|
||||
}
|
||||
|
||||
Events::LoadingResult SceneImportRequestHandler::LoadAsset(Containers::Scene& scene, const AZStd::string& path, const Uuid& guid, [[maybe_unused]] RequestingApplication requester)
|
||||
{
|
||||
AZStd::string extension;
|
||||
StringFunc::Path::GetExtension(path.c_str(), extension);
|
||||
AZStd::to_lower(extension.begin(), extension.end());
|
||||
|
||||
if (!m_settings.m_supportedFileTypeExtensions.contains(extension))
|
||||
{
|
||||
return Events::LoadingResult::Ignored;
|
||||
}
|
||||
|
||||
scene.SetSource(path, guid);
|
||||
|
||||
// Push contexts
|
||||
Events::ProcessingResultCombiner contextResult;
|
||||
contextResult += Events::Process<Events::PreImportEventContext>(path);
|
||||
contextResult += Events::Process<Events::ImportEventContext>(path, scene);
|
||||
contextResult += Events::Process<Events::PostImportEventContext>(scene);
|
||||
|
||||
if (contextResult.GetResult() == Events::ProcessingResult::Success)
|
||||
{
|
||||
return Events::LoadingResult::AssetLoaded;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Events::LoadingResult::AssetFailure;
|
||||
}
|
||||
}
|
||||
|
||||
void SceneImportRequestHandler::GetProvidedServices(ComponentDescriptor::DependencyArrayType& provided)
|
||||
{
|
||||
provided.emplace_back(AZ_CRC_CE("AssetImportRequestHandler"));
|
||||
}
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SceneAPI/SceneCore/Components/BehaviorComponent.h>
|
||||
#include <SceneAPI/SceneCore/Events/AssetImportRequest.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
struct SceneImporterSettings
|
||||
{
|
||||
AZ_TYPE_INFO(SceneImporterSettings, "{8BB6C7AD-BF99-44DC-9DA1-E7AD3F03DC10}");
|
||||
|
||||
static void Reflect(AZ::ReflectContext* context);
|
||||
|
||||
AZStd::unordered_set<AZStd::string> m_supportedFileTypeExtensions;
|
||||
};
|
||||
|
||||
class SceneImportRequestHandler
|
||||
: public AZ::Component
|
||||
, public Events::AssetImportRequestBus::Handler
|
||||
{
|
||||
public:
|
||||
AZ_COMPONENT(SceneImportRequestHandler, "{9F4B189C-0A96-4F44-A5F0-E087FF1561F8}");
|
||||
|
||||
~SceneImportRequestHandler() override = default;
|
||||
|
||||
void Activate() override;
|
||||
void Deactivate() override;
|
||||
static void Reflect(ReflectContext* context);
|
||||
|
||||
void GetSupportedFileExtensions(AZStd::unordered_set<AZStd::string>& extensions) override;
|
||||
Events::LoadingResult LoadAsset(Containers::Scene& scene, const AZStd::string& path, const Uuid& guid,
|
||||
RequestingApplication requester) override;
|
||||
|
||||
static void GetProvidedServices(ComponentDescriptor::DependencyArrayType& provided);
|
||||
|
||||
private:
|
||||
|
||||
SceneImporterSettings m_settings;
|
||||
|
||||
static constexpr const char* SettingsFilename = "AssetImporterSettings.json";
|
||||
};
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+21
-21
@@ -14,11 +14,11 @@
|
||||
#include <AzCore/std/string/conversions.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/AssImpMaterialImporter.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/ImportContexts/AssImpImportContexts.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/AssImpMaterialImporter.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Scene.h>
|
||||
#include <SceneAPI/SceneCore/Utilities/Reporting.h>
|
||||
#include <SceneAPI/SceneData/GraphData/TransformData.h>
|
||||
@@ -29,7 +29,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
struct QueueNode
|
||||
{
|
||||
@@ -44,23 +44,23 @@ namespace AZ
|
||||
}
|
||||
};
|
||||
|
||||
FbxImporter::FbxImporter()
|
||||
: m_sceneSystem(new FbxSceneSystem())
|
||||
SceneImporter::SceneImporter()
|
||||
: m_sceneSystem(new SceneSystem())
|
||||
{
|
||||
m_sceneWrapper = AZStd::make_unique<AssImpSDKWrapper::AssImpSceneWrapper>();
|
||||
BindToCall(&FbxImporter::ImportProcessing);
|
||||
BindToCall(&SceneImporter::ImportProcessing);
|
||||
}
|
||||
|
||||
void FbxImporter::Reflect(ReflectContext* context)
|
||||
void SceneImporter::Reflect(ReflectContext* context)
|
||||
{
|
||||
SerializeContext* serializeContext = azrtti_cast<SerializeContext*>(context);
|
||||
if (serializeContext)
|
||||
{
|
||||
serializeContext->Class<FbxImporter, SceneCore::LoadingComponent>()->Version(2); // SPEC-5776
|
||||
serializeContext->Class<SceneImporter, SceneCore::LoadingComponent>()->Version(2); // SPEC-5776
|
||||
}
|
||||
}
|
||||
|
||||
Events::ProcessingResult FbxImporter::ImportProcessing(Events::ImportEventContext& context)
|
||||
Events::ProcessingResult SceneImporter::ImportProcessing(Events::ImportEventContext& context)
|
||||
{
|
||||
m_sceneWrapper->Clear();
|
||||
|
||||
@@ -77,7 +77,7 @@ namespace AZ
|
||||
return Events::ProcessingResult::Failure;
|
||||
}
|
||||
|
||||
convertFunc = AZStd::bind(&FbxImporter::ConvertFbxScene, this, AZStd::placeholders::_1);
|
||||
convertFunc = AZStd::bind(&SceneImporter::ConvertScene, this, AZStd::placeholders::_1);
|
||||
|
||||
if (convertFunc(context.GetScene()))
|
||||
{
|
||||
@@ -89,10 +89,10 @@ namespace AZ
|
||||
}
|
||||
}
|
||||
|
||||
bool FbxImporter::ConvertFbxScene(Containers::Scene& scene) const
|
||||
bool SceneImporter::ConvertScene(Containers::Scene& scene) const
|
||||
{
|
||||
std::shared_ptr<SDKNode::NodeWrapper> fbxRoot = m_sceneWrapper->GetRootNode();
|
||||
if (!fbxRoot)
|
||||
std::shared_ptr<SDKNode::NodeWrapper> sceneRoot = m_sceneWrapper->GetRootNode();
|
||||
if (!sceneRoot)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -123,13 +123,13 @@ namespace AZ
|
||||
break;
|
||||
}
|
||||
|
||||
AZStd::queue<FbxSceneBuilder::QueueNode> nodes;
|
||||
nodes.emplace(AZStd::move(fbxRoot), scene.GetGraph().GetRoot());
|
||||
AZStd::queue<SceneBuilder::QueueNode> nodes;
|
||||
nodes.emplace(AZStd::move(sceneRoot), scene.GetGraph().GetRoot());
|
||||
RenamedNodesMap nodeNameMap;
|
||||
|
||||
while (!nodes.empty())
|
||||
{
|
||||
FbxSceneBuilder::QueueNode& node = nodes.front();
|
||||
SceneBuilder::QueueNode& node = nodes.front();
|
||||
AZ_Assert(node.m_node, "Empty asset importer node queued");
|
||||
if (!nodeNameMap.RegisterNode(node.m_node, scene.GetGraph(), node.m_parent))
|
||||
{
|
||||
@@ -240,12 +240,12 @@ namespace AZ
|
||||
return true;
|
||||
}
|
||||
|
||||
void FbxImporter::SanitizeNodeName(AZStd::string& nodeName) const
|
||||
void SceneImporter::SanitizeNodeName(AZStd::string& nodeName) const
|
||||
{
|
||||
// Replace % with something else so it is safe for use in printfs.
|
||||
AZStd::replace(nodeName.begin(), nodeName.end(), '%', '_');
|
||||
}
|
||||
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+9
-9
@@ -12,7 +12,7 @@
|
||||
#include <SceneAPI/SceneCore/Components/LoadingComponent.h>
|
||||
#include <SceneAPI/SceneCore/Containers/SceneGraph.h>
|
||||
#include <SceneAPI/SceneCore/Events/ImportEventContext.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxSceneSystem.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneSystem.h>
|
||||
#include <SceneAPI/SDKWrapper/SceneWrapper.h>
|
||||
|
||||
namespace AZ
|
||||
@@ -24,28 +24,28 @@ namespace AZ
|
||||
class Scene;
|
||||
}
|
||||
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
class FbxImporter
|
||||
class SceneImporter
|
||||
: public SceneCore::LoadingComponent
|
||||
{
|
||||
public:
|
||||
AZ_COMPONENT(FbxImporter, "{D5EE21B6-8B73-45BF-B711-31346E0BEDB3}", SceneCore::LoadingComponent);
|
||||
AZ_COMPONENT(SceneImporter, "{D5EE21B6-8B73-45BF-B711-31346E0BEDB3}", SceneCore::LoadingComponent);
|
||||
|
||||
FbxImporter();
|
||||
~FbxImporter() override = default;
|
||||
SceneImporter();
|
||||
~SceneImporter() override = default;
|
||||
|
||||
static void Reflect(ReflectContext* context);
|
||||
|
||||
Events::ProcessingResult ImportProcessing(Events::ImportEventContext& context);
|
||||
|
||||
protected:
|
||||
bool ConvertFbxScene(Containers::Scene& scene) const;
|
||||
bool ConvertScene(Containers::Scene& scene) const;
|
||||
void SanitizeNodeName(AZStd::string& nodeName) const;
|
||||
|
||||
AZStd::unique_ptr<SDKScene::SceneWrapperBase> m_sceneWrapper;
|
||||
AZStd::shared_ptr<FbxSceneSystem> m_sceneSystem;
|
||||
AZStd::shared_ptr<SceneSystem> m_sceneSystem;
|
||||
};
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+10
-10
@@ -6,7 +6,7 @@
|
||||
*/
|
||||
|
||||
#include <AzCore/Math/Vector3.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxSceneSystem.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneSystem.h>
|
||||
#include <SceneAPI/SceneCore/Utilities/Reporting.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpSceneWrapper.h>
|
||||
#include <SceneAPI/SDKWrapper/AssImpTypeConverter.h>
|
||||
@@ -17,7 +17,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
FbxSceneSystem::FbxSceneSystem() :
|
||||
SceneSystem::SceneSystem() :
|
||||
m_unitSizeInMeters(1.0f),
|
||||
m_originalUnitSizeInMeters(1.0f),
|
||||
m_adjustTransform(nullptr),
|
||||
@@ -25,15 +25,15 @@ namespace AZ
|
||||
{
|
||||
}
|
||||
|
||||
void FbxSceneSystem::Set(const SDKScene::SceneWrapperBase* fbxScene)
|
||||
void SceneSystem::Set(const SDKScene::SceneWrapperBase* scene)
|
||||
{
|
||||
// Get unit conversion factor to meter.
|
||||
if (!azrtti_istypeof<AssImpSDKWrapper::AssImpSceneWrapper>(fbxScene))
|
||||
if (!azrtti_istypeof<AssImpSDKWrapper::AssImpSceneWrapper>(scene))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper* assImpScene = azrtti_cast<const AssImpSDKWrapper::AssImpSceneWrapper*>(fbxScene);
|
||||
const AssImpSDKWrapper::AssImpSceneWrapper* assImpScene = azrtti_cast<const AssImpSDKWrapper::AssImpSceneWrapper*>(scene);
|
||||
|
||||
// If either meta data piece is not available, the default of 1 will be used.
|
||||
assImpScene->GetAssImpScene()->mMetaData->Get("UnitScaleFactor", m_unitSizeInMeters);
|
||||
@@ -111,7 +111,7 @@ namespace AZ
|
||||
}
|
||||
}
|
||||
|
||||
void FbxSceneSystem::SwapVec3ForUpAxis(Vector3& swapVector) const
|
||||
void SceneSystem::SwapVec3ForUpAxis(Vector3& swapVector) const
|
||||
{
|
||||
if (m_adjustTransform)
|
||||
{
|
||||
@@ -119,7 +119,7 @@ namespace AZ
|
||||
}
|
||||
}
|
||||
|
||||
void FbxSceneSystem::SwapTransformForUpAxis(DataTypes::MatrixType& inOutTransform) const
|
||||
void SceneSystem::SwapTransformForUpAxis(DataTypes::MatrixType& inOutTransform) const
|
||||
{
|
||||
if (m_adjustTransform)
|
||||
{
|
||||
@@ -127,19 +127,19 @@ namespace AZ
|
||||
}
|
||||
}
|
||||
|
||||
void FbxSceneSystem::ConvertUnit(Vector3& scaleVector) const
|
||||
void SceneSystem::ConvertUnit(Vector3& scaleVector) const
|
||||
{
|
||||
scaleVector *= m_unitSizeInMeters;
|
||||
}
|
||||
|
||||
void FbxSceneSystem::ConvertUnit(DataTypes::MatrixType& inOutTransform) const
|
||||
void SceneSystem::ConvertUnit(DataTypes::MatrixType& inOutTransform) const
|
||||
{
|
||||
Vector3 translation = inOutTransform.GetTranslation();
|
||||
translation *= m_unitSizeInMeters;
|
||||
inOutTransform.SetTranslation(translation);
|
||||
}
|
||||
|
||||
void FbxSceneSystem::ConvertBoneUnit(DataTypes::MatrixType& inOutTransform) const
|
||||
void SceneSystem::ConvertBoneUnit(DataTypes::MatrixType& inOutTransform) const
|
||||
{
|
||||
|
||||
|
||||
+5
-5
@@ -8,7 +8,7 @@
|
||||
*/
|
||||
|
||||
#include <AzCore/std/smart_ptr/unique_ptr.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/FbxSceneBuilderConfiguration.h>
|
||||
#include <SceneAPI/SceneBuilder/SceneBuilderConfiguration.h>
|
||||
#include <SceneAPI/SceneCore/DataTypes/MatrixType.h>
|
||||
|
||||
namespace AZ
|
||||
@@ -22,10 +22,10 @@ namespace AZ
|
||||
|
||||
namespace SceneAPI
|
||||
{
|
||||
class FBX_SCENE_BUILDER_API FbxSceneSystem
|
||||
class SCENE_BUILDER_API SceneSystem
|
||||
{
|
||||
public:
|
||||
FbxSceneSystem();
|
||||
SceneSystem();
|
||||
|
||||
void Set(const SDKScene::SceneWrapperBase* sceneWrapper);
|
||||
void SwapVec3ForUpAxis(Vector3& swapVector) const;
|
||||
@@ -34,11 +34,11 @@ namespace AZ
|
||||
void ConvertUnit(DataTypes::MatrixType& inOutTransform) const;
|
||||
void ConvertBoneUnit(DataTypes::MatrixType& inOutTransform) const;
|
||||
|
||||
//! Get effect unit size in meters of this Fbx Scene, internally FBX saves it in the following manner
|
||||
//! Get effect unit size in meters of this scene, internally FBX saves it in the following manner
|
||||
//! GlobalSettings: {
|
||||
//! P : "UnitScaleFactor", "double", "Number", "", 2.54
|
||||
float GetUnitSizeInMeters() const { return m_unitSizeInMeters; }
|
||||
//! Get original unit size in meters of this Fbx Scene, internally FBX saves it in the following manner
|
||||
//! Get original unit size in meters of this scene, internally FBX saves it in the following manner
|
||||
//! GlobalSettings: {
|
||||
//! P : "OriginalUnitScaleFactor", "double", "Number", "", 2.54
|
||||
float GetOriginalUnitSizeInMeters() const { return m_originalUnitSizeInMeters; }
|
||||
+11
-11
@@ -8,7 +8,7 @@
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Scene.h>
|
||||
#include <SceneAPI/SceneCore/DataTypes/IGraphObject.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshData.h>
|
||||
@@ -18,9 +18,9 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
TEST(FbxImporterUtilityTests, AreSceneGraphsEqual_EmptySceneGraphs_ReturnsTrue)
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_EmptySceneGraphs_ReturnsTrue)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
Containers::SceneGraph rhsGraph;
|
||||
@@ -31,7 +31,7 @@ namespace AZ
|
||||
EXPECT_TRUE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(FbxImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeBothNull_ReturnsTrue)
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeBothNull_ReturnsTrue)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "testChild");
|
||||
@@ -44,7 +44,7 @@ namespace AZ
|
||||
EXPECT_TRUE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(FbxImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeSameType_ReturnsTrue)
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeSameType_ReturnsTrue)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
AZStd::shared_ptr<DataTypes::IGraphObject> lhsData = AZStd::make_shared<SceneData::GraphData::MeshData>();
|
||||
@@ -59,7 +59,7 @@ namespace AZ
|
||||
EXPECT_TRUE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(FbxImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeOneNull_ReturnsFalse)
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeOneNull_ReturnsFalse)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
AZStd::shared_ptr<DataTypes::IGraphObject> lhsData = AZStd::make_shared<SceneData::GraphData::MeshData>();
|
||||
@@ -73,7 +73,7 @@ namespace AZ
|
||||
EXPECT_FALSE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(FbxImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeDifferentTypes_ReturnsFalse)
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeDifferentTypes_ReturnsFalse)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
AZStd::shared_ptr<DataTypes::IGraphObject> lhsData = AZStd::make_shared<SceneData::GraphData::MeshData>();
|
||||
@@ -88,7 +88,7 @@ namespace AZ
|
||||
EXPECT_FALSE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(FbxImporterUtilityTests, AreSceneGraphsEqual_SameNameOneEmptyOneSingleNode_ReturnsFalse)
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SameNameOneEmptyOneSingleNode_ReturnsFalse)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
AZStd::shared_ptr<DataTypes::IGraphObject> lhsData = AZStd::make_shared<SceneData::GraphData::MeshData>();
|
||||
@@ -101,7 +101,7 @@ namespace AZ
|
||||
EXPECT_FALSE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(FbxImpoterUtilityTests, AreSceneGraphsEqual_DifferentNamesSingleNodeBothNull_ReturnsFalse)
|
||||
TEST(SceneImpoterUtilityTests, AreSceneGraphsEqual_DifferentNamesSingleNodeBothNull_ReturnsFalse)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "testChild");
|
||||
@@ -114,7 +114,7 @@ namespace AZ
|
||||
EXPECT_FALSE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(FbxImporterUtilityTests, AreSceneGraphsEqual_SecondGraphExtraChild_ReturnsFalse)
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SecondGraphExtraChild_ReturnsFalse)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "testChild");
|
||||
@@ -127,6 +127,6 @@ namespace AZ
|
||||
|
||||
EXPECT_FALSE(sceneGraphsEqual);
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+3
-3
@@ -8,7 +8,7 @@
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
#include <SceneAPI/FbxSceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneCore/Containers/SceneGraph.h>
|
||||
#include <SceneAPI/SceneCore/DataTypes/IGraphObject.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshData.h>
|
||||
@@ -17,7 +17,7 @@ namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
TEST(RenamedNodesMapTests, SanitizeNodeName_ValidNameProvided_ReturnsFalseAndNameUnchanged)
|
||||
{
|
||||
@@ -79,6 +79,6 @@ namespace AZ
|
||||
EXPECT_TRUE(result);
|
||||
EXPECT_STREQ("Child_2", name.c_str());
|
||||
}
|
||||
} // namespace FbxSceneBuilder
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
+10
-10
@@ -10,11 +10,11 @@
|
||||
#include <AzCore/Module/DynamicModuleHandle.h>
|
||||
#include <AzCore/Memory/SystemAllocator.h>
|
||||
|
||||
class FbxSceneBuilderTestEnvironment
|
||||
class SceneBuilderTestEnvironment
|
||||
: public AZ::Test::ITestEnvironment
|
||||
{
|
||||
public:
|
||||
virtual ~FbxSceneBuilderTestEnvironment()
|
||||
virtual ~SceneBuilderTestEnvironment()
|
||||
{}
|
||||
|
||||
protected:
|
||||
@@ -23,31 +23,31 @@ protected:
|
||||
AZ::AllocatorInstance<AZ::SystemAllocator>::Create();
|
||||
|
||||
sceneCoreModule = AZ::DynamicModuleHandle::Create("SceneCore");
|
||||
AZ_Assert(sceneCoreModule, "FbxSceneBuilder unit tests failed to create SceneCore module.");
|
||||
AZ_Assert(sceneCoreModule, "SceneBuilder unit tests failed to create SceneCore module.");
|
||||
bool loaded = sceneCoreModule->Load(false);
|
||||
AZ_Assert(loaded, "FbxSceneBuilder unit tests failed to load SceneCore module.");
|
||||
AZ_Assert(loaded, "SceneBuilder unit tests failed to load SceneCore module.");
|
||||
auto init = sceneCoreModule->GetFunction<AZ::InitializeDynamicModuleFunction>(AZ::InitializeDynamicModuleFunctionName);
|
||||
AZ_Assert(init, "FbxSceneBuilder unit tests failed to find the initialization function the SceneCore module.");
|
||||
AZ_Assert(init, "SceneBuilder unit tests failed to find the initialization function the SceneCore module.");
|
||||
(*init)(AZ::Environment::GetInstance());
|
||||
|
||||
sceneDataModule = AZ::DynamicModuleHandle::Create("SceneData");
|
||||
AZ_Assert(sceneDataModule, "SceneData unit tests failed to create SceneData module.");
|
||||
loaded = sceneDataModule->Load(false);
|
||||
AZ_Assert(loaded, "FbxSceneBuilder unit tests failed to load SceneData module.");
|
||||
AZ_Assert(loaded, "SceneBuilder unit tests failed to load SceneData module.");
|
||||
init = sceneDataModule->GetFunction<AZ::InitializeDynamicModuleFunction>(AZ::InitializeDynamicModuleFunctionName);
|
||||
AZ_Assert(init, "FbxSceneBuilder unit tests failed to find the initialization function the SceneData module.");
|
||||
AZ_Assert(init, "SceneBuilder unit tests failed to find the initialization function the SceneData module.");
|
||||
(*init)(AZ::Environment::GetInstance());
|
||||
}
|
||||
|
||||
void TeardownEnvironment() override
|
||||
{
|
||||
auto uninit = sceneDataModule->GetFunction<AZ::UninitializeDynamicModuleFunction>(AZ::UninitializeDynamicModuleFunctionName);
|
||||
AZ_Assert(uninit, "FbxSceneBuilder unit tests failed to find the uninitialization function the SceneData module.");
|
||||
AZ_Assert(uninit, "SceneBuilder unit tests failed to find the uninitialization function the SceneData module.");
|
||||
(*uninit)();
|
||||
sceneDataModule.reset();
|
||||
|
||||
uninit = sceneCoreModule->GetFunction<AZ::UninitializeDynamicModuleFunction>(AZ::UninitializeDynamicModuleFunctionName);
|
||||
AZ_Assert(uninit, "FbxSceneBuilder unit tests failed to find the uninitialization function the SceneCore module.");
|
||||
AZ_Assert(uninit, "SceneBuilder unit tests failed to find the uninitialization function the SceneCore module.");
|
||||
(*uninit)();
|
||||
sceneCoreModule.reset();
|
||||
|
||||
@@ -59,5 +59,5 @@ private:
|
||||
AZStd::unique_ptr<AZ::DynamicModuleHandle> sceneDataModule;
|
||||
};
|
||||
|
||||
AZ_UNIT_TEST_HOOK(new FbxSceneBuilderTestEnvironment);
|
||||
AZ_UNIT_TEST_HOOK(new SceneBuilderTestEnvironment);
|
||||
|
||||
+7
-7
@@ -6,13 +6,13 @@
|
||||
#
|
||||
|
||||
set(FILES
|
||||
FbxSceneBuilderConfiguration.h
|
||||
FbxImportRequestHandler.h
|
||||
FbxImportRequestHandler.cpp
|
||||
FbxImporter.h
|
||||
FbxImporter.cpp
|
||||
FbxSceneSystem.h
|
||||
FbxSceneSystem.cpp
|
||||
SceneBuilderConfiguration.h
|
||||
SceneImportRequestHandler.h
|
||||
SceneImportRequestHandler.cpp
|
||||
SceneImporter.h
|
||||
SceneImporter.cpp
|
||||
SceneSystem.h
|
||||
SceneSystem.cpp
|
||||
ImportContexts/ImportContexts.h
|
||||
ImportContexts/ImportContexts.cpp
|
||||
ImportContexts/AssImpImportContexts.h
|
||||
+1
-1
@@ -7,6 +7,6 @@
|
||||
|
||||
set(FILES
|
||||
Tests/TestsMain.cpp
|
||||
Tests/Importers/FbxImporterUtilitiesTests.cpp
|
||||
Tests/Importers/SceneImporterUtilitiesTests.cpp
|
||||
Tests/Importers/Utilities/RenamedNodesMapTests.cpp
|
||||
)
|
||||
@@ -27,7 +27,7 @@ namespace AZ
|
||||
{
|
||||
class IGraphObject;
|
||||
}
|
||||
namespace FbxSceneBuilder
|
||||
namespace SceneBuilder
|
||||
{
|
||||
struct QueueNode;
|
||||
struct ImportContext;
|
||||
@@ -58,8 +58,8 @@ namespace AZ
|
||||
class NodeIndex
|
||||
{
|
||||
friend class SceneGraph;
|
||||
friend struct FbxSceneBuilder::QueueNode;
|
||||
friend struct FbxSceneBuilder::ImportContext;
|
||||
friend struct SceneBuilder::QueueNode;
|
||||
friend struct SceneBuilder::ImportContext;
|
||||
public:
|
||||
// Type needs to be able to store an index in a NodeHeader (currently 21-bits).
|
||||
using IndexType = uint32_t;
|
||||
|
||||
@@ -80,11 +80,11 @@ namespace AZ
|
||||
virtual unsigned int GetVertexIndex(int faceIndex, int vertexIndexInFace) const = 0;
|
||||
static const int s_invalidMaterialId = 0;
|
||||
|
||||
// Set the unit size of the mesh, from the point of FBX SDK
|
||||
// Set the unit size of the mesh, from the point of the source SDK
|
||||
void SetUnitSizeInMeters(float size) { m_unitSizeInMeters = size; }
|
||||
float GetUnitSizeInMeters() const { return m_unitSizeInMeters; }
|
||||
|
||||
// Set the original unit size of the mesh, from the point of FBX SDK
|
||||
// Set the original unit size of the mesh, from the point of the source SDK
|
||||
void SetOriginalUnitSizeInMeters(float size) { m_originalUnitSizeInMeters = size; }
|
||||
float GetOriginalUnitSizeInMeters() const { return m_originalUnitSizeInMeters; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user