Commit Graph

228 Commits (33cbc2db219cb77d088cb15c1774c86d9b1be9aa)

Author SHA1 Message Date
Chris Burel 8884227fe6 Remove MCore::Array
This translates all usages of MCore::Array to AZStd::vector. It is
designed to be as minimal of a change as possible (no changing to
range-for loops or other C++11 stuff).

We can decide to submit this wholesale, or submit it to a separate
branch that we can then integrate individual files from once we're ready
to do a specific class's transition.

It does not completely solve the `uint32`->`size_t` transition.

One important finding from doing this: `MCore::Array` uses a `memcpy`
when it reallocates. `AZStd::vector` will use the contained type's copy
or move constructor, per element. This is a significant change in
behavior. If you have type, `SomeStruct` that defines a destructor, that
type is copyable and not movable. So if you have a
`MCore::Array<SomeStruct>`, and you call `Add(); Add(); Add()`, that
reallocates 3 times, copying the contents using `memcpy`, and never
invokes `SomeStruct`'s copy constructor or destructor. Translating that
to `AZStd::vector<SomeStruct>` and calling `push_back(); push_back();
push_back();` will still reallocate 3 times, but it sees that
`SomeStruct` is non-movable, and uses the copy constructor to make the
copies, and then the destructor on the previous values. This call to the
destructor wasn't there before, and can cause things to be deleted that
weren't before. The solution to this is to make that struct be a
move-only type. Where possible, this was done by changing that type to
use `AZStd::unique_ptr` instead of a raw pointer, to get the proper move
behavior. Where that is not possible (types that inherit from
`MCore::MemoryObject`), a hand-written move constructor was created.

In general:
GetLength() becomes size()
GetMaxLength() becomes capacity()
GetIsEmpty() becomes empty()
Reserve() becomes reserve()
ReserveExact() becomes reserve()
Resize() becomes resize()
ResizeFast() becomes resize_no_construct()
Add() becomes emplace_back()
AddExact() becomes emplace_back()
AddEmpty() becomes emplace_back()
AddEmptyExact() becomes emplace_back()
GetPtr() becomes data()
GetItem() becomes at()
Shrink() becomes shrink_to_fit()
GetFirst() becomes front()
GetLast() becomes back()
Remove() becomes erase()
RemoveFirst() becomes erase()
RemoveLast() becomes pop_back()
RemoveByValue() becomes if (const auto it = AZStd::find(...); it != end(container)) container.erase(it);
Insert() becomes emplace()
Swap() becomes swap()
Clear(true) becomes clear(); shrink_to_fit()
Clear() becomes clear(); shrink_to_fit()
Clear(false) becomes clear()
Swap() becomes swap()
Find() becomes AZStd::find
MoveElements() becomes AZStd::move
SetMemoryCategory() is removed

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
hultonha 3d15382fb6
Camera Component, Editor Viewport Widget refactoring.
Merge pull request #2840 from yuriy0/camera_and_editor_viewport_widget_improvements
4 years ago
Benjamin Jillich 868d718a18
Added automatic bounding box expansion, fixed several bugs in the aabb calculations and removed node OBBs (#2871)
Merge pull request #2871 from aws-lumberyard-dev/jillich/EmfxAabbImprovements
4 years ago
Benjamin Jillich 733dc31518 Fixed emfx unit tests
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Yuriy Toporovskyy fd616fdcfb Merge remote-tracking branch 'upstream/development' into camera_and_editor_viewport_widget_improvements
Signed-off-by: Yuriy Toporovskyy <toporovskyy.y@gmail.com>
4 years ago
Esteban Papp e28d04aea6 Merge branch 'development' into cmake/SPEC-7484
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/CryEditDoc.cpp
#	Code/Editor/CryEditDoc.h
#	Code/Legacy/CryCommon/CryArray.h
#	Code/Legacy/CryCommon/CryString.h
#	Code/Legacy/CryCommon/UnicodeBinding.h
#	Code/Legacy/CrySystem/LocalizedStringManager.cpp
#	Gems/LyShine/Code/Source/StringUtfUtils.h
#	Gems/PhysXDebug/Code/Source/SystemComponent.cpp
4 years ago
Esteban Papp 19d79f1559 Merge branch 'development' into cmake/SPEC-2513_w4267 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
Yuriy Toporovskyy 83099a7f5b Update mocks for ISystem changes
Signed-off-by: Yuriy Toporovskyy <toporovskyy.y@gmail.com>
4 years ago
Benjamin Jillich 8a47476498 Merge branch 'development' into jillich/EmfxAabbImprovements 4 years ago
Benjamin Jillich f65bf1a06b Increased version in the actor group exporter to automatically reprocess all actors to use the new node chunks
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich 60fa18ec27 Added box expansion percentage to the (editor)actor components
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich d134deee1d Add bounding volume expansion to the actor instance
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich 1b002dcc82 Saving node chunk v2 and adapting the chunk processor and importer to it
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich 8190d61e18 Removed MCore::OBB
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich b335285e19 Removed OBB rendering helpers and color options (was already hidden from the UI)
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich aab8ab9706 Removed OBBs from Actor including the node infos
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich f9d5a4a93b Ported MCommon::RenderUtil
* Removed collision mesh based AABB rendering.
* Ported to AZ::Aabb
* Reduced the number of triangles used for rendering default spheres for joints to improve rendering times.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Esteban Papp dd3f0b86e0 Merge branch 'development' into cmake/SPEC-7484
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/ToolBox.cpp
4 years ago
Esteban Papp b33a4db332 Merge branch 'development' into cmake/SPEC-2513_w4267 4 years ago
Chris Burel 3a95243df5 Allow special characters in Actor node group names
Relying on the command system's string processing syntax prevents certain
names from being used. This converts the AdjustNodeGroup command to be
directly invokable, so that arguments can be passed directly, instead of
going through the CommandLine string parsing.

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 02c16a318e Prefer `unique_ptr` to a raw pointer for `CommandAdjustNodeGroup`'s members
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 9e6832c6a9 Remove `BaseObject` as a base class from `NodeGroup`
Nothing uses the use count that the `BaseObject` base class provides, so
there's no reason to keep it.

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 8730d5657f Allow special characters in AnimGraph node group names
Relying on the command system's string processing syntax prevents certain
names from being used. This converts the AnimGraphAdjustNodeGroup command
to be directly invokable, so that arguments can be passed directly, instead
of going through the CommandLine string parsing.

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Esteban Papp b9cfce8165 Gems/AtomLyIntegration
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Benjamin Jillich b840b24de2 Ported the actor and a few other places
* Fixed a bug with updating the static aabb for actors. It called that before the mesh was loaded resulting in an invalid aabb.
* Ported a few more places to AZ::Aabb from MCore::AABB

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich e651f25577 Ported the render plugin, render update callback and render widget
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich a1051b15ee Merge branch 'development' into jillich/EmfxAabbImprovements 4 years ago
Esteban Papp f665f572f3 Gems/Atom builds
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
lumberyard-employee-dm bb372f05cd
Fixed the emplace function implementations for stack and queue (#2657)
* Fixed the emplace function implementations for stack and queue

Cleaned up several functions in the stack, queue and priority_queue
classes that were non-standard or weren't needed.

Updated the "style" of the code to use more modern concepts: "typedef" ->
"using", empty constructor body -> default keyword.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Replaced the custom implementations of AZStd stack, (proirity)queue

Theses classes now have a template alias to the standard library version
of the classes

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
Benjamin Jillich cd25dbf71f Removed MCore::Quaternion AZ::Quaternion comparison tests
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich aa98be18b7 Removed leftover MCore::Quaternion usages and fixes some include issues
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich 5bb8a17d79 Removed MCore::Quaternion.h/.inl/.cpp files
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich e80931185b Ported RenderPlugin from MCore::AABB to AZ::AaBB
* Containing functionality verified.
* Zoom to joints
* Normals scale multiplier
* View closeup
* Calculating the scene aabb
* Rendering the actor instance aabbs
* Selection aabb

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich e9718d9ce8 Converted the EMFX Mesh to use AZ::Aabb instead of MCore::AABB
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich 416f9aecf7 Removed collision mesh aabb color from render option
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
pappeste 150f37cb6b EMotionFX
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Benjamin Jillich 96aa9fde06 Removed legacy loading automated tests and ported file format for anim graph for remaining automated tests
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich ff2649d0c8 Adapted loading calls to removed legacy file loading
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich abc501e535 Removed legacy file format loading for anim graphs and motion sets
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich c097d19215 Removed legacy chunk processors for anim graphs and motion sets together with unused shared data
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich a287b67b43 Removed ReadDataSize/ReadData() helpers for attributes
Used only by legacy binary file format

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich a3e90b878c Removed legacy anim graph node parsers and legacy file format chunks
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
sphrose 9639003a7d
LYN-4774 Fix missing box icons inside the main Viewport (#2297)
* LYN-4774 Fix missing box icons inside the main Viewport

Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>

* V2 icons

Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>

* Bug fixes

Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.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
Benjamin Jillich e85d6e9c4c
Fixing a crash for animated transforms having a bone as parent (#2255)
Signed-off-by: Benjamin Jillich <jillich@amazon.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
Esteban Papp 1f9b284de2 Merge branch 'development' into cmake/SPEC-7179
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/Plugins/ComponentEntityEditorPlugin/ComponentEntityEditorPlugin_precompiled.h
#	Code/Editor/Plugins/EditorCommon/EditorCommon_precompiled.h
#	Code/Editor/Plugins/EditorCommon/stdafx.cpp
#	Code/Editor/Plugins/FFMPEGPlugin/FFMPEGPlugin_precompiled.h
#	Code/Editor/Plugins/PerforcePlugin/PerforcePlugin_precompiled.h
#	Code/Editor/Plugins/ProjectSettingsTool/ProjectSettingsTool_precompiled.h
#	Code/Framework/AzToolsFramework/AzToolsFramework/AzToolsFramework_precompiled.h
#	Code/Tools/AssetProcessor/native/precompiled.h
#	Code/Tools/Standalone/StandaloneTools_precompiled.h
#	Gems/AssetMemoryAnalyzer/Code/Source/AssetMemoryAnalyzer_precompiled.h
#	Gems/Atom/Asset/ImageProcessingAtom/Code/Source/ImageProcessing_precompiled.h
#	Gems/Atom/RHI/DX12/Code/Source/RHI/Atom_RHI_DX12_precompiled.h
#	Gems/Atom/RHI/Metal/Code/Include/Platform/Mac/Atom_RHI_Metal_precompiled_Platform.h
#	Gems/Atom/RHI/Metal/Code/Include/Platform/iOS/Atom_RHI_Metal_precompiled_Platform.h
#	Gems/Atom/RHI/Metal/Code/Source/Atom_RHI_Metal_precompiled.h
#	Gems/Atom/RHI/Metal/Code/atom_rhi_metal_common_files.cmake
#	Gems/Atom/RHI/Null/Code/Source/Atom_RHI_Null_precompiled.h
#	Gems/Atom/RHI/Null/Code/atom_rhi_null_common_files.cmake
#	Gems/Atom/RHI/Vulkan/Code/Include/Platform/Android/Atom_RHI_Vulkan_precompiled_Platform.h
#	Gems/Atom/RHI/Vulkan/Code/Include/Platform/Linux/Atom_RHI_Vulkan_precompiled_Platform.h
#	Gems/Atom/RHI/Vulkan/Code/Include/Platform/Mac/Atom_RHI_Vulkan_precompiled_Platform.h
#	Gems/Atom/RHI/Vulkan/Code/Include/Platform/Windows/Atom_RHI_Vulkan_precompiled_Platform.h
#	Gems/Atom/RHI/Vulkan/Code/Source/Atom_RHI_Vulkan_precompiled.h
#	Gems/Atom/RHI/Vulkan/Code/Source/RHI/SwapChain.cpp
#	Gems/Atom/RHI/Vulkan/Code/atom_rhi_vulkan_common_files.cmake
#	Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomFont_precompiled.h
#	Gems/Blast/Code/Source/StdAfx.cpp
#	Gems/Camera/Code/Source/Camera_precompiled.h
#	Gems/EMotionFX/Code/Source/EMotionFX_precompiled.h
#	Gems/FastNoise/Code/Source/FastNoise_precompiled.h
#	Gems/Gestures/Code/Source/Gestures_precompiled.h
#	Gems/GradientSignal/Code/Source/GradientSignal_precompiled.h
#	Gems/GraphCanvas/Code/precompiled.h
#	Gems/ImGui/Code/Source/ImGui_precompiled.h
#	Gems/InAppPurchases/Code/Source/InAppPurchases_precompiled.h
#	Gems/LmbrCentral/Code/Source/LmbrCentral_precompiled.h
#	Gems/LmbrCentral/Code/Tests/ShapeGeometryUtilTest.cpp
#	Gems/LyShine/Code/Editor/UiCanvasEditor_precompiled.h
#	Gems/LyShine/Code/Source/Animation/LyShine_precompiled.h
#	Gems/LyShine/Code/Source/LyShine_precompiled.h
#	Gems/LyShineExamples/Code/Source/LyShineExamples_precompiled.h
#	Gems/Maestro/Code/Source/Cinematics/Maestro_precompiled.h
#	Gems/Maestro/Code/Source/Maestro_precompiled.h
#	Gems/MessagePopup/Code/Source/MessagePopup_precompiled.h
#	Gems/Metastream/Code/Source/Metastream_precompiled.h
#	Gems/Microphone/Code/Source/Microphone_precompiled.h
#	Gems/Multiplayer/Code/Source/Multiplayer_precompiled.h
#	Gems/PhysX/Code/NumericalMethods/Source/NumericalMethods_precompiled.h
#	Gems/PhysX/Code/Source/PhysXUnsupported_precompiled.h
#	Gems/PhysX/Code/Source/PhysX_precompiled.h
#	Gems/PhysX/Code/physx_unsupported_files.cmake
#	Gems/PhysXDebug/Code/Source/PhysXDebugUnsupported_precompiled.h
#	Gems/PhysXDebug/Code/Source/PhysXDebug_precompiled.h
#	Gems/ScriptCanvas/Code/Editor/precompiled.h
#	Gems/ScriptCanvas/Code/Source/precompiled.h
#	Gems/ScriptCanvasDeveloper/Code/Source/precompiled.h
#	Gems/ScriptCanvasPhysics/Code/Source/ScriptCanvasPhysics_precompiled.h
#	Gems/ScriptEvents/Code/Source/precompiled.h
#	Gems/ScriptEvents/Code/Tests/Editor/EditorTests.cpp
#	Gems/ScriptedEntityTweener/Code/Source/ScriptedEntityTweener_precompiled.h
#	Gems/SliceFavorites/Code/Source/SliceFavorites_precompiled.h
#	Gems/StartingPointCamera/Code/Source/StartingPointCamera_precompiled.h
#	Gems/StartingPointInput/Code/Source/StartingPointInput_precompiled.h
#	Gems/StartingPointMovement/Code/Source/StartingPointMovement_precompiled.h
#	Gems/SurfaceData/Code/Source/SurfaceData_precompiled.h
#	Gems/TextureAtlas/Code/Source/TextureAtlas_precompiled.h
#	Gems/TickBusOrderViewer/Code/Source/TickBusOrderViewer_precompiled.h
#	Gems/Twitch/Code/Source/Twitch_precompiled.h
#	Gems/VirtualGamepad/Code/Source/VirtualGamepad_precompiled.h
#	Gems/WhiteBox/Code/Source/WhiteBoxUnsupported_precompiled.h
#	Gems/WhiteBox/Code/Source/WhiteBox_precompiled.h
5 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>
5 years ago
Benjamin Jillich c1ebbbc176
EMotion FX: Root bone not initialized without opening Scene Settings #2088 (#2231)
User provided model was exporting correctly with an .assetinfo while it was not when just placing the .fbx file in the project folder.
Turned out that the best matching root bone was set by opening the Scene Settings for the first time, so after saving it again it worked correctly.
We're now chosing the best matching root bone when initializing the actor group, which fixes the issue.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
5 years ago
Benjamin Jillich d16b810075
Transform node animations ignored (#2160)
* Fixing user asset issue having a transform node as root rather than a bone making the whole character not animate.
* Enabled the ability to export animations for transform nodes.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
5 years ago
Esteban Papp 074518454c Merge branch 'development' into cmake/SPEC-7179 5 years ago
Benjamin Jillich 3ea3d7a436
Data integrity issue, keyframe times need to be ascending (#2130)
* User provided animation resulted in a data integrity error.
* The first track had 0.66 as max time while another had a keyframe more resulting in 0.69.
* When updating the duration before fixing up the last keyframe for each of the tracks, the duration was returned early with 0.66 while there were other tracks having a keyframe more.
* We're now crawling through all tracks to determine the maximum duration.
* This results in a correct fixup of the last frame.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
5 years ago
Esteban Papp 316eb65c2c Gems/EMotionFX
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
5 years ago
Chris Galvan 3b1873b045 Merged stabilization/2106 -> development (resolved merge conflicts).
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Chris Galvan cb069d68f0 Removed min/max settings that were just using the float min/max since these are the default.
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Chris Galvan 86c9c04c37 Fixed EMFX nodes min/max attributes.
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Chris Burel 80bdd4e17b
Clang compile fixes (#1876)
* Fix compile error from -Wwritable-strings

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

* Fix flags used to build MaskedOcclusionCulling with clang

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

* Fix class that has a final destructor, but the class itself was not final

Signed-off-by: Chris Burel <burelc@amazon.com>
5 years ago
Chris Galvan d7574777a8 Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@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 4c4be73bd5
First pass FBX -> Scene File conversion. (#1699)
This is the simple pass, minimizing code changes and focused on comments.

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
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
Terry Michaels 149863c527
Removed Amazon as Company for QSettings (#1649)
* Removed Amazon as Company for QSettings

Signed-off-by: Terry Michaels <miterenc@amazon.com>
5 years ago
Roman e1f6d45b04
Defer the render plugin reinit to main thread (#1626)
Fix a problem with reloading actor in emfx studio crashes the editor 
Signed-off-by: rhhong <rhhong@amazon.com>
5 years ago
Gene Walters 4e14c0069b Merge branch 'upstream/stabilization/2106' into genewalt/gitflow_210628 5 years ago
Tommy Walton 5656736db4
Fix for LYN-3726 : Actor Draw Character Doesn't Work (#1336)
-Re-purposed an unused boolean in RPI::Cullable for previous frame's visiblity to instead represent objects that are hidden in the simulation.
-Updated MeshFeatureProcessor::SetVisible to set this value on the cullable.
-Updated the MeshComponent to handle visiblity changes by not rendering the mesh instead of deactivating and/or reactivating the component.
-Updated the AtomActorInstance to handle changes to the visibility from the ActorComponent.

Tested by creating two entities with static mesh components, on entity hidden and the other visible. Plus three entities with actor components, one where the actor is visible, one where the entity is visible but the 'render character' setting on the actor component is disabled, and one where the 'render character' setting is enabled, but the entity is not visible.

For each of these 5 entities, I added them as 5 loose entities, 5 entities that were children to a parent entity, and a slice with all 5 as children to a parent entity, and tested toggling visibility of the parent entities.

For each of these 3 sets of 5 entities, I added them directly to the level, added them all to a layer where the layer was visible, and added them all to a layer where the layer was not visible, and tested toggling the visibility of the layers.
5 years ago
Terry Michaels 21ebff5709
Updated help search and all docs.o3de.org links to o3de.org (#1594) 5 years ago
Benjamin Jillich a3d314d059 [LYN-4727] Adapting the motion group exporter and the save commands to the motion meta data changes 5 years ago
Benjamin Jillich 44c813824e [LYN-4727] Memory management improvements and clear ownership for motion meta data 5 years ago
Benjamin Jillich a462df2991 [LYN-4727] Version converter for motion group that ports XML serialized object-based commands to Json event data 5 years ago
Benjamin Jillich bf0816fb69
[LYN-4574] [LYN-4603] [LYN-4669] Saving motions and actors to json-based .assetinfo files in the Animation Editor fails (#1509)
* Fixes saving motions from within the Animation Editor
* Fixes saving actors from within the Animation Editor
* The motion event chunk of the .motion file format now also stores the event data as json (rather than XML) reducing motion file sizes (Example: 60KB motion went down to 49KB, containing only 4 motion events from 2 tracks).
* Fully backward compatible
* New motion meta data rule stores the event data directly rather than command strings or objects. This is the way that aligns with the Json paradigm and as side-effect bypasses the optionals that we use for the commands which fixes the issue.

* [LYN-4574] Adding new motion event meta data rule that stores the event data directly rather than via commands to align with the Json paradigm
* [LYN-4574] Preparing motion, event table and event track for Json serialization
* [LYN-4574] New chunk to store motion event data in Json format (fully backward compatible to XML)
* [LYN-4669] Json: Empty AZStd::vector<AZStd::shared_ptr<T>> serializes into 1x element with nullptr as data
* [LYN-4603] EMotion FX: Cannot save actors with physics or simulated object setup in Json format
5 years ago
Benjamin Jillich 0ad6346e8b
[LYN-4718] [Forums]: [Bug] Editor crashes consistently when EmotionFX is open and Play Game is used (#1552) 5 years ago
Roman 865ff176a9
[bugfix] Any FBX create both a model and actor by default
* [bugfix] Any FBX create both a model and actor by default
5 years ago
Terry Michaels 1e457928f5
Update help URLs and remove unneeded links (#1520) 5 years ago
Steve Pham 70042fcdcd
O3DE Copyright Updates for Linux Foundation (#1504) 5 years ago
mbalfour df648db62e Merge branch 'stabilization/2106' into mbalfour/gitflow_210622
# Conflicts:
#	Code/Framework/AzQtComponents/AzQtComponents/Components/Style.cpp
#	Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h
#	Gems/AWSCore/Code/Source/Editor/UI/AWSCoreEditorMenu.cpp
5 years ago
Chris Burel cbeafe29d3
Avoid serializing `size_t` in EMotionFX code (#1423)
`size_t` is a typedef that is sized differently on different platforms.
Instead, use `AZ::u64`, which is large enough to hold all platforms'
`size_t` types but is a fixed size, to avoid size mismatches per
platform.
5 years ago
nvsickle e55580af57 Merge remote-tracking branch 'upstream/stabilization/2106' into nvsickle/MergeStabilizationJun18 5 years ago
amzn-sean 9f62d631fb
Physics joints updated to the new API (#1361)
Co-authored-by: Ulugbek Adilbekov <ulugbek@amazon.com>
5 years ago
Benjamin Jillich 2cfa1de148
[LYN-3117] Adding a skeletal mesh to a project doesn't include an Actor by default (#1303)
* Before we were skipping actors in case there was animation data present in the source asset to avoid having many duplicated actors.
* There was an issue though for simple test fbx files containing a full character with a test motion.
* The new rule is that we will be exporting actors on default whenever there is a skeleton including either skinning data or morph targets, as these usually are not included for animation assets to not increase disk space heavily.
* Tested with several of our assets and always showed the expected behavior with the new way.
5 years ago
mnaumov 9ca0e731f4 Merge remote-tracking branch 'upstream/stabilization/2106' into mnaumov/StabilizationJun15
# Conflicts:
#	Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp
5 years ago
Benjamin Jillich 74e922a401
Compile fix in the editor actor component for release build (#1327) 5 years ago
yuriy0 e22d21f4b6
Expose Actor bounding box configurations to component serialize and edit contexts. (#491)
* Expose Actor bounding box configurations to component serialize and edit contexts.

Allows one, for example, to have an animation which moves the character far away from the static bounds, and not have that character dissapear when the static bounds are outside of the camera frustum

* Apply suggestions from code review

* Bug fix: name the parameter, place comments in the intended place.
5 years ago
Benjamin Jillich 59f3813b10
[LYN-3481] EMotionFX crashes when reloading an Actor (#1184) (#1217)
* [LYN-3481] Added new actor instance request and notification buses
* [LYN-3481] Actor instance notifies bus about it being created or destroyed
* [LYN-3481] Selection lists are now automatically removing destroyed actor instances
* [LYN-3481] Morph targets window plugin reinitializing when used actor instance got destroyed
* [LYN-3481] Removing the OnDeleteActorInstance() from the emfx event handler/manager and porting the recorder to the new actor instance bus
* [LYN-3481] Removed the create actor instance calls from the event handler/manager
* [LYN-3481] Fixing automated tests
5 years ago
hultonha 2d41a701af Merge branch 'stabilization/2106' into tomhh_stabilization-to-development 5 years ago
Terry Michaels 91fb8be535
Added toolbar icons, updated viewport header UX (#1240) 5 years ago
chcurran d1a5fb651b Fixes for reflection code that hides itself frm Script explicitly but NOT from ScriptCanvas 5 years ago
Esteban Papp 68ffdd6714
SPEC-2513 Fixes to enable w4324 (#1197)
* Fix warning 4324

* warning that doesnt trigger anything

* missed warning
5 years ago
Benjamin Jillich eac0e42dc6
[LYN-3481] EMotionFX crashes when reloading an Actor (#1184)
* [LYN-3481] Added new actor instance request and notification buses

* [LYN-3481] Actor instance notifies bus about it being created or destroyed

* [LYN-3481] Selection lists are now automatically removing destroyed actor instances

* [LYN-3481] Morph targets window plugin reinitializing when used actor instance got destroyed

* [LYN-3481] Removing the OnDeleteActorInstance() from the emfx event handler/manager and porting the recorder to the new actor instance bus

* [LYN-3481] Removed the create actor instance calls from the event handler/manager

* [LYN-3481] Fixing automated tests
5 years ago
Benjamin Jillich 863aac2cb9
[LYN-3727] Actor Draw Bounds Draw Bounds & [LYN-3725] Actor Draw Skeleton Doesn't Draw Skeleton (#1168)
* [LYN-3727] Actor Draw Bounds Draw Bounds & [LYN-3725] Actor Draw Skeleton Doesn't Draw Skeleton

* Added skeleton, aabb and emfx debug drawing to the actor component.
* Aux geom rendering is flickering as also reported in the Discord channels. Trick with using the scene notification bus did not work as the actor instance is not bound to a given scene as far as I am aware.
5 years ago
Benjamin Jillich 4e79e6004c
[LYN-3845] On the Actor component, click on the Animation Editor button, EMFX isn't opening (#1169)
We're opening the Animation Editor now also in case no actor has been chosen yet. In this case the Animation Editor will also just be started without loading any assets.
5 years ago
Esteban Papp 36cb0f6d40
SPEC-7178 Removal of precompiled cpp files (#1171)
* SPEC-7178  Removal of precompiled cpp files

* Missing files...
5 years ago
Chris Burel c751cda73d
Fix for variable that is only used in the debug config (#1166) 5 years ago
Esteban Papp 76a6df341b
SPEC-2513 Fixes to enable w4457 5 years ago
rhongAMZ fe98c34f50
EMFX - Refactor the emfx actor asset loading. (#1101)
Refactor emfx asset loading. The mesh asset, skinMetaAsset and morphTargetMeta asset are part of the dependency.
5 years ago
Esteban Papp 29c71b4e53
SPEC-2513 Fixes to enable w4701 (#1105)
* Some fixes

* more fixes

* fixes for debug
5 years ago
Benjamin Jillich 0f699cfd47
[LYN-4157] EMotionFX: Adding/removing colliders to/from ragdoll and saving the actor crashes the Editor (#1055)
The actor dirty flag was set to true even after saving the asset info which resulted in the save dirty files dialog to appear providing the user to save the actor another time, just after saving it which is confusing. This might have led to rendering an already deleted actor and the crash. Though, I was not able to stably reproduce the issue and can't reproduce it anymore after this fix.
5 years ago
Chris Burel 71013c3835
Rename tests that reference issue numbers to have descriptive names (#913)
This also enables one such test that was named after an issue tracker
id, that was disabled because of an already resolved issue.
5 years ago
Aaron Ruiz Mora 00e860f326
Physics material system for spectra launch
- Invalidate 'Physics Materials From Mesh' boolean from collider component
- Removed material library from material selector. Default material library will always be used instead.
- Marking failing automated test as xfail
- Added default material to physics configuration.
- Moved material library asset from physx configuration to physics configuration, as it doesn't need to be physx specific.
- Refactor physics material system having into account that there is only one material library in the project.
- Renaming code from DefaultMaterialLibrary to MaterialLibrary.
- All queries about physics materials unified under PhysicsMaterialRequests bus.
- PhysXSystem only manages the material library asset.
- Saving and reloading the same physics material asset with different content didn't trigger a events that the material library has changed.
- Changing Physics Material Request interface to use shared_ptr instead of weak_ptr to be simpler to handle the returned materials and having a more consistent code.
- Refactored Material Manager to improve its implementation. Still following the same approach of "creating materials on the fly as they are requested", but now it's doing it consistently across the interface, with private helpers functions FindOrCreateMaterial that simplify vastly the implementation.
- Material Manager now listens to change event of material library asset and default material configuration so it updates its materials accordingly.
- Complete Material move constructor and operator.
5 years ago
pappeste 01933f45b1 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/gem.json
5 years ago