Commit Graph

157 Commits (d600b1c9fd6659f79ef15fc3eba481b43b51f28c)

Author SHA1 Message Date
Esteban Papp 0dc829891a fixing build
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp aa12434728 removing some dead code, commented code referring old types, static AZStd::strings
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Chris Santora 36abde95a9 Added a new registry setting that disables automatic conversion of materials from model files like FBX.
By default, processing of model files (like FBX) automatically convert the included materials to Atom materials, using StandardPBR. This adds a job dependency on StandardPBR.materialtype, which propagates to any related azsl files as well. Thus any change to azsl code will cause all model files in the project to rebuild.

Some game teams have no interest in using the auto-converted materials; they always use a Material Component to apply material overrides for every mesh. This new setting allows teams to disable material auto-conversion for the entire project, thus removing the job dependency on StandardPBR.materialtype. Instead, every mesh will be assigned the same default material. Any change to azsl code will cause that one default material to rebuild, but this will not trigger any models to rebuild.

Details:
- Added /O3DE/SceneAPI/MaterialConverter registry settings for configuring the scene material converter. It includes an enable flag, and a default material to use when conversion is disabled.
- Added SceneBuilderDependencyRequests::AddFingerprintInfo which allows ScenePI components to modify the scene builder analysis fingerprint. We use this to reprocess scene files when the material converter settings change.
- Updated SceneAPI's material asset builder to skip the StandardPBR dependency when material conversion is disabled.
- Added some code to MaterialComponentController to handle an edge case that may when disabling material conversion on an existing project, and assigned materials disappear.

Testing:
- Changing the registery setting does trigger a rebuild of the fbx files.
- When material conversion is disabled, changing an azsl file does not cause fbx files to rebuild, but the shader still reloads as expected.
- Made a test level using multiple models with multiple meshes, made various adjustments to the material slots for each mesh, and tried switcihng the material conversion registry setting from true to false. (Details below)
- TODO: Will merge this change to a customer's fork and test on their existing content.

Details about my test level:
- Made a new test level AtomTest project
- Added two entities, both using multi-mat_mesh-groups_1m_cubes.fbx
- Added a material component to both entities
  - Entity 1 material assignments
    - Blue_Zaxis: left as-is
    - Green_Yaxis: exported the material
    - Red_Xaxis: exported the material, and changed the material instance color to pink
    - StingrayPBS1: exported the material, scaled the UVs in the exported material source, and changed the material instance color to green.
    - With_Texture: selected an existing brick material, changed the material instance color to red.
  - Entity 2 material assignments
    - Default Material: set to an existing brick material
    - Blue_Zaxis: manually assigned built-in material that was converted from fbx
    - Green_Yaxis: manually assigned built-in material that was converted from fbx, and changed the material instance color to orange

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
pappeste f301c3b43a Code/Tools
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Benjamin Jillich a3712b5564
TSpace setting for MikkT tangent generation (#2386)
* Added TSpace method setting which is only visible for MikkT generation.
* Fixed a bug with generating tangents for blend shapes.
* Renamed tangent space into generation method.
* Some code cleaning

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich 8f35def25b
AssImp skeleton import improvements (#2348)
* Disabled to skip exporting a node in case there are child bones underneath, this broke motion extraction as we skipped the motion extraction node.
* Added several helper methods for getting the local space bind pose transform, finding all bones, getting the first bone for a given node name and a recursive has child bones.
* Unified the cloned get all bone methods.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich dbe6bb673e
Merge pull request #2277 from aws-lumberyard-dev/burelc/LYN-4490
[MeshOptimizer] Weld nearby vertices when optimizing meshes
4 years ago
Benjamin Jillich 001aa96fae
Merge pull request #2299 from aws-lumberyard-dev/jillich/TangentsGeneration
MikkT tangent generation support
4 years ago
Benjamin Jillich d987c45072 MikkT tangent generation support
* Default setting when no tangents rule: MikkT tangents.
* Calculates tangents/bitangents for all available uv sets.
* Creates tangent/bitangent data in in case they are not existing yet (as in: the source scene contains tangents/bitangents)
* Overwrites the tangent/bitangent data from the source scene in case MikkT is wished.
* Added helper functions to create tangent/bitangent scene nodes, finding tangent/bitangent data for a given uv layer and calculating the number of uv layers provided by the mesh scene node.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Esteban Papp a08f850766
Merge pull request #2284 from nemerle/header_inclution_reductions_pt1
Reduce inclusion overhead a little bit
4 years ago
AMZN-stankowi 69b5c04b7f
Cleared m_scriptFilename between scene files. (#2278)
This fixes a bug where a Python script file would be run on a scene file
that didn't have a script file set.
Added a general case version to SceneBuilderWorker.cpp, to make it easy
to mark all scene files as dirty.
Automated tests for this will come in a separate pull request.

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
4 years ago
sharmajs-amzn d5431e1c57
{LYN-4996} Asset Processor is not reprocessing STL files after settings are edited/updated (#2095)
* add asset importer file extension

Signed-off-by: sharmajs <sharmajs@amazon.com>

* add new test setreg file

Signed-off-by: sharmajs <sharmajs@amazon.com>

* removed an unnecessary namespace

Signed-off-by: sharmajs <sharmajs@amazon.com>

* addressed feedback

Signed-off-by: sharmajs <sharmajs@amazon.com>

* addressed feedback

Signed-off-by: sharmajs <sharmajs@amazon.com>

* remove unnecessay method

Signed-off-by: sharmajs <sharmajs@amazon.com>

* add file

Signed-off-by: sharmajs <sharmajs@amazon.com>

* reduce waiting time in block until idle

Signed-off-by: sharmajs <sharmajs@amazon.com>
4 years ago
Benjamin Jillich fe661bc159 Register tangents rule for mesh groups, so users can add it to the scene settings
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich 424ee5d5e8 Removed emfx legacy tangent generation settings from tangents rule
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
amzn-mike fc75dd5fda
Fix python fbx tests (#2171)
* Update fbx test dbgsg files

Remove rc products from fbx test expected output
Update warning counts for 2 of the tests - these are due to missing material properties
Add SkipAtomOutput setting to disable atom material and mesh processing in scene as these pull in a lot of external dependencies to Process
Removed BlendShapeData and MeshData debug output of positions/normals/faces
Updated ManifestImportRequestHandler to remove warning about Joining 2 absolute paths
Updated AssImpMaterialImporter to use new GenerateRelativeSourcePath API to fix issue where relative path generation failed with tmp project directories

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

* Add comment for setting

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

* Add override dbgsg file to python test

The mesh optimizer specifically avoids creating optimized nodes for nodes that are not selected, resulting in a different scene graph that requires a different dbgsg file to compare with

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

* Replace hardcoded passing of specific registry setting to instead pass all registry settings to AssetBuilder

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
4 years ago
nemerle e76b65fce9 Reduce inclusion overhead a little bit
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
4 years ago
Chris Burel 8702f0cd2e Add test for the mesh optimizer's ability to weld nearby vertices
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Steve Pham 38261d0800
Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
4 years ago
Benjamin Jillich 0863a24490
Revert "[MeshOptimizer] Determine the original vertex index based on the position (#2008)" (#2188)
This reverts commit a077a88d3f due to assets failing on Jenkins.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Chris Burel a077a88d3f
[MeshOptimizer] Determine the original vertex index based on the position (#2008)
* Determine the original vertex index based on the position

The Assimp library does not expose the FBX control point indices. This
change causes vertices that are close enough in their position to be
considered as coming from the same control point. This allows the mesh
optimizer to consider vertices with the same control point index (or
"original vertex index" as it is called in the code) for deduplication.

Signed-off-by: Chris Burel <burelc@amazon.com>

* Use a filter view instead of reimplementing a filter view

Signed-off-by: Chris Burel <burelc@amazon.com>

* Don't attempt to weld similar vertices if there's blendshapes

Signed-off-by: Chris Burel <burelc@amazon.com>

* Add test for the mesh optimizer's ability to weld nearby vertices

Signed-off-by: Chris Burel <burelc@amazon.com>

* Add logging call to show mesh optimizer effect on vertex count

Signed-off-by: Chris Burel <burelc@amazon.com>

* Use a bunch of temporaries in order to make `position` `const`

Signed-off-by: Chris Burel <burelc@amazon.com>

* Supply the vertex index remapping to the optimized skin weights

This ensures that the optimized skin weights use the vertex indexes from
the optimized mesh

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
jackalbe ffcfa44b49
{LYN-4514} Engine updates to enable PAB for the Blast Gem (#2140)
* {LYN-4514} Engine updates to enable PAB for the Blast Gem

* Engine updates to enable Python Asset Building for the Blast Gem
* added API to detect IsPythonActive()
* ExportProductList behavior
* scene manifest usage of generated assetinfo
* updated ScriptProcessorRuleBehavior to handle OnPrepareForExport

Tests: new tests for scene behavior via ExportProduct

Signed-off-by: Jackson <23512001+jackalbe@users.noreply.github.com>

* updated base on PR feedback
added more comments for IsPythonActive()
added a serializeContext for export product list

Signed-off-by: Jackson <23512001+jackalbe@users.noreply.github.com>
4 years ago
Benjamin Jillich 2ab2503337
Revert "[MeshOptimizer] Determine the original vertex index based on the position (#1562)" (#1902)
This reverts commit ef1f95f1d0.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
5 years ago
Chris Burel ef1f95f1d0
[MeshOptimizer] Determine the original vertex index based on the position (#1562)
* Determine the original vertex index based on the position

The Assimp library does not expose the FBX control point indices. This
change causes vertices that are close enough in their position to be
considered as coming from the same control point. This allows the mesh
optimizer to consider vertices with the same control point index (or
"original vertex index" as it is called in the code) for deduplication.

Signed-off-by: Chris Burel <burelc@amazon.com>

* Use a filter view instead of reimplementing a filter view

Signed-off-by: Chris Burel <burelc@amazon.com>

* Don't attempt to weld similar vertices if there's blendshapes

Signed-off-by: Chris Burel <burelc@amazon.com>

* Add test for the mesh optimizer's ability to weld nearby vertices

Signed-off-by: Chris Burel <burelc@amazon.com>

* Add logging call to show mesh optimizer effect on vertex count

Signed-off-by: Chris Burel <burelc@amazon.com>

* Use a bunch of temporaries in order to make `position` `const`

Signed-off-by: Chris Burel <burelc@amazon.com>
5 years ago
AMZN-stankowi 0c43493e29
FBX to Scene part 3, tangent generation rule FBX -> SourceScene (#1747)
* Tangent space FromFBX -> FromSourceScene

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
5 years ago
AMZN-stankowi 73522e90c9
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>
5 years ago
amzn-mike af45aa299e Merge branch 'stabilization/2106' into Helios_LYN-4880-IncorrectBoneNodes 5 years ago
Steve Pham b4a2edec6a
Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
5 years ago
amzn-mike 0a241d8fd0 Bump version
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
5 years ago
amzn-mike d2d8e8bc3e unsigned to unsigned int
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
5 years ago
amzn-mike 598c890cbc Fix nodes being incorrectly treated as bones
Some nodes have aiBones created by AssImp even though they aren't bones.  Filter these out by looking through the node graph and only considering

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
5 years ago
amzn-mike 63dd82aed3
Merge pull request #1498 from aws-lumberyard-dev/Helios_LYN-3723-FixPBRNormalMapImport
[LYN-3723] Fix Stingray PBR normal map import
5 years ago
amzn-mike 03a6d1e0f5 Merge branch 'stabilization/2106' into Helios_LYN-4742-AssImpRootTransformFix 5 years ago
amzn-mike 0e8a2ca110 Merge branch 'stabilization/2106' into Helios_LYN-3723-FixPBRNormalMapImport 5 years ago
amzn-mike 64e139aa97 Merge branch 'stabilization/2106' into Helios_LYN-3723-FixPBRNormalMapImport 5 years ago
amzn-mike 09b7d57dc4 Merge branch 'stabilization/2106' into Helios_AssImpAnimationOnAllBones 5 years ago
amzn-mike 9e2f1aed91 Add comment 5 years ago
Steve Pham 70042fcdcd
O3DE Copyright Updates for Linux Foundation (#1504) 5 years ago
amzn-mike feb58fac5e Fix calculation for root transform 5 years ago
amzn-mike 1137c2d09d Fix importing normals on PBR materials
Some normals are flagged as "NORMAL_CAMERA" by AssImp, so if we can't find NORMALS we fallback to looking for NORMAL_CAMERA
5 years ago
amzn-mike e4e5178261 Add in placeholder animations for all bones as some models require this for correct animations
Matches with previous FBX SDK behavior
5 years ago
amzn-mike 514cfc3b4c Fix compile error 5 years ago
amzn-mike d2d588901e Address PR feedback 5 years ago
amzn-mike ff81b0bfd6 Use contains method instead of find. Rename parentFillerAnimations -> fillerAnimations 5 years ago
amzn-mike 4c9b3b12cb Merge branch 'stabilization/2106' into V2Mainline 5 years ago
amzn-mike 57b19feca5 Cleanup code 5 years ago
AMZN-stankowi 1fd0886b70
Updated AssImp to v10 for Windows Invert PostRotation matrix in animation chains (#1340) 5 years ago
yuriy0 e40a598648
Bug fix: check for valid extension in case insensitive manner (#1339) 5 years ago
amzn-mike 7dc4d8438b Fix non-bone transforms setting the wrong matrix variable
(cherry picked from commit 838a8b47da73e50fca4ea9ee5abc7c33250bf25d)
5 years ago
amzn-mike 9b039c1f9d Fix creating bone data for non-bones
(cherry picked from commit 8d1bdd1456e70e4efc47aa36dce660bc91e7dfcf)
5 years ago
amzn-mike 10999b6999 All bones have animations
(cherry picked from commit d17a8070010cdc5bc4e08d17b1549736d031414a)
5 years ago
amzn-mike 66a030b800 Fix transform data
Use first offsetMatrix for a bone (there may be multiple) and calculate using offsetOfParent * inverseRootOffset * rootOffset * inverseOffset

(cherry picked from commit a8eae976dda39ad28f9aa235e1e6ba34715ac48a)

# Conflicts:
#	Code/Tools/SceneAPI/FbxSceneBuilder/Importers/AssImpTransformImporter.cpp
5 years ago
amzn-mike d841f0c0db Got transform result close for 3 bone chain, longer chains are still not correct
(cherry picked from commit 5ac65de6148dcc03b9f2953e97dd943493f23ed9)

# Conflicts:
#	Code/Tools/SceneAPI/FbxSceneBuilder/Importers/AssImpTransformImporter.cpp
5 years ago
amzn-mike 9ff007024d Merge branch 'main' into Helios_AssImp_TransformImporterFix 5 years ago
AMZN-stankowi fc0de9e0e3
Added [[maybe unused]] to fix release build compile issue (#1090) 5 years ago
amzn-mike 00a529ad74 Fix AssImpTransformImporter logic for bone nodes
For bone nodes, the Transform is computed by multiplying the parent offsetMatrix by the inverse of the node's offsetMatrix

Note that this currently disables the LimitBoneWeights option since that results in the removal of bone nodes that are not attached to a mesh.
Without the bones there is no way to retrieve the offsetMatrix, so the Transform cannot be computed correctly

Fixes LYN-3755
5 years ago
greerdv 34abf7376e Merge branch 'main' into transform-float-scale-3 5 years ago
AMZN-stankowi 1369e29c73
Abort calls in AssImp, which occur when an assert is hit in builds th… (#1012)
* Abort calls in AssImp, which occur when an assert is hit in builds that have asserts enabled (like debug) no longer generate a popup. Instead, they are captured as errors and an asset processing failure.

* Added missing include

* Added check for _WRITE_ABORT_MSG, so platforms that don't have it but have signals enabled (Linux profile) compile correctly
5 years ago
greerdv c35c1d67e7 update transform widget to work with uniform scale 5 years ago
AMZN-stankowi 9d94977b2c
FbxImportRequestHandler is now loaded only once per AssetBuilder and Editor + re-enabled STL support (#933)
* Revert "FBX settings can be opened again: g_fbxImporter is set, and if the ex… (#878)"

This reverts commit 58adcf168f.

* Revert "Merge pull request #753 from aws-lumberyard-dev/Helios_DataDrivenAssetImporter"

This reverts commit 798d96f1a2, reversing
changes made to eb31d90ad9.

* Revert "Revert "Merge pull request #753 from aws-lumberyard-dev/Helios_DataDrivenAssetImporter""

This reverts commit c1124f26d957388e88cc4990021314b5af247e1d.

* Revert "Revert "FBX settings can be opened again: g_fbxImporter is set, and if the ex… (#878)""

This reverts commit 978477097892a22e83519646527ff52ba6532f35.

* Fixed how FbxImportRequestHandler is loaded

* Bumped version to force FBX to rebuild + removed unused variable

* Revert "Revert "FBX settings can be opened again: g_fbxImporter is set, and if the ex… (#878)""

This reverts commit 978477097892a22e83519646527ff52ba6532f35.

* Revert "Revert "Merge pull request #753 from aws-lumberyard-dev/Helios_DataDrivenAssetImporter""

This reverts commit c1124f26d957388e88cc4990021314b5af247e1d.

* Fixed a bad revert

* Better error reporting at AP launch

* AZ_CRC -> AZ_CRC_CE and removed delayed reload of settings registry file now that it's available at startup

* fixed typo in comment
5 years ago
greerdv ec1d129100 Merge branch 'main' into transform-float-scale 5 years ago
AMZN-stankowi 1da8c50e8e
Temporarily backing out STL changes to unblock mainline (#921)
* Revert "FBX settings can be opened again: g_fbxImporter is set, and if the ex… (#878)"

This reverts commit 58adcf168f.

* Revert "Merge pull request #753 from aws-lumberyard-dev/Helios_DataDrivenAssetImporter"

This reverts commit 798d96f1a2, reversing
changes made to eb31d90ad9.
5 years ago
greerdv ccccfb2c5b more tidying up 5 years ago
greerdv 42c5801c52 Merge branch 'main' into transform-float-scale 5 years ago
AMZN-stankowi b37be6cdbf
New AssImp build, just for Windows. This has the crash fix with bones. (#875) 5 years ago
AMZN-stankowi 58adcf168f
FBX settings can be opened again: g_fbxImporter is set, and if the ex… (#878)
* FBX settings can be opened again: g_fbxImporter is set, and if the extension list is empty, it is reloaded.

* auto -> auto*, .size() == 0 -> .empty()
5 years ago
greerdv 945f55378e merge from main 5 years ago
AMZN-stankowi ead54c85d7
Helios - SPEC-6963 - Fixed unused variables in release builds (#856) 5 years ago
amzn-mike 798d96f1a2
Merge pull request #753 from aws-lumberyard-dev/Helios_DataDrivenAssetImporter
[LYN-3689] AssImp: Data driven supported filetypes
5 years ago
amzn-mike ca94c59e28 Switch FbxImportRequestHandler to inherit from AZ::Component instead of BehaviorComponent
Previously FbxImportRequestHandler used to be activated as part of DllMain init and never had CreateDescriptor called, which meant reflect was not called.  BehaviorComponents get created and Activated as part of special SceneCore logic.  Since this component now needs to be activated as part of the normal flow, reflecting it caused it to be picked up by the SceneCore activate logic, causing it to be created/activated twice
5 years ago
AMZN-stankowi f779821ac0
Helios - LYN-3250 - Fixed morph targets for meshes that had multiple … (#696)
* Helios - LYN-3250 - Fixed morph targets for meshes that had multiple materials (#374)

Fixed morph targets for meshes that had multiple materials and were split by AssImp: Recombined them into one mesh in the O3DE scene graph, so the behavior would match FBX SDK.
5 years ago
greerdv 7def4741cd merge from main 5 years ago
amzn-mike f5fab7e974 Merge branch 'main' into Helios_DataDrivenAssetImporter 5 years ago
amzn-mike ee4e9af465 Rename AssetImporterSettings to SceneImporterSettings 5 years ago
amzn-mike ba4439c397 Remove call to deleted init function 5 years ago
amzn-mike b7891f4fb6 Code cleanup 5 years ago
jackalbe 7d91a4c08e
{LYN-3787} Fix for infinite loop in the scene builder's import phase (#747)
* This simple fix pops any node that can not be registered using it name and unique ID
* Any scene file (i.e FBX) with the three or more nodes with the same name and parent will sort of work
* After the 2nd child node with the same name and parent will be dropped on export

Tests: added the new AutomatedTesting/Assets/BadAssets/three_same_named_nodes.fbx to regress test this
5 years ago
amzn-mike 2b538c9921 Switch to using settings registry
# Conflicts:
#	Assets/Engine/Registry/assetimporter.setreg
5 years ago
amzn-mike f478340376 Data driven asset importer. Need to fix reflection 5 years ago
karlberg 1df2fe1d48 Merging latest origin 5 years ago
AMZN-stankowi e22debec54
ATOM-15465: Helios rollback AssImp SDK version, this fixes the rotation bug (#608) (#641)
ATOM-15465: Fix issue with incorrect rotation on models.

* Revert "{LYN-3229} Update AssImp package with latest AssImp 3rd party source changes (#545)"

This reverts commit 06d2050ac4fe6b9d0d0c52e759cf73a9a3f7d3eb.

* bumping version to force assets to reprocess
5 years ago
karlberg 751d13dd7b Merge remote-tracking branch 'origin' into MultiplayerComponents 5 years ago
AMZN-stankowi a7224b6379
Integrating github/Helios_RemoveFbxSdk through commit 6dc2604 (#391) (#560)
Removing FBX SDK, LYN-1045. If you have an issues please reach out to the Helios team.
5 years ago
jackalbe 8b1251c9f7
{LYN-2185} Helios - Added GraphObjectProxy::GetMethodList() function (#392)
* {LYN-2185} Helios - Added GraphObjectProxy::GetMethodList() function

* Updated the EditorPythonConsoleInterface to get Python type name info
* Added PythonBehaviorInfo to the GraphObjectProxy object to reflect abstract calls that can be invoked
* removed SCENE_DATA_API from Reflect() function

Jira: https://jira.agscollab.com/browse/LYN-2185
Tests: Added tests GraphObjectProxy_GetClassInfo_Loads & GraphObjectProxy_GetClassInfo_CorrectFormats to regress test

* fix compile error

* etchPythonTypeName() returns AZStd::string

* put None into a const char
5 years ago
karlberg d0a561fa01 merging latest origin 5 years ago
karlberg 822368ef01 Changes to get visibility system working again in-game 5 years ago
jackalbe fe88ae12b0
{LYN-3365} GraphObjectProxy is now hidden from Script Canvas (#478)
* GraphObjectProxy is now hidden from Script Canvas
* the IGraphObject has been added to the BC

Jira: https://jira.agscollab.com/browse/LYN-3365
Tests: manual testing the node type is not in the SC editor
5 years ago
lumberyard-employee-dm 3dec5d3b71
LYN-2537 engine assets (#254)
* LYN-2537 Moved the Engine and Editor folder to be within the EngineAssets folder

* Fixed Documentation in bootstrap.cfg to correct the path to the user project specific registry file

* Adding a newline to the output of AssetCatalog 'Registering asset..., but type is not set' message

* Updating the AssetProcessorPlatformConfig.setreg Scan Folder to detect
the @ENGINEROOT@/EngineAssets/Engine path for engine runtime assets and
@ENGINEROOT@/EngineAssets/Editor path for engine tool assets

* Updating references to Icons and other assets to account for moving the
Engine and Editor folder under a single EngineAssets folder

* Moving the Engine Settings Registry folder from Engine/Registry -> Registry

* Removed the LY_PROJECT_CMAKE_PATH define as it is not portable to other locations. It is hard coded to the project location that was used for the CMake configuration. Furthermore it paths with backslashes within it are treated as escape characters and not a path separator

* Updated the LyTestTools asset_processor.py script to copy the exclude.filetag from the EngineAssets/Engine directory now

* Fixed Atom Shader Preprocessing when running using an External Project

* Updated the TSGenerateAction.cpp to fix the build error with using a renamed variable

* Updated the Install_Common.cmake ly_setup_others function to install the
EngineAssets directory and the each of the Gem's Assets directory while
maintaining the relative directory structure to the Engine Root
Also updated the install step to install the Registry folder at the
engine root

* Fixed the copying of the Registry folder to be in the install root, instead of under a second 'Registry' folder

* Moving the AssetProcessorPlatformConfig.setreg file over to the Registry folder

* Updated the LyTestTools and C++ code to point that the new location of
the AssetProcessorPlatformConfig.setreg file inside of the Registry
folder

* Renamed Test AssetProcessor*Config.ini files to have the .setreg extension

* Converted the AssetProcessor test setreg files from ini format to json
format using the SerializeContextTools convert-ini command

* Updated the AssetProcessor CMakeLists.txt to copy over the test setreg files to the build folder

* Updated the assetprocessor test file list to point at the renamed AsssetProcessor*Config setreg filenames

* Removed the Output Prefix code from the AssetProcessor. The complexity that it brought to the AP code is not needed, as users can replicate the behavior by just moving there assets underneath a another folder, underneath the scan folder

* Adding back support to read the AssetProcessorPlatformConfig.setreg file from the asset root. This is only needed for C++ UnitTests as they run in an environment where the accessing the Engine Settings Registry is not available

* Updating the Install_common.cmake logic to copy any "Assets" folder to
the install layout.
The Script has also been updated to copy over the "Assets" folder in the
Engine Root to the install layout instead of an "EngineAssets" folder

* Updating References to EngineAssets source asset folder in code to be the Assets source folder

* Moved the Engine Source Asset folder of 'EngineAssets' to a new folder name of 'Assets'. This is inline with the naming scheme we use for Gem asset folders

* Adding the EngineFinder.cmake to the AutomatedTesting project to allow it to work in a project centric manner

* Updating the LyTestTools copy_assets_to_project function to be able to copy assets with folders to the temporary project root
Fixed an issue in LyTestTools where the temporary log directory could have shutil.rmtree being called twice on it leading to an exception which fails an automated test

Updated the asset_procesor_gui_tests_2 AddScanFolder test to not use the
output prefix, but instead place the source asset root into a
subdirectory

* Correct the AssetProcessorPlatformConfig Scan Folders for the EngineAssets directory to point at the Assets directory

* Updated the asset procesor batch dependency test scan folder to point at the 'Assets' folder instead of 'EngineAssets'
5 years ago
greerdv b113f09a71 first pass of changing transform to use float for scale internally rather than Vector3 5 years ago
jackalbe a1685ecca9
{LYN-2074} Add Animation data types Behavior for the scene graph (#253)
{LYN-2074} Add Animation data types Behavior for the scene graph  (#253)
* https://jira.agscollab.com/browse/LYN-2074

* moved scene API color to centeralized location
BlendShapeDataFace
BlendShapeData
5 years ago
Aaron Ruiz Mora 45fbc86d2d
Fix cloth with MeshOptimization ON
- Reexport cloth assets with AssImp ON. These was necessary because AssImp collects a different name for the color streams than FbxSDK and therefore they needed to be reassigned in the cloth rule.
- Adding '_optimized' string to a global variable and using StringFunc RChop to remove it for a string.
5 years ago
Chris Burel 28170ffe41 Add newlines to the end of all files 5 years ago
AMZN-stankowi f44f06c9f0
AssImp set to be the default FBX processor (#78) (#136)
* AssImp set to be the default FBX processor (#78)

If you encounter issues, reach out to the Helios team with details, and then switch back to FBX SDK locally by changing FBXImporter.h

* Merge pull request #219 from aws-lumberyard-dev/sceneapi_scripting

LYN-3030: Fix to export_chunks_builder.py to match the AssImp node paths

* Hide some automated test folders from the asset processor for automatedtesting. This is necessary because these assets should only be processed when running the test, and not any time AP is launched for this project.

* Putting these test assets back to visible to Asset Processor. These tests need to be updated at some point to handle that, but they won't work with this change for now. Note that until this is addressed, these tests may randomly time out if they're the first tests run on a clean asset processor, and these tests launch AP without using a unique port, so the test can also fail if an Asset Processor executable is hanging open.

Grabbed the change I missed from the 1.0 branch merge, no idea how this got lost.

* Moved from main to periodic. Allen and Fuzzy were already on board, and I think with the potential flakiness in this test, we don't want this in main.

Co-authored-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
5 years ago
sharmajs-amzn 957d1360da
Custom UV Stream Names in assimp (#210) (#243)
* Custom UV Stream Names in assimp
https://jira.agscollab.com/browse/LYN-2506
5 years ago
Terry Michaels d680995074
Renamed several non-inclusive terms (#236) 5 years ago
Benjamin Jillich ba324b8806
[LYN-3013] Github TQO Animation: MorphTarget has data integrity issue (#237)
* Added error reporting for data integrity issues for non-uniform motion data.
* The actual issue was a mismatch between the end times of the morph and the skeletal animations. They need to match in EMotionFX.
* The morph target animation exported a keyframe too much.
5 years ago
Esteban Papp 92c77dca11
LYN-3069 Revert some 3rdparty changes and address issue (#185)
* renaming and organizing files

* removed unused files

* Removing unnecessary file

* moved file

* reverting movement of 3rdparty associations from gems to global

* removing unnecessary calls to ly_add_external_target_path

* fixing install prefix of ci_build

* Fixes to get 3rdparties declared in gems to be installed

* Allowing to install just one configuration

* Adding empty line at the end

* removing commented code

* setting IMPORETD_LOCATION_<CONFIG> and defaulting IMPORTED_LOCATION to the profile config in case other configs are not installed
5 years ago
jackalbe a7f5462f3d
Merge pull request #114 from aws-lumberyard-dev/sceneapi_script_regression
{LYN-2635} Helios - Wrote auto tests for Python asset builder and scene API
5 years ago
AMZN-stankowi 4c2260af97
Lyn 2651 rebased to main (#74)
* Helios - LYN-2651 Lerping bones, cleaned up key frame generation for morph targets. Merge from 1.0.
5 years ago
jackalbe 80f8c0f68b behavior context class SceneGraph::NodeIndex -> "NodeIndex" 5 years ago
jackalbe a7a22bfcc0 Merge branch 'main' into sceneapi_script_autotest 5 years ago