Merge branch 'main' into ATOM/tonypeng/ATOM-14947

This commit is contained in:
Peng
2021-04-27 11:10:17 -07:00
50 changed files with 1489 additions and 4360 deletions
@@ -15,9 +15,9 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from ActorSplitsAfterDamage import Tests
def run():
from ActorSplitsAfterDamage import run as internal_run
from editor_python_test_tools.utils import Constants
def ActorSplitsAfterCapsuleDamage():
from ActorSplitsAfterDamage import base_run as internal_run
from BlastUtils import Constants
def CapsuleDamage(target_id, position0):
position1 = azlmbr.object.construct('Vector3', position0.x + 1.0, position0.y, position0.z)
@@ -30,4 +30,8 @@ def run():
if __name__ == "__main__":
run()
import ImportPathHelper as imports
imports.init()
from editor_python_test_tools.utils import Report
Report.start_test(ActorSplitsAfterCapsuleDamage)
@@ -22,7 +22,7 @@ class Tests():
# fmt: on
def run():
def ActorSplitsAfterCollision():
"""
Summary:
@@ -60,8 +60,8 @@ def run():
import azlmbr.legacy.general as general
import azlmbr.bus
from editor_python_test_tools.utils import CollisionHandler
from editor_python_test_tools.utils import BlastNotificationHandler
from BlastUtils import CollisionHandler
from BlastUtils import BlastNotificationHandler
# Constants
TIMEOUT = 2.0
@@ -107,4 +107,8 @@ def run():
if __name__ == "__main__":
run()
import ImportPathHelper as imports
imports.init()
from editor_python_test_tools.utils import Report
Report.start_test(ActorSplitsAfterCollision)
@@ -20,7 +20,7 @@ class Tests():
# fmt: on
def run(damage_func):
def base_run(damage_func):
"""
Summary:
@@ -56,7 +56,7 @@ def run(damage_func):
import azlmbr.legacy.general as general
import azlmbr.bus
from editor_python_test_tools.utils import BlastNotificationHandler
from BlastUtils import BlastNotificationHandler
# Constants
TIMEOUT = 2.0
@@ -15,9 +15,9 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from ActorSplitsAfterDamage import Tests
def run():
from ActorSplitsAfterDamage import run as internal_run
from editor_python_test_tools.utils import Constants
def ActorSplitsAfterImpactSpreadDamage():
from ActorSplitsAfterDamage import base_run as internal_run
from BlastUtils import Constants
def ImpactSpreadDamage(target_id, position):
azlmbr.destruction.BlastFamilyDamageRequestBus(azlmbr.bus.Event, "Impact Spread Damage", target_id,
@@ -28,4 +28,8 @@ def run():
if __name__ == "__main__":
run()
import ImportPathHelper as imports
imports.init()
from editor_python_test_tools.utils import Report
Report.start_test(ActorSplitsAfterImpactSpreadDamage)
@@ -15,9 +15,9 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from ActorSplitsAfterDamage import Tests
def run():
from ActorSplitsAfterDamage import run as internal_run
from editor_python_test_tools.utils import Constants
def ActorSplitsAfterRadialDamage():
from ActorSplitsAfterDamage import base_run as internal_run
from BlastUtils import Constants
def RadialDamage(target_id, position):
azlmbr.destruction.BlastFamilyDamageRequestBus(azlmbr.bus.Event, "Radial Damage", target_id,
@@ -28,4 +28,8 @@ def run():
if __name__ == "__main__":
run()
import ImportPathHelper as imports
imports.init()
from editor_python_test_tools.utils import Report
Report.start_test(ActorSplitsAfterRadialDamage)
@@ -15,9 +15,9 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from ActorSplitsAfterDamage import Tests
def run():
from ActorSplitsAfterDamage import run as internal_run
from editor_python_test_tools.utils import Constants
def ActorSplitsAfterShearDamage():
from ActorSplitsAfterDamage import base_run as internal_run
from BlastUtils import Constants
def ShearDamage(target_id, position):
normal = azlmbr.object.construct('Vector3', 1.0, 0.0, 0.0)
@@ -29,4 +29,8 @@ def run():
if __name__ == "__main__":
run()
import ImportPathHelper as imports
imports.init()
from editor_python_test_tools.utils import Report
Report.start_test(ActorSplitsAfterShearDamage)
@@ -15,9 +15,9 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from ActorSplitsAfterDamage import Tests
def run():
from ActorSplitsAfterDamage import run as internal_run
from editor_python_test_tools.utils import Constants
def ActorSplitsAfterStressDamage():
from ActorSplitsAfterDamage import base_run as internal_run
from BlastUtils import Constants
def StressDamage(target_id, position):
force = azlmbr.object.construct('Vector3', 0.0, 0.0, -100.0) # Should be enough to break `brittle` objects
@@ -28,4 +28,8 @@ def run():
if __name__ == "__main__":
run()
import ImportPathHelper as imports
imports.init()
from editor_python_test_tools.utils import Report
Report.start_test(ActorSplitsAfterStressDamage)
@@ -15,9 +15,9 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from ActorSplitsAfterDamage import Tests
def run():
from ActorSplitsAfterDamage import run as internal_run
from editor_python_test_tools.utils import Constants
def ActorSplitsAfterTriangleDamage():
from ActorSplitsAfterDamage import base_run as internal_run
from BlastUtils import Constants
def TriangleDamage(target_id, position):
# Some points that form a triangle that contains the given position
@@ -32,4 +32,8 @@ def run():
if __name__ == "__main__":
run()
import ImportPathHelper as imports
imports.init()
from editor_python_test_tools.utils import Report
Report.start_test(ActorSplitsAfterTriangleDamage)
@@ -170,7 +170,7 @@ endif()
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
ly_add_pytest(
NAME AutomatedTesting::BlastTests
TEST_SUITE periodic
TEST_SUITE main
TEST_SERIAL TRUE
PATH ${CMAKE_CURRENT_LIST_DIR}/Blast/TestSuite_Active.py
TIMEOUT 3600
@@ -178,6 +178,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
Legacy::Editor
AZ::AssetProcessor
AutomatedTesting.Assets
COMPONENT Blast
)
endif()
@@ -7,25 +7,10 @@ distribution (the "License"). All use of this software is governed by the Licens
or, if provided, by the license below or the license accompanying this file. Do not
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Hydra script that creates an entity and attaches Atom components to it for test verification.
"""
# This module does a bulk test and update of many components at once.
# Each test case is listed below in the format:
# "Test Case ID: Test Case Title (URL)"
# C32078130: Tone Mapper (https://testrail.agscollab.com/index.php?/cases/view/32078130)
# C32078129: Light (https://testrail.agscollab.com/index.php?/cases/view/32078129)
# C32078131: Radius Weight Modifier (https://testrail.agscollab.com/index.php?/cases/view/32078131)
# C32078127: PostFX Layer (https://testrail.agscollab.com/index.php?/cases/view/32078127)
# C32078126: Point Light (https://testrail.agscollab.com/index.php?/cases/view/32078126)
# C32078125: Physical Sky (https://testrail.agscollab.com/index.php?/cases/view/32078125)
# C32078115: Global Skylight (IBL) (https://testrail.agscollab.com/index.php?/cases/view/32078115)
# C32078121: Exposure Control (https://testrail.agscollab.com/index.php?/cases/view/32078121)
# C32078120: Directional Light (https://testrail.agscollab.com/index.php?/cases/view/32078120)
# C32078119: DepthOfField (https://testrail.agscollab.com/index.php?/cases/view/32078119)
# C32078118: Decal (https://testrail.agscollab.com/index.php?/cases/view/32078118)
# C32078117: Area Light (https://testrail.agscollab.com/index.php?/cases/view/32078117)
import os
import sys
@@ -41,10 +26,6 @@ sys.path.append(os.path.join(azlmbr.paths.devroot, "AutomatedTesting", "Gem", "P
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import TestHelper
from editor_python_test_tools.editor_test_helper import EditorTestHelper
EditorTestHelper = EditorTestHelper(log_prefix="AtomEditorComponents")
def run():
@@ -151,28 +132,6 @@ def run():
# Wait for Editor idle loop before executing Python hydra scripts.
TestHelper.init_idle()
# Create a new level.
new_level_name = "tmp_level" # Specified in TestAllComponentsBasicTests.py
heightmap_resolution = 512
heightmap_meters_per_pixel = 1
terrain_texture_resolution = 412
use_terrain = False
# Return codes are ECreateLevelResult defined in CryEdit.h
return_code = general.create_level_no_prompt(
new_level_name, heightmap_resolution, heightmap_meters_per_pixel, terrain_texture_resolution, use_terrain)
if return_code == 1:
general.log(f"{new_level_name} level already exists")
elif return_code == 2:
general.log("Failed to create directory")
elif return_code == 3:
general.log("Directory length is too long")
elif return_code != 0:
general.log("Unknown error, failed to create level")
else:
general.log(f"{new_level_name} level created successfully")
EditorTestHelper.after_level_load(bypass_viewport_resize=True)
# Delete all existing entities initially
search_filter = azlmbr.entity.SearchFilter()
all_entities = entity.SearchBus(azlmbr.bus.Broadcast, "SearchEntities", search_filter)
@@ -209,7 +168,7 @@ def run():
entity_obj, ["Capsule Shape"], area_light))
# Decal Component
material_asset_path = os.path.join("Materials", "decal", "aiirship_nose_number_decal.material")
material_asset_path = os.path.join("Materials", "basic_grey.material")
material_asset = asset.AssetCatalogRequestBus(
bus.Broadcast, "GetAssetIdByPath", material_asset_path, math.Uuid(), False)
ComponentTests(
@@ -263,9 +222,12 @@ def run():
# Radius Weight Modifier Component
ComponentTests("Radius Weight Modifier")
# Spot Light Component
# Light Component
ComponentTests("Light")
# Display Mapper Component
ComponentTests("Display Mapper")
if __name__ == "__main__":
run()
@@ -13,32 +13,207 @@ import logging
import os
import pytest
import ly_test_tools.environment.file_system as file_system
import editor_python_test_tools.hydra_test_utils as hydra
logger = logging.getLogger(__name__)
EDITOR_TIMEOUT = 60
EDITOR_TIMEOUT = 120
TEST_DIRECTORY = os.path.join(os.path.dirname(__file__), "atom_hydra_scripts")
@pytest.mark.parametrize("project", ["AutomatedTesting"])
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
@pytest.mark.parametrize("level", ["tmp_level"])
@pytest.mark.parametrize("level", ["auto_test"])
class TestAtomEditorComponents(object):
@pytest.fixture(autouse=True)
def setup_teardown(self, request, workspace, project, level):
# Cleanup our temp level
file_system.delete(
[os.path.join(workspace.paths.engine_root(), project, "Levels", "AtomLevels", level)], True, True)
def teardown():
# Cleanup our temp level
file_system.delete(
[os.path.join(workspace.paths.engine_root(), project, "Levels", "AtomLevels", level)], True, True)
request.addfinalizer(teardown)
@pytest.mark.test_case_id(
"C32078117", # Area Light
"C32078130", # Display Mapper
"C32078129", # Light
"C32078131", # Radius Weight Modifier
"C32078127", # PostFX Layer
"C32078126", # Point Light
"C32078125", # Physical Sky
"C32078115", # Global Skylight (IBL)
"C32078121", # Exposure Control
"C32078120", # Directional Light
"C32078119", # DepthOfField
"C32078118") # Decal
def test_AtomEditorComponents_AddedToEntity(self, request, editor, level, workspace, project, launcher_platform):
cfg_args = [level]
# It requires at least one test
def test_Dummy(self, request, editor, level, workspace, project, launcher_platform):
pass
expected_lines = [
# Area Light Component
"Area Light Entity successfully created",
"Area Light_test: Component added to the entity: True",
"Area Light_test: Component removed after UNDO: True",
"Area Light_test: Component added after REDO: True",
"Area Light_test: Entered game mode: True",
"Area Light_test: Entity enabled after adding required components: True",
"Area Light_test: Entity is hidden: True",
"Area Light_test: Entity is shown: True",
"Area Light_test: Entity deleted: True",
"Area Light_test: UNDO entity deletion works: True",
"Area Light_test: REDO entity deletion works: True",
# Decal Component
"Decal Entity successfully created",
"Decal_test: Component added to the entity: True",
"Decal_test: Component removed after UNDO: True",
"Decal_test: Component added after REDO: True",
"Decal_test: Entered game mode: True",
"Decal_test: Exit game mode: True",
"Decal Settings|Decal Settings|Material: SUCCESS",
"Decal_test: Entity is hidden: True",
"Decal_test: Entity is shown: True",
"Decal_test: Entity deleted: True",
"Decal_test: UNDO entity deletion works: True",
"Decal_test: REDO entity deletion works: True",
# DepthOfField Component
"DepthOfField Entity successfully created",
"DepthOfField_test: Component added to the entity: True",
"DepthOfField_test: Component removed after UNDO: True",
"DepthOfField_test: Component added after REDO: True",
"DepthOfField_test: Entered game mode: True",
"DepthOfField_test: Exit game mode: True",
"DepthOfField_test: Entity disabled initially: True",
"DepthOfField_test: Entity enabled after adding required components: True",
"DepthOfField Controller|Configuration|Camera Entity: SUCCESS",
"DepthOfField_test: Entity is hidden: True",
"DepthOfField_test: Entity is shown: True",
"DepthOfField_test: Entity deleted: True",
"DepthOfField_test: UNDO entity deletion works: True",
"DepthOfField_test: REDO entity deletion works: True",
# Directional Light Component
"Directional Light Entity successfully created",
"Directional Light_test: Component added to the entity: True",
"Directional Light_test: Component removed after UNDO: True",
"Directional Light_test: Component added after REDO: True",
"Directional Light_test: Entered game mode: True",
"Directional Light_test: Exit game mode: True",
"Directional Light Controller|Configuration|Shadow|Camera: SUCCESS",
"Directional Light_test: Entity is hidden: True",
"Directional Light_test: Entity is shown: True",
"Directional Light_test: Entity deleted: True",
"Directional Light_test: UNDO entity deletion works: True",
"Directional Light_test: REDO entity deletion works: True",
# Exposure Control Component
"Exposure Control Entity successfully created",
"Exposure Control_test: Component added to the entity: True",
"Exposure Control_test: Component removed after UNDO: True",
"Exposure Control_test: Component added after REDO: True",
"Exposure Control_test: Entered game mode: True",
"Exposure Control_test: Exit game mode: True",
"Exposure Control_test: Entity disabled initially: True",
"Exposure Control_test: Entity enabled after adding required components: True",
"Exposure Control_test: Entity is hidden: True",
"Exposure Control_test: Entity is shown: True",
"Exposure Control_test: Entity deleted: True",
"Exposure Control_test: UNDO entity deletion works: True",
"Exposure Control_test: REDO entity deletion works: True",
# Global Skylight (IBL) Component
"Global Skylight (IBL) Entity successfully created",
"Global Skylight (IBL)_test: Component added to the entity: True",
"Global Skylight (IBL)_test: Component removed after UNDO: True",
"Global Skylight (IBL)_test: Component added after REDO: True",
"Global Skylight (IBL)_test: Entered game mode: True",
"Global Skylight (IBL)_test: Exit game mode: True",
"Global Skylight (IBL) Controller|Configuration|Diffuse Image: SUCCESS",
"Global Skylight (IBL) Controller|Configuration|Specular Image: SUCCESS",
"Global Skylight (IBL)_test: Entity is hidden: True",
"Global Skylight (IBL)_test: Entity is shown: True",
"Global Skylight (IBL)_test: Entity deleted: True",
"Global Skylight (IBL)_test: UNDO entity deletion works: True",
"Global Skylight (IBL)_test: REDO entity deletion works: True",
# Physical Sky Component
"Physical Sky Entity successfully created",
"Physical Sky component was added to entity",
"Entity has a Physical Sky component",
"Physical Sky_test: Component added to the entity: True",
"Physical Sky_test: Component removed after UNDO: True",
"Physical Sky_test: Component added after REDO: True",
"Physical Sky_test: Entered game mode: True",
"Physical Sky_test: Exit game mode: True",
"Physical Sky_test: Entity is hidden: True",
"Physical Sky_test: Entity is shown: True",
"Physical Sky_test: Entity deleted: True",
"Physical Sky_test: UNDO entity deletion works: True",
"Physical Sky_test: REDO entity deletion works: True",
# Point Light Component
"Point Light Entity successfully created",
"Point Light_test: Component added to the entity: True",
"Point Light_test: Component removed after UNDO: True",
"Point Light_test: Component added after REDO: True",
"Point Light_test: Entered game mode: True",
"Point Light_test: Exit game mode: True",
"Point Light_test: Entity is hidden: True",
"Point Light_test: Entity is shown: True",
"Point Light_test: Entity deleted: True",
"Point Light_test: UNDO entity deletion works: True",
"Point Light_test: REDO entity deletion works: True",
# PostFX Layer Component
"PostFX Layer Entity successfully created",
"PostFX Layer_test: Component added to the entity: True",
"PostFX Layer_test: Component removed after UNDO: True",
"PostFX Layer_test: Component added after REDO: True",
"PostFX Layer_test: Entered game mode: True",
"PostFX Layer_test: Exit game mode: True",
"PostFX Layer_test: Entity is hidden: True",
"PostFX Layer_test: Entity is shown: True",
"PostFX Layer_test: Entity deleted: True",
"PostFX Layer_test: UNDO entity deletion works: True",
"PostFX Layer_test: REDO entity deletion works: True",
# Radius Weight Modifier Component
"Radius Weight Modifier Entity successfully created",
"Radius Weight Modifier_test: Component added to the entity: True",
"Radius Weight Modifier_test: Component removed after UNDO: True",
"Radius Weight Modifier_test: Component added after REDO: True",
"Radius Weight Modifier_test: Entered game mode: True",
"Radius Weight Modifier_test: Exit game mode: True",
"Radius Weight Modifier_test: Entity is hidden: True",
"Radius Weight Modifier_test: Entity is shown: True",
"Radius Weight Modifier_test: Entity deleted: True",
"Radius Weight Modifier_test: UNDO entity deletion works: True",
"Radius Weight Modifier_test: REDO entity deletion works: True",
# Light Component
"Light Entity successfully created",
"Light_test: Component added to the entity: True",
"Light_test: Component removed after UNDO: True",
"Light_test: Component added after REDO: True",
"Light_test: Entered game mode: True",
"Light_test: Exit game mode: True",
"Light_test: Entity is hidden: True",
"Light_test: Entity is shown: True",
"Light_test: Entity deleted: True",
"Light_test: UNDO entity deletion works: True",
"Light_test: REDO entity deletion works: True",
# Display Mapper Component
"Display Mapper Entity successfully created",
"Display Mapper_test: Component added to the entity: True",
"Display Mapper_test: Component removed after UNDO: True",
"Display Mapper_test: Component added after REDO: True",
"Display Mapper_test: Entered game mode: True",
"Display Mapper_test: Exit game mode: True",
"Display Mapper_test: Entity is hidden: True",
"Display Mapper_test: Entity is shown: True",
"Display Mapper_test: Entity deleted: True",
"Display Mapper_test: UNDO entity deletion works: True",
"Display Mapper_test: REDO entity deletion works: True",
]
unexpected_lines = [
"failed to open",
"Traceback (most recent call last):",
]
hydra.launch_and_validate_results(
request,
TEST_DIRECTORY,
editor,
"hydra_AtomEditorComponents_AddedToEntity.py",
timeout=EDITOR_TIMEOUT,
expected_lines=expected_lines,
unexpected_lines=unexpected_lines,
halt_on_unexpected=True,
null_renderer=True,
cfg_args=cfg_args,
)
@@ -9,211 +9,14 @@ remove or modify any license notices. This file is distributed on an "AS IS" BAS
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
"""
import logging
import os
import pytest
import ly_test_tools.environment.file_system as file_system
import editor_python_test_tools.hydra_test_utils as hydra
logger = logging.getLogger(__name__)
EDITOR_TIMEOUT = 60
TEST_DIRECTORY = os.path.join(os.path.dirname(__file__), "atom_hydra_scripts")
@pytest.mark.parametrize("project", ["AutomatedTesting"])
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
@pytest.mark.parametrize("level", ["tmp_level"])
@pytest.mark.parametrize("level", ["auto_test"])
class TestAtomEditorComponents(object):
@pytest.fixture(autouse=True)
def setup_teardown(self, request, workspace, project, level):
# Cleanup our temp level
file_system.delete(
[os.path.join(workspace.paths.engine_root(), project, "Levels", "AtomLevels", level)], True, True)
def teardown():
# Cleanup our temp level
file_system.delete(
[os.path.join(workspace.paths.engine_root(), project, "Levels", "AtomLevels", level)], True, True)
request.addfinalizer(teardown)
@pytest.mark.test_case_id(
"C32078130", # Tone Mapper
"C32078129", # Light
"C32078131", # Radius Weight Modifier
"C32078127", # PostFX Layer
"C32078126", # Point Light
"C32078125", # Physical Sky
"C32078115", # Global Skylight (IBL)
"C32078121", # Exposure Control
"C32078120", # Directional Light
"C32078119", # DepthOfField
"C32078118") # Decal
def test_AtomEditorComponents_AddedToEntity(self, request, editor, level, workspace, project, launcher_platform):
cfg_args = [level]
expected_lines = [
# Area Light Component
"Area Light Entity successfully created",
"Area Light_test: Component added to the entity: True",
"Area Light_test: Component removed after UNDO: True",
"Area Light_test: Component added after REDO: True",
"Area Light_test: Entered game mode: True",
"Area Light_test: Entity enabled after adding required components: True",
"Area Light_test: Entity is hidden: True",
"Area Light_test: Entity is shown: True",
"Area Light_test: Entity deleted: True",
"Area Light_test: UNDO entity deletion works: True",
"Area Light_test: REDO entity deletion works: True",
# Decal Component
"Decal Entity successfully created",
"Decal_test: Component added to the entity: True",
"Decal_test: Component removed after UNDO: True",
"Decal_test: Component added after REDO: True",
"Decal_test: Entered game mode: True",
"Decal_test: Exit game mode: True",
"Decal Settings|Decal Settings|Material: SUCCESS",
"Decal_test: Entity is hidden: True",
"Decal_test: Entity is shown: True",
"Decal_test: Entity deleted: True",
"Decal_test: UNDO entity deletion works: True",
"Decal_test: REDO entity deletion works: True",
# DepthOfField Component
"DepthOfField Entity successfully created",
"DepthOfField_test: Component added to the entity: True",
"DepthOfField_test: Component removed after UNDO: True",
"DepthOfField_test: Component added after REDO: True",
"DepthOfField_test: Entered game mode: True",
"DepthOfField_test: Exit game mode: True",
"DepthOfField_test: Entity disabled initially: True",
"DepthOfField_test: Entity enabled after adding required components: True",
"DepthOfField Controller|Configuration|Camera Entity: SUCCESS",
"DepthOfField_test: Entity is hidden: True",
"DepthOfField_test: Entity is shown: True",
"DepthOfField_test: Entity deleted: True",
"DepthOfField_test: UNDO entity deletion works: True",
"DepthOfField_test: REDO entity deletion works: True",
# Directional Light Component
"Directional Light Entity successfully created",
"Directional Light_test: Component added to the entity: True",
"Directional Light_test: Component removed after UNDO: True",
"Directional Light_test: Component added after REDO: True",
"Directional Light_test: Entered game mode: True",
"Directional Light_test: Exit game mode: True",
"Directional Light Controller|Configuration|Shadow|Camera: SUCCESS",
"Directional Light_test: Entity is hidden: True",
"Directional Light_test: Entity is shown: True",
"Directional Light_test: Entity deleted: True",
"Directional Light_test: UNDO entity deletion works: True",
"Directional Light_test: REDO entity deletion works: True",
# Exposure Control Component
"Exposure Control Entity successfully created",
"Exposure Control_test: Component added to the entity: True",
"Exposure Control_test: Component removed after UNDO: True",
"Exposure Control_test: Component added after REDO: True",
"Exposure Control_test: Entered game mode: True",
"Exposure Control_test: Exit game mode: True",
"Exposure Control_test: Entity disabled initially: True",
"Exposure Control_test: Entity enabled after adding required components: True",
"Exposure Control_test: Entity is hidden: True",
"Exposure Control_test: Entity is shown: True",
"Exposure Control_test: Entity deleted: True",
"Exposure Control_test: UNDO entity deletion works: True",
"Exposure Control_test: REDO entity deletion works: True",
# Global Skylight (IBL) Component
"Global Skylight (IBL) Entity successfully created",
"Global Skylight (IBL)_test: Component added to the entity: True",
"Global Skylight (IBL)_test: Component removed after UNDO: True",
"Global Skylight (IBL)_test: Component added after REDO: True",
"Global Skylight (IBL)_test: Entered game mode: True",
"Global Skylight (IBL)_test: Exit game mode: True",
"Global Skylight (IBL) Controller|Configuration|Diffuse Image: SUCCESS",
"Global Skylight (IBL) Controller|Configuration|Specular Image: SUCCESS",
"Global Skylight (IBL)_test: Entity is hidden: True",
"Global Skylight (IBL)_test: Entity is shown: True",
"Global Skylight (IBL)_test: Entity deleted: True",
"Global Skylight (IBL)_test: UNDO entity deletion works: True",
"Global Skylight (IBL)_test: REDO entity deletion works: True",
# Physical Sky Component
"Physical Sky Entity successfully created",
"Physical Sky component was added to entity",
"Entity has a Physical Sky component",
"Physical Sky_test: Component added to the entity: True",
"Physical Sky_test: Component removed after UNDO: True",
"Physical Sky_test: Component added after REDO: True",
"Physical Sky_test: Entered game mode: True",
"Physical Sky_test: Exit game mode: True",
"Physical Sky_test: Entity is hidden: True",
"Physical Sky_test: Entity is shown: True",
"Physical Sky_test: Entity deleted: True",
"Physical Sky_test: UNDO entity deletion works: True",
"Physical Sky_test: REDO entity deletion works: True",
# Point Light Component
"Point Light Entity successfully created",
"Point Light_test: Component added to the entity: True",
"Point Light_test: Component removed after UNDO: True",
"Point Light_test: Component added after REDO: True",
"Point Light_test: Entered game mode: True",
"Point Light_test: Exit game mode: True",
"Point Light_test: Entity is hidden: True",
"Point Light_test: Entity is shown: True",
"Point Light_test: Entity deleted: True",
"Point Light_test: UNDO entity deletion works: True",
"Point Light_test: REDO entity deletion works: True",
# PostFX Layer Component
"PostFX Layer Entity successfully created",
"PostFX Layer_test: Component added to the entity: True",
"PostFX Layer_test: Component removed after UNDO: True",
"PostFX Layer_test: Component added after REDO: True",
"PostFX Layer_test: Entered game mode: True",
"PostFX Layer_test: Exit game mode: True",
"PostFX Layer_test: Entity is hidden: True",
"PostFX Layer_test: Entity is shown: True",
"PostFX Layer_test: Entity deleted: True",
"PostFX Layer_test: UNDO entity deletion works: True",
"PostFX Layer_test: REDO entity deletion works: True",
# Radius Weight Modifier Component
"Radius Weight Modifier Entity successfully created",
"Radius Weight Modifier_test: Component added to the entity: True",
"Radius Weight Modifier_test: Component removed after UNDO: True",
"Radius Weight Modifier_test: Component added after REDO: True",
"Radius Weight Modifier_test: Entered game mode: True",
"Radius Weight Modifier_test: Exit game mode: True",
"Radius Weight Modifier_test: Entity is hidden: True",
"Radius Weight Modifier_test: Entity is shown: True",
"Radius Weight Modifier_test: Entity deleted: True",
"Radius Weight Modifier_test: UNDO entity deletion works: True",
"Radius Weight Modifier_test: REDO entity deletion works: True",
# Light Component
"Light Entity successfully created",
"Light_test: Component added to the entity: True",
"Light_test: Component removed after UNDO: True",
"Light_test: Component added after REDO: True",
"Light_test: Entered game mode: True",
"Light_test: Exit game mode: True",
"Light_test: Entity is hidden: True",
"Light_test: Entity is shown: True",
"Light_test: Entity deleted: True",
"Light_test: UNDO entity deletion works: True",
"Light_test: REDO entity deletion works: True",
]
unexpected_lines = [
"failed to open",
"Traceback (most recent call last):",
]
hydra.launch_and_validate_results(
request,
TEST_DIRECTORY,
editor,
"hydra_AtomEditorComponents_AddedToEntity.py",
timeout=EDITOR_TIMEOUT,
expected_lines=expected_lines,
unexpected_lines=unexpected_lines,
halt_on_unexpected=True,
null_renderer=True,
cfg_args=cfg_args,
)
# It requires at least one test
def test_Dummy(self, request, editor, level, workspace, project, launcher_platform):
pass
@@ -63,7 +63,7 @@ AZ_POP_DISABLE_WARNING
#include <UI/PropertyEditor/Model/AssetCompleterModel.h>
#include <UI/PropertyEditor/View/AssetCompleterListView.h>
#include <UI/PropertyEditor/ThumbnailDropDown.h>
#include <UI/PropertyEditor/ThumbnailPropertyCtrl.h>
namespace AzToolsFramework
{
@@ -93,15 +93,11 @@ namespace AzToolsFramework
setAcceptDrops(true);
m_thumbnail = new Thumbnailer::ThumbnailWidget(this);
m_thumbnail->setFixedSize(QSize(24, 24));
m_thumbnail = new ThumbnailPropertyCtrl(this);
m_thumbnail->setFixedSize(QSize(40, 24));
m_thumbnail->setVisible(false);
m_thumbnailDropDown = new ThumbnailDropDown(this);
m_thumbnailDropDown->setFixedSize(QSize(40, 24));
m_thumbnailDropDown->setVisible(false);
connect(m_thumbnailDropDown, &ThumbnailDropDown::clicked, this, &PropertyAssetCtrl::OnEditButtonClicked);
connect(m_thumbnail, &ThumbnailPropertyCtrl::clicked, this, &PropertyAssetCtrl::OnThumbnailClicked);
m_editButton = new QToolButton(this);
m_editButton->setAutoRaise(true);
@@ -112,7 +108,6 @@ namespace AzToolsFramework
connect(m_editButton, &QToolButton::clicked, this, &PropertyAssetCtrl::OnEditButtonClicked);
pLayout->addWidget(m_thumbnail);
pLayout->addWidget(m_thumbnailDropDown);
pLayout->addWidget(m_browseEdit);
pLayout->addWidget(m_editButton);
@@ -188,6 +183,17 @@ namespace AzToolsFramework
}
}
void PropertyAssetCtrl::OnThumbnailClicked()
{
const AZ::Data::AssetId assetID = GetCurrentAssetID();
if (m_thumbnailCallback)
{
AZ_Error("Asset Property", m_editNotifyTarget, "No notification target set for edit callback.");
m_thumbnailCallback->Invoke(m_editNotifyTarget, assetID, GetCurrentAssetType());
return;
}
}
void PropertyAssetCtrl::OnCompletionModelReset()
{
if (!m_completerIsActive)
@@ -1091,10 +1097,10 @@ namespace AzToolsFramework
void PropertyAssetCtrl::UpdateThumbnail()
{
m_thumbnail->setVisible(m_showThumbnail);
m_thumbnailDropDown->setVisible(m_showThumbnailDropDown);
if (m_showThumbnail || m_showThumbnailDropDown)
if (m_showThumbnail)
{
m_thumbnail->ShowDropDownArrow(m_showThumbnailDropDownButton);
const AZ::Data::AssetId assetID = GetCurrentAssetID();
if (assetID.IsValid())
{
@@ -1112,17 +1118,12 @@ namespace AzToolsFramework
{
m_thumbnail->SetThumbnailKey(thumbnailKey, Thumbnailer::ThumbnailContext::DefaultContext);
}
if (m_showThumbnailDropDown)
{
m_thumbnailDropDown->SetThumbnailKey(thumbnailKey, Thumbnailer::ThumbnailContext::DefaultContext);
}
return;
}
}
}
m_thumbnail->ClearThumbnail();
m_thumbnailDropDown->ClearThumbnail();
}
void PropertyAssetCtrl::SetClearButtonEnabled(bool enable)
@@ -1156,14 +1157,19 @@ namespace AzToolsFramework
return m_showThumbnail;
}
void PropertyAssetCtrl::SetShowThumbnailDropDown(bool enable)
void PropertyAssetCtrl::SetShowThumbnailDropDownButton(bool enable)
{
m_showThumbnailDropDown = enable;
m_showThumbnailDropDownButton = enable;
}
bool PropertyAssetCtrl::GetShowThumbnailDropDown() const
bool PropertyAssetCtrl::GetShowThumbnailDropDownButton() const
{
return m_showThumbnailDropDown;
return m_showThumbnailDropDownButton;
}
void PropertyAssetCtrl::SetThumbnailCallback(EditCallbackType* editNotifyCallback)
{
m_thumbnailCallback = editNotifyCallback;
}
const AZ::Uuid& AssetPropertyHandlerDefault::GetHandledType() const
@@ -1277,23 +1283,21 @@ namespace AzToolsFramework
}
else if (attrib == AZ_CRC_CE("Thumbnail"))
{
bool showThumbnail = false;
if (attrValue->Read<bool>(showThumbnail))
{
GUI->SetShowThumbnail(showThumbnail);
}
GUI->SetShowThumbnail(true);
}
else if (attrib == AZ_CRC_CE("ThumbnailWithDropDown"))
else if (attrib == AZ_CRC_CE("ThumbnailCallback"))
{
PropertyAssetCtrl::EditCallbackType* func = azdynamic_cast<PropertyAssetCtrl::EditCallbackType*>(attrValue->GetAttribute());
if (func)
{
GUI->SetShowThumbnailDropDown(true);
GUI->SetEditNotifyCallback(func);
GUI->SetShowThumbnail(true);
GUI->SetShowThumbnailDropDownButton(true);
GUI->SetThumbnailCallback(func);
}
else
{
GUI->SetEditNotifyCallback(nullptr);
GUI->SetShowThumbnailDropDownButton(false);
GUI->SetThumbnailCallback(nullptr);
}
}
}
@@ -45,7 +45,7 @@ namespace AzToolsFramework
{
class AssetCompleterModel;
class AssetCompleterListView;
class ThumbnailDropDown;
class ThumbnailPropertyCtrl;
namespace Thumbnailer
{
@@ -95,8 +95,7 @@ namespace AzToolsFramework
void OnAssetIDChanged(AZ::Data::AssetId newAssetID);
protected:
ThumbnailDropDown* m_thumbnailDropDown = nullptr;
Thumbnailer::ThumbnailWidget* m_thumbnail = nullptr;
ThumbnailPropertyCtrl* m_thumbnail = nullptr;
QPushButton* m_errorButton = nullptr;
QToolButton* m_editButton = nullptr;
@@ -157,8 +156,8 @@ namespace AzToolsFramework
bool m_showProductAssetName = true;
bool m_showThumbnail = false;
bool m_showThumbnailDropDown = false;
bool m_showThumbnailDropDownButton = false;
EditCallbackType* m_thumbnailCallback = nullptr;
// ! Default suffix used in the field's placeholder text when a default value is set.
const char* m_DefaultSuffix = " (default)";
@@ -209,8 +208,9 @@ namespace AzToolsFramework
void SetShowThumbnail(bool enable);
bool GetShowThumbnail() const;
void SetShowThumbnailDropDown(bool enable);
bool GetShowThumbnailDropDown() const;
void SetShowThumbnailDropDownButton(bool enable);
bool GetShowThumbnailDropDownButton() const;
void SetThumbnailCallback(EditCallbackType* editNotifyCallback);
void SetSelectedAssetID(const AZ::Data::AssetId& newID);
void SetCurrentAssetType(const AZ::Data::AssetType& newType);
@@ -222,6 +222,7 @@ namespace AzToolsFramework
void UpdateAssetDisplay();
void OnLineEditFocus(bool focus);
virtual void OnEditButtonClicked();
void OnThumbnailClicked();
void OnCompletionModelReset();
void OnAutocomplete(const QModelIndex& index);
void OnTextChange(const QString& text);
@@ -19,12 +19,14 @@ AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // 4251: 'QRawFon
#include <QPainter>
#include <UI/UICore/AspectRatioAwarePixmapWidget.hxx>
#include <Thumbnails/ThumbnailWidget.h>
#include <QApplication>
AZ_POP_DISABLE_WARNING
#include "ThumbnailDropDown.h"
#include "ThumbnailPropertyCtrl.h"
namespace AzToolsFramework
{
ThumbnailDropDown::ThumbnailDropDown(QWidget* parent)
ThumbnailPropertyCtrl::ThumbnailPropertyCtrl(QWidget* parent)
: QWidget(parent)
{
QHBoxLayout* pLayout = new QHBoxLayout();
@@ -37,6 +39,7 @@ namespace AzToolsFramework
m_dropDownArrow = new AspectRatioAwarePixmapWidget(this);
m_dropDownArrow->setPixmap(QPixmap(":/stylesheet/img/triangle0.png"));
m_dropDownArrow->setFixedSize(QSize(8, 24));
ShowDropDownArrow(false);
m_emptyThumbnail = new QLabel(this);
m_emptyThumbnail->setPixmap(QPixmap(":/stylesheet/img/line.png"));
@@ -51,19 +54,33 @@ namespace AzToolsFramework
setLayout(pLayout);
}
void ThumbnailDropDown::SetThumbnailKey(Thumbnailer::SharedThumbnailKey key, const char* contextName)
void ThumbnailPropertyCtrl::SetThumbnailKey(Thumbnailer::SharedThumbnailKey key, const char* contextName)
{
m_key = key;
m_emptyThumbnail->setVisible(false);
m_thumbnail->SetThumbnailKey(key, contextName);
}
void ThumbnailDropDown::ClearThumbnail()
void ThumbnailPropertyCtrl::ClearThumbnail()
{
m_emptyThumbnail->setVisible(true);
m_thumbnail->ClearThumbnail();
}
bool ThumbnailDropDown::event(QEvent* e)
void ThumbnailPropertyCtrl::ShowDropDownArrow(bool visible)
{
if (visible)
{
setFixedSize(QSize(40, 24));
}
else
{
setFixedSize(QSize(24, 24));
}
m_dropDownArrow->setVisible(visible);
}
bool ThumbnailPropertyCtrl::event(QEvent* e)
{
if (isEnabled())
{
@@ -77,7 +94,7 @@ namespace AzToolsFramework
return QWidget::event(e);
}
void ThumbnailDropDown::paintEvent(QPaintEvent* e)
void ThumbnailPropertyCtrl::paintEvent(QPaintEvent* e)
{
QPainter p(this);
QRect targetRect(QPoint(), QSize(40, 24));
@@ -85,17 +102,32 @@ namespace AzToolsFramework
QWidget::paintEvent(e);
}
void ThumbnailDropDown::enterEvent(QEvent* e)
void ThumbnailPropertyCtrl::enterEvent(QEvent* e)
{
m_dropDownArrow->setPixmap(QPixmap(":/stylesheet/img/triangle0_highlighted.png"));
if (!m_thumbnailEnlarged && m_key)
{
QPoint position = mapToGlobal(pos() - QPoint(185, 0));
QSize size(180, 180);
m_thumbnailEnlarged.reset(new Thumbnailer::ThumbnailWidget());
m_thumbnailEnlarged->setFixedSize(size);
m_thumbnailEnlarged->move(position);
m_thumbnailEnlarged->setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
m_thumbnailEnlarged->SetThumbnailKey(m_key);
m_thumbnailEnlarged->show();
}
QWidget::enterEvent(e);
}
void ThumbnailDropDown::leaveEvent(QEvent* e)
void ThumbnailPropertyCtrl::leaveEvent(QEvent* e)
{
m_dropDownArrow->setPixmap(QPixmap(":/stylesheet/img/triangle0.png"));
if (m_thumbnailEnlarged)
{
m_thumbnailEnlarged.reset();
}
QWidget::leaveEvent(e);
}
}
#include "UI/PropertyEditor/moc_ThumbnailDropDown.cpp"
#include "UI/PropertyEditor/moc_ThumbnailPropertyCtrl.cpp"
@@ -30,17 +30,20 @@ namespace AzToolsFramework
class ThumbnailWidget;
}
class ThumbnailDropDown : public QWidget
//! Used by PropertyAssetCtrl to display thumbnail preview of the asset as well as additional drop-down actions
class ThumbnailPropertyCtrl : public QWidget
{
Q_OBJECT
public:
explicit ThumbnailDropDown(QWidget* parent = nullptr);
explicit ThumbnailPropertyCtrl(QWidget* parent = nullptr);
//! Call this to set what thumbnail widget will display
void SetThumbnailKey(Thumbnailer::SharedThumbnailKey key, const char* contextName = "Default");
//! Remove current thumbnail
void ClearThumbnail();
void ShowDropDownArrow(bool visible);
bool event(QEvent* e) override;
Q_SIGNALS:
@@ -52,7 +55,9 @@ namespace AzToolsFramework
void leaveEvent(QEvent* e) override;
private:
Thumbnailer::SharedThumbnailKey m_key;
Thumbnailer::ThumbnailWidget* m_thumbnail = nullptr;
QScopedPointer<Thumbnailer::ThumbnailWidget> m_thumbnailEnlarged;
QLabel* m_emptyThumbnail = nullptr;
AspectRatioAwarePixmapWidget* m_dropDownArrow = nullptr;
};
@@ -417,8 +417,8 @@ set(FILES
UI/PropertyEditor/GrowTextEdit.cpp
UI/PropertyEditor/MultiLineTextEditHandler.h
UI/PropertyEditor/MultiLineTextEditHandler.cpp
UI/PropertyEditor/ThumbnailDropDown.h
UI/PropertyEditor/ThumbnailDropDown.cpp
UI/PropertyEditor/ThumbnailPropertyCtrl.h
UI/PropertyEditor/ThumbnailPropertyCtrl.cpp
UI/Slice/SlicePushWidget.cpp
UI/Slice/SlicePushWidget.hxx
UI/Slice/SliceOverridesNotificationWindow.cpp
@@ -98,7 +98,7 @@ namespace AZ
->Attribute(AZ::Edit::Attributes::DefaultAsset, &EditorMaterialComponentSlot::GetDefaultAssetId)
->Attribute(AZ::Edit::Attributes::NameLabelOverride, &EditorMaterialComponentSlot::GetLabel)
->Attribute(AZ::Edit::Attributes::ShowProductAssetFileName, true)
->Attribute("ThumbnailWithDropDown", &EditorMaterialComponentSlot::OpenPopupMenu)
->Attribute("ThumbnailCallback", &EditorMaterialComponentSlot::OpenPopupMenu)
;
}
}
@@ -39,7 +39,6 @@
#include "Rendering/LightComponent.h"
#include "Rendering/HighQualityShadowComponent.h"
#include "Rendering/MeshComponent.h"
#include "Rendering/FogVolumeComponent.h"
#include "Rendering/GeomCacheComponent.h"
#include "Ai/NavigationComponent.h"
#include "Scripting/TagComponent.h"
@@ -241,7 +240,6 @@ namespace LmbrCentral
StereoRendererComponent::CreateDescriptor(),
NavigationSystemComponent::CreateDescriptor(),
GeometrySystemComponent::CreateDescriptor(),
FogVolumeComponent::CreateDescriptor(),
RandomTimedSpawnerComponent::CreateDescriptor(),
GeometryCacheComponent::CreateDescriptor(),
SphereShapeDebugDisplayComponent::CreateDescriptor(),
@@ -34,7 +34,6 @@
#include "Rendering/EditorEnvProbeComponent.h"
#include "Rendering/EditorHighQualityShadowComponent.h"
#include "Rendering/EditorMeshComponent.h"
#include "Rendering/EditorFogVolumeComponent.h"
#include "Rendering/EditorGeomCacheComponent.h"
#include "Scripting/EditorLookAtComponent.h"
#include "Scripting/EditorRandomTimedSpawnerComponent.h"
@@ -104,7 +103,6 @@ namespace LmbrCentral
EditorCommentComponent::CreateDescriptor(),
EditorNavigationAreaComponent::CreateDescriptor(),
EditorNavigationSeedComponent::CreateDescriptor(),
EditorFogVolumeComponent::CreateDescriptor(),
EditorRandomTimedSpawnerComponent::CreateDescriptor(),
EditorGeometryCacheComponent::CreateDescriptor(),
EditorSpawnerComponent::CreateDescriptor(),
@@ -1,353 +0,0 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#include "LmbrCentral_precompiled.h"
#include <AzCore/RTTI/BehaviorContext.h>
#include <AzCore/Serialization/EditContext.h>
#include <AzCore/Component/TransformBus.h>
#include <LmbrCentral/Shape/BoxShapeComponentBus.h>
#include <IEntityRenderState.h>
#include "EditorFogVolumeComponent.h"
namespace LmbrCentral
{
void EditorFogVolumeComponent::Activate()
{
Base::Activate();
const auto entityId = GetEntityId();
m_configuration.SetEntityId(entityId);
m_configuration.UpdateSizeFromEntityShape();
m_fogVolume.SetEntityId(entityId);
m_fogVolume.CreateFogVolumeRenderNode(m_configuration);
RefreshFog();
RenderNodeRequestBus::Handler::BusConnect(entityId);
FogVolumeComponentRequestBus::Handler::BusConnect(entityId);
ShapeComponentNotificationsBus::Handler::BusConnect(entityId);
AZ::TransformNotificationBus::Handler::BusConnect(entityId);
AzToolsFramework::EditorEvents::Bus::Handler::BusConnect();
}
void EditorFogVolumeComponent::Deactivate()
{
Base::Deactivate();
m_fogVolume.DestroyRenderNode();
m_fogVolume.SetEntityId(AZ::EntityId());
m_configuration.SetEntityId(AZ::EntityId());
AzToolsFramework::EditorEvents::Bus::Handler::BusDisconnect();
AZ::TransformNotificationBus::Handler::BusDisconnect();
ShapeComponentNotificationsBus::Handler::BusDisconnect();
FogVolumeComponentRequestBus::Handler::BusDisconnect();
RenderNodeRequestBus::Handler::BusDisconnect();
}
void EditorFogVolumeComponent::Reflect(AZ::ReflectContext* context)
{
AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(context);
EditorFogVolumeConfiguration::Reflect(context);
if (serializeContext)
{
serializeContext->Class<EditorFogVolumeComponent, EditorComponentBase>()
->Version(1)
->Field("FogVolumeConfiguration", &EditorFogVolumeComponent::m_configuration);
if (AZ::EditContext* editContext = serializeContext->GetEditContext())
{
editContext->Class<EditorFogVolumeComponent>(
"Fog Volume", "Allows to specify an area with a fog")
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
->Attribute(AZ::Edit::Attributes::Category, "Environment")
->Attribute(AZ::Edit::Attributes::Icon, "Editor/Icons/Components/FogVolume.svg")
->Attribute(AZ::Edit::Attributes::ViewportIcon, "Editor/Icons/Components/Viewport/FogVolume.png")
->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c))
->Attribute(AZ::Edit::Attributes::HelpPageURL, "http://docs.aws.amazon.com/console/lumberyard/userguide/fog-volume-component")
->Attribute(AZ::Edit::Attributes::AutoExpand, false)
->DataElement(0, &EditorFogVolumeComponent::m_configuration, "Settings", "Fog configuration")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
;
}
}
if (AZ::BehaviorContext* behaviorContext = azrtti_cast<AZ::BehaviorContext*>(context))
{
behaviorContext->Class<EditorFogVolumeComponent>()->RequestBus("EditorFogVolumeComponentRequestBus");
FogVolumeComponent::ExposeRequestsBusInBehaviorContext(behaviorContext, "EditorFogVolumeComponentRequestBus");
}
}
IRenderNode* EditorFogVolumeComponent::GetRenderNode()
{
return m_fogVolume.GetRenderNode();
}
float EditorFogVolumeComponent::GetRenderNodeRequestBusOrder() const
{
return FogVolumeComponent::s_renderNodeRequestBusOrder;
}
void EditorFogVolumeComponent::RefreshFog()
{
m_fogVolume.UpdateFogVolumeProperties(m_configuration);
m_fogVolume.UpdateRenderingFlags(m_configuration);
m_fogVolume.UpdateFogVolumeTransform();
}
void EditorFogVolumeComponent::OnTransformChanged([[maybe_unused]] const AZ::Transform& local, [[maybe_unused]] const AZ::Transform& world)
{
// Entities transform component calls OnTransformChanged before this component is activated
// This only happens during undo operations so we guard against that in the Editor component
if (m_fogVolume.GetRenderNode())
{
RefreshFog();
}
}
void EditorFogVolumeComponent::OnShapeChanged(ShapeComponentNotifications::ShapeChangeReasons changeReason)
{
if (changeReason == ShapeComponentNotifications::ShapeChangeReasons::ShapeChanged)
{
m_configuration.UpdateSizeFromEntityShape();
RefreshFog();
}
}
void EditorFogVolumeComponent::OnEditorSpecChange()
{
RefreshFog();
}
void EditorFogVolumeComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required)
{
return FogVolumeComponent::GetRequiredServices(required);
}
void EditorFogVolumeComponent::BuildGameEntity(AZ::Entity* gameEntity)
{
FogVolumeComponent* fogComponent = gameEntity->CreateComponent<FogVolumeComponent>();
if (fogComponent)
{
fogComponent->SetConfiguration(m_configuration);
}
}
void EditorFogVolumeConfiguration::Reflect(AZ::ReflectContext * context)
{
if (AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
{
serializeContext->Class<EditorFogVolumeConfiguration, FogVolumeConfiguration>()->
Version(1);
if (AZ::EditContext* editContext = serializeContext->GetEditContext())
{
editContext->Class<FogVolumeConfiguration>("Configuration", "Fog Volume configuration")
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
->DataElement(AZ::Edit::UIHandlers::ComboBox, &FogVolumeConfiguration::m_volumeType,
"Volume type", "Shape of the fog")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->EnumAttribute(FogVolumeType::RectangularPrism, "Cuboid")
->EnumAttribute(FogVolumeType::Ellipsoid, "Ellipsoid")
->DataElement(AZ::Edit::UIHandlers::Color, &FogVolumeConfiguration::m_color,
"Color", "Fog color")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->DataElement(AZ::Edit::UIHandlers::CheckBox, &FogVolumeConfiguration::m_useGlobalFogColor,
"Use global fog color", "If true, the Color property is ignored. Instead, the current global fog color is used")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_globalDensity,
"Fog Density", "Controls the density of the fog. The higher the value the more dense the fog and the less you'll be able to see objects behind or inside the fog volume")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.01f)
->Attribute(AZ::Edit::Attributes::Max, 1000.0f)
->Attribute(AZ::Edit::Attributes::Step, 1.0f)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_densityOffset,
"Density offset", "Offset fog density, used in conjunction with the GlobalDensity parameter")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, -1000.0f)
->Attribute(AZ::Edit::Attributes::Max, 1000.0f)
->Attribute(AZ::Edit::Attributes::Step, 1.0f)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_nearCutoff,
"Near cutoff", "Stop rendering the object, depending on camera distance to object")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 2.0f)
->Attribute(AZ::Edit::Attributes::Step, 0.1f)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_softEdges,
"Soft edges", "Specifies a factor that is used to soften the edges of the fog volume when viewed from outside")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 1.0f)
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_windInfluence,
"Wind influence (Volumetric Fog only)", "Controls the influence of the wind (Volumetric Fog only)")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 20.0f)
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
->ClassElement(AZ::Edit::ClassElements::Group, "Rendering General")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->DataElement(AZ::Edit::UIHandlers::CheckBox, &FogVolumeConfiguration::m_ignoresVisAreas,
"Ignore vis. areas", "Controls whether this entity should respond to visareas")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->DataElement(AZ::Edit::UIHandlers::CheckBox, &FogVolumeConfiguration::m_affectsThisAreaOnly,
"Affect this area only", "Set this parameter to false to make this entity affect in multiple visareas")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->DataElement(0, &FogVolumeConfiguration::m_viewDistMultiplier,
"View distance multiplier", "Adjusts max view distance. If 1.0 then default is used. 1.1 would be 10% further than default.")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Suffix, "x")
->Attribute(AZ::Edit::Attributes::Min, 0.f)
->DataElement(AZ::Edit::UIHandlers::ComboBox, &FogVolumeConfiguration::m_minSpec,
"Minimum spec", "Min spec for the fog to be active.")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->EnumAttribute(EngineSpec::Never, "Never")
->EnumAttribute(EngineSpec::VeryHigh, "Very high")
->EnumAttribute(EngineSpec::High, "High")
->EnumAttribute(EngineSpec::Medium, "Medium")
->EnumAttribute(EngineSpec::Low, "Low")
->ClassElement(AZ::Edit::ClassElements::Group, "")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_hdrDynamic,
"HDR Dynamic (Non-Volumetric Fog)", "Specifies how much brighter than the default 255,255,255 white the fog is (Non-Volumetric Fog only)")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 20.0f)
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
->ClassElement(AZ::Edit::ClassElements::Group, "Fall Off Settings")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_fallOffDirLong,
"Longitude", "Controls the longitude of the world space fall off direction of the fog. 0 represents East, rotation is counter-clockwise")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 360.0f)
->Attribute(AZ::Edit::Attributes::Step, 1.0f)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_fallOffDirLatitude,
"Latitude", "Controls the latitude of the world space fall off direction of the fog. 90 lets the fall off direction point upwards in world space")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 360.0f)
->Attribute(AZ::Edit::Attributes::Step, 1.0f)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_fallOffShift,
"Shift", "Controls how much to shift the fog density distribution along the fall off direction in world units")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, -50.0f)
->Attribute(AZ::Edit::Attributes::Max, 50.0f)
->Attribute(AZ::Edit::Attributes::Step, 0.1f)
->Attribute(AZ::Edit::Attributes::Suffix, "m")
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_fallOffScale,
"Scale", "Scales the density distribution along the fall off direction. Higher values will make the fog fall off more rapidly and generate thicker fog layers along the negative fall off direction")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, -50.0f)
->Attribute(AZ::Edit::Attributes::Max, 50.0f)
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
->ClassElement(AZ::Edit::ClassElements::Group, "Ramp (Volumetric Fog only)")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_rampStart,
"Start", "Specifies the start distance of fog density ramp in world units")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 30000.0f)
->Attribute(AZ::Edit::Attributes::Step, 1.0f)
->Attribute(AZ::Edit::Attributes::Suffix, "m")
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_rampEnd,
"End", "Specifies the end distance of fog density ramp in world units")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 30000.0f)
->Attribute(AZ::Edit::Attributes::Step, 1.0f)
->Attribute(AZ::Edit::Attributes::Suffix, "m")
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_rampInfluence,
"Influence", "Controls the influence of fog density ramp")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 1.0f)
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
->ClassElement(AZ::Edit::ClassElements::Group, "Density Noise (Volumetric Fog only)")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_densityNoiseScale,
"Scale", "Scales the noise for the density")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 10.0f)
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_densityNoiseOffset,
"Offset", "Offsets the noise for the density")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, -2.0f)
->Attribute(AZ::Edit::Attributes::Max, 2.0f)
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
->DataElement(AZ::Edit::UIHandlers::Slider, &FogVolumeConfiguration::m_densityNoiseTimeFrequency,
"Time frequency", "Controls the time frequency of the noise for the density")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 1.0f)
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
->DataElement(AZ::Edit::UIHandlers::Default, &FogVolumeConfiguration::m_densityNoiseFrequency,
"Spatial frequency", "Controls the spatial frequency of the noise for the density")
->Attribute(AZ::Edit::Attributes::ChangeNotify, &FogVolumeConfiguration::PropertyChanged)
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
->Attribute(AZ::Edit::Attributes::Max, 10000.0f)
;
}
}
}
AZ::Crc32 EditorFogVolumeConfiguration::PropertyChanged()
{
if (m_entityId.IsValid())
{
FogVolumeComponentRequestBus::Event(m_entityId, &FogVolumeComponentRequestBus::Events::RefreshFog);
}
return AZ::Edit::PropertyRefreshLevels::None;
}
}
@@ -1,93 +0,0 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#pragma once
#include <AzCore/base.h>
#include <AzCore/Component/Component.h>
#include <AzCore/Component/ComponentBus.h>
#include <AzToolsFramework/ToolsComponents/EditorComponentBase.h>
#include <AzToolsFramework/API/ToolsApplicationAPI.h>
#include <LmbrCentral/Rendering/RenderNodeBus.h>
#include <LmbrCentral/Shape/ShapeComponentBus.h>
#include "FogVolumeComponent.h"
#include "FogVolumeRequestsHandler.h"
namespace LmbrCentral
{
class EditorFogVolumeConfiguration
: public FogVolumeConfiguration
{
public:
AZ_TYPE_INFO(EditorFogVolumeConfiguration, "{9D431EA0-92F9-4A00-96C6-28B189A6EE56}");
static void Reflect(AZ::ReflectContext* context);
AZ::Crc32 PropertyChanged() override;
};
/**
* In-editor fog volume component.
*/
class EditorFogVolumeComponent
: public AzToolsFramework::Components::EditorComponentBase
, private RenderNodeRequestBus::Handler
, private FogVolumeComponentRequestsBusHandler
, private AZ::TransformNotificationBus::Handler
, private ShapeComponentNotificationsBus::Handler
, private AzToolsFramework::EditorEvents::Bus::Handler
{
private:
using Base = AzToolsFramework::Components::EditorComponentBase;
public:
AZ_EDITOR_COMPONENT(EditorFogVolumeComponent, "{8CA5AB61-96D8-482F-B07C-DAD72ED73646}");
~EditorFogVolumeComponent() override = default;
// AZ::Component interface implementation
void Activate() override;
void Deactivate() override;
static void Reflect(AZ::ReflectContext* context);
// RenderNodeRequestBus::Handler
IRenderNode* GetRenderNode() override;
float GetRenderNodeRequestBusOrder() const override;
// FogVolumeComponentRequestBus::Handler
void RefreshFog() override;
// TransformNotificationBus::Handler
void OnTransformChanged(const AZ::Transform& local, const AZ::Transform& world) override;
// ShapeComponentNotificationsBus::Handler
void OnShapeChanged(ShapeComponentNotifications::ShapeChangeReasons changeReason) override;
// AzToolsFramework::EditorEvents::Handler
void OnEditorSpecChange() override;
static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required);
void BuildGameEntity(AZ::Entity* gameEntity) override;
protected:
FogVolumeConfiguration& GetConfiguration() override
{
return m_configuration;
}
private:
EditorFogVolumeConfiguration m_configuration;
FogVolume m_fogVolume;
};
}
@@ -1,179 +0,0 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#include "LmbrCentral_precompiled.h"
#include <AzCore/Serialization/SerializeContext.h>
#include <LmbrCentral/Shape/BoxShapeComponentBus.h>
#include <MathConversion.h>
#include <I3DEngine.h>
#include "FogVolumeCommon.h"
#include "FogVolumeComponent.h"
#include <AzCore/Component/TransformBus.h>
namespace LmbrCentral
{
FogVolume::FogVolume()
: m_fogRenderNode(nullptr)
{
}
FogVolume::~FogVolume()
{
DestroyRenderNode();
}
void FogVolume::CreateFogVolumeRenderNode(const FogVolumeConfiguration& fogVolumeConfig)
{
AZ_Assert(m_entityId.IsValid(), "[FogVolumeCommon/FogVolumeComponent Component] Entity id is invalid");
DestroyRenderNode();
m_fogRenderNode = static_cast<IFogVolumeRenderNode*>(gEnv->p3DEngine->CreateRenderNode(eERType_FogVolume));
m_fogRenderNode->SetMinSpec(static_cast<int>(fogVolumeConfig.m_minSpec));
m_fogRenderNode->SetViewDistanceMultiplier(fogVolumeConfig.m_viewDistMultiplier);
UpdateFogVolumeProperties(fogVolumeConfig);
UpdateFogVolumeTransform();
}
void FogVolume::DestroyRenderNode()
{
if (m_fogRenderNode != nullptr)
{
m_fogRenderNode->ReleaseNode();
m_fogRenderNode = nullptr;
}
}
void FogVolume::UpdateFogVolumeProperties(const FogVolumeConfiguration& fogVolumeConfig)
{
AZ_Assert(m_fogRenderNode != nullptr, "[FogVolumeCommon/FogVolumeComponent Component] Trying to updated null render node");
SFogVolumeProperties fogProperties;
FogUtils::FogConfigToFogParams(fogVolumeConfig, fogProperties);
m_fogRenderNode->SetFogVolumeProperties(fogProperties);
}
void FogVolume::UpdateFogVolumeTransform()
{
AZ_Assert(m_fogRenderNode != nullptr, "[FogVolumeCommon/FogVolumeComponent Component] Trying to updated null render node");
AZ::Transform parentTransform = AZ::Transform::CreateIdentity();
AZ::TransformBus::EventResult(parentTransform, m_entityId, &AZ::TransformBus::Events::GetWorldTM);
m_fogRenderNode->SetScale(AZVec3ToLYVec3(parentTransform.GetScale()));
m_fogRenderNode->SetMatrix(AZTransformToLYTransform(parentTransform));
}
void FogVolume::UpdateRenderingFlags(const FogVolumeConfiguration& fogVolumeConfig)
{
if (m_fogRenderNode)
{
m_fogRenderNode->SetMinSpec(static_cast<AZ::u32>(fogVolumeConfig.m_minSpec));
if (gEnv && gEnv->p3DEngine)
{
const int configSpec = gEnv->pSystem->GetConfigSpec(true);
AZ::u32 rendFlags = static_cast<AZ::u32>(m_fogRenderNode->GetRndFlags());
const bool hidden = static_cast<AZ::u32>(configSpec) < static_cast<AZ::u32>(fogVolumeConfig.m_minSpec);
if (hidden)
{
rendFlags |= ERF_HIDDEN;
}
else
{
rendFlags &= ~ERF_HIDDEN;
}
rendFlags |= ERF_COMPONENT_ENTITY;
m_fogRenderNode->SetRndFlags(rendFlags);
}
}
}
void FogUtils::FogConfigToFogParams(const LmbrCentral::FogVolumeConfiguration& configuration, SFogVolumeProperties& fogVolumeProperties)
{
AZ_Assert(configuration.m_volumeType != FogVolumeType::None, "[FogConfigToFogParams] Attempting to create a fog with invalid volume type")
fogVolumeProperties.m_volumeType = static_cast<int>(configuration.m_volumeType);
fogVolumeProperties.m_size = AZVec3ToLYVec3(configuration.m_size);
fogVolumeProperties.m_color = AZColorToLYVec3(configuration.m_color);
fogVolumeProperties.m_useGlobalFogColor = configuration.m_useGlobalFogColor;
fogVolumeProperties.m_ignoresVisAreas = configuration.m_ignoresVisAreas;
fogVolumeProperties.m_affectsThisAreaOnly = configuration.m_affectsThisAreaOnly;
fogVolumeProperties.m_globalDensity = max(0.01f, configuration.m_globalDensity);
fogVolumeProperties.m_densityOffset = configuration.m_densityOffset;
fogVolumeProperties.m_nearCutoff = configuration.m_nearCutoff;
fogVolumeProperties.m_fHDRDynamic = configuration.m_hdrDynamic;
fogVolumeProperties.m_softEdges = configuration.m_softEdges;
fogVolumeProperties.m_heightFallOffDirLong = configuration.m_fallOffDirLong;
fogVolumeProperties.m_heightFallOffDirLati = configuration.m_fallOffDirLatitude;
fogVolumeProperties.m_heightFallOffShift = configuration.m_fallOffShift;
fogVolumeProperties.m_heightFallOffScale = configuration.m_fallOffScale;
fogVolumeProperties.m_rampStart = configuration.m_rampStart;
fogVolumeProperties.m_rampEnd = configuration.m_rampEnd;
fogVolumeProperties.m_rampInfluence = configuration.m_rampInfluence;
fogVolumeProperties.m_windInfluence = configuration.m_windInfluence;
fogVolumeProperties.m_densityNoiseScale = configuration.m_densityNoiseScale;
fogVolumeProperties.m_densityNoiseOffset = configuration.m_densityNoiseOffset;
fogVolumeProperties.m_densityNoiseTimeFrequency = configuration.m_densityNoiseTimeFrequency;
fogVolumeProperties.m_densityNoiseFrequency = AZVec3ToLYVec3(configuration.m_densityNoiseFrequency);
}
void FogVolumeConfiguration::Reflect(AZ::ReflectContext * context)
{
if (AZ::SerializeContext *serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
{
serializeContext->Class<FogVolumeConfiguration>()
->Version(1)
->Field("VolumeType", &FogVolumeConfiguration::m_volumeType)
->Field("Color", &FogVolumeConfiguration::m_color)
->Field("HdrDynamic", &FogVolumeConfiguration::m_hdrDynamic)
->Field("UseGlobalFogColor", &FogVolumeConfiguration::m_useGlobalFogColor)
->Field("SoftEdges", &FogVolumeConfiguration::m_softEdges)
->Field("WindInfluence", &FogVolumeConfiguration::m_windInfluence)
->Field("GlobalDensity", &FogVolumeConfiguration::m_globalDensity)
->Field("DensityOffset", &FogVolumeConfiguration::m_densityOffset)
->Field("NearCutoff", &FogVolumeConfiguration::m_nearCutoff)
->Field("EngineSpec", &FogVolumeConfiguration::m_minSpec)
->Field("DistMult", &FogVolumeConfiguration::m_viewDistMultiplier)
->Field("IgnoresVisAreas", &FogVolumeConfiguration::m_ignoresVisAreas)
->Field("AffectsThisAreaOnly", &FogVolumeConfiguration::m_affectsThisAreaOnly)
->Field("FallOffDirLong", &FogVolumeConfiguration::m_fallOffDirLong)
->Field("FallOffDirLatitude", &FogVolumeConfiguration::m_fallOffDirLatitude)
->Field("FallOffShift", &FogVolumeConfiguration::m_fallOffShift)
->Field("FallOffScale", &FogVolumeConfiguration::m_fallOffScale)
->Field("RampStart", &FogVolumeConfiguration::m_rampStart)
->Field("RampEnd", &FogVolumeConfiguration::m_rampEnd)
->Field("RampInfluence", &FogVolumeConfiguration::m_rampInfluence)
->Field("DensityNoiseScale", &FogVolumeConfiguration::m_densityNoiseScale)
->Field("DensityNoiseOffset", &FogVolumeConfiguration::m_densityNoiseOffset)
->Field("DensityNoiseTimeFrequency", &FogVolumeConfiguration::m_densityNoiseTimeFrequency)
->Field("DensityNoiseFrequency", &FogVolumeConfiguration::m_densityNoiseFrequency)
;
}
}
void FogVolumeConfiguration::UpdateSizeFromEntityShape()
{
AZ_Assert(m_entityId.IsValid(), "[FogVolumeConfiguration] Entity id is invalid");
BoxShapeComponentRequestsBus::EventResult(m_size, m_entityId, &BoxShapeComponentRequestsBus::Events::GetBoxDimensions);
}
}
@@ -1,116 +0,0 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#pragma once
#include <AzCore/Component/EntityId.h>
#include <AzCore/Math/Color.h>
#include <IEntityRenderState.h>
#include <LmbrCentral/Rendering/FogVolumeComponentBus.h>
struct SFogVolumeProperties;
struct IFogVolumeRenderNode;
namespace LmbrCentral
{
/**
* Stores configuration settings for the Fog Volume.
*/
class FogVolumeConfiguration
{
public:
AZ_TYPE_INFO(FogVolumeConfiguration, "{3B786BBB-0B1D-4EF2-9181-CC75C783C26E}");
virtual ~FogVolumeConfiguration() {};
static void Reflect(AZ::ReflectContext* context);
// Universal rendering properties
EngineSpec m_minSpec = EngineSpec::Low;
float m_viewDistMultiplier = 1.0f;
FogVolumeType m_volumeType = FogVolumeType::Ellipsoid;
AZ::Color m_color = AZ::Color(1.f, 1.f, 1.f, 1.f);
// Size is not reflected: taken from BoxShape
AZ::Vector3 m_size = AZ::Vector3(1.0f, 1.0f, 1.0f);
float m_hdrDynamic = false;
bool m_useGlobalFogColor = false;
float m_globalDensity = 1.0f;
float m_densityOffset = 0.0f;
float m_nearCutoff = 0.0f;
float m_fallOffDirLong = 0.0f;
float m_fallOffDirLatitude = 90.0f;
float m_fallOffShift = 0.0f;
float m_fallOffScale = 1.0f;
float m_softEdges = 1.0f;
float m_rampStart = 1.0f;
float m_rampEnd = 50.0f;
float m_rampInfluence = 0.0f;
float m_windInfluence = 1.0f;
float m_densityNoiseScale = 1.0f;
float m_densityNoiseOffset = 1.0f;
float m_densityNoiseTimeFrequency = 0.0f;
AZ::Vector3 m_densityNoiseFrequency = AZ::Vector3(10.0f, 10.0f, 10.0f);
bool m_ignoresVisAreas = false;
bool m_affectsThisAreaOnly = 0.0f;
void UpdateSizeFromEntityShape();
// Implemented in EditorFogVolumeConfiguration
virtual AZ::Crc32 PropertyChanged() { return 0; }
void SetEntityId(AZ::EntityId id) { m_entityId = id; }
protected:
// Not reflected
AZ::EntityId m_entityId;
};
class FogVolume
{
public:
FogVolume();
FogVolume(const FogVolume&) = delete;
FogVolume& operator= (const FogVolume&) = delete;
virtual ~FogVolume();
void SetEntityId(AZ::EntityId id) { m_entityId = id; }
void CreateFogVolumeRenderNode(const FogVolumeConfiguration& fogVolumeConfig);
void DestroyRenderNode();
IFogVolumeRenderNode* GetRenderNode() const
{
return m_fogRenderNode;
}
void UpdateFogVolumeProperties(const FogVolumeConfiguration& fogVolumeConfig);
void UpdateRenderingFlags(const FogVolumeConfiguration& fogVolumeConfig);
void UpdateFogVolumeTransform();
private:
IFogVolumeRenderNode* m_fogRenderNode;
AZ::EntityId m_entityId;
};
namespace FogUtils
{
void FogConfigToFogParams(const LmbrCentral::FogVolumeConfiguration& configuration, SFogVolumeProperties& fogVolumeProperties);
}
}
@@ -1,203 +0,0 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#include "LmbrCentral_precompiled.h"
#include <AzCore/Serialization/SerializeContext.h>
#include <AzCore/RTTI/BehaviorContext.h>
#include <IEntityRenderState.h>
#include "FogVolumeComponent.h"
namespace LmbrCentral
{
const float FogVolumeComponent::s_renderNodeRequestBusOrder = 500.f;
void FogVolumeComponent::Activate()
{
const auto entityId = GetEntityId();
m_configuration.SetEntityId(entityId);
m_configuration.UpdateSizeFromEntityShape();
m_fogVolume.SetEntityId(entityId);
m_fogVolume.CreateFogVolumeRenderNode(m_configuration);
RefreshFog();
RenderNodeRequestBus::Handler::BusConnect(entityId);
FogVolumeComponentRequestBus::Handler::BusConnect(entityId);
ShapeComponentNotificationsBus::Handler::BusConnect(entityId);
AZ::TransformNotificationBus::Handler::BusConnect(entityId);
}
void FogVolumeComponent::Deactivate()
{
m_fogVolume.DestroyRenderNode();
m_fogVolume.SetEntityId(AZ::EntityId());
m_configuration.SetEntityId(AZ::EntityId());
RenderNodeRequestBus::Handler::BusDisconnect();
FogVolumeComponentRequestBus::Handler::BusDisconnect();
ShapeComponentNotificationsBus::Handler::BusDisconnect();
AZ::TransformNotificationBus::Handler::BusDisconnect();
}
void FogVolumeComponent::Reflect(AZ::ReflectContext* context)
{
FogVolumeConfiguration::Reflect(context);
if (AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
{
serializeContext->Class<FogVolumeComponent, AZ::Component>()
->Version(1)
->Field("FogVolumeConfiguration", &FogVolumeComponent::m_configuration);
}
if (AZ::BehaviorContext* behaviorContext = azrtti_cast<AZ::BehaviorContext*>(context))
{
behaviorContext->Class<FogVolumeComponent>()->RequestBus("FogVolumeComponentRequestBus");
FogVolumeComponent::ExposeRequestsBusInBehaviorContext(behaviorContext, "FogVolumeComponentRequestBus");
}
}
IRenderNode* FogVolumeComponent::GetRenderNode()
{
return m_fogVolume.GetRenderNode();
}
float FogVolumeComponent::GetRenderNodeRequestBusOrder() const
{
return s_renderNodeRequestBusOrder;
}
void FogVolumeComponent::RefreshFog()
{
m_fogVolume.UpdateFogVolumeProperties(m_configuration);
m_fogVolume.UpdateRenderingFlags(m_configuration);
m_fogVolume.UpdateFogVolumeTransform();
}
void FogVolumeComponent::OnTransformChanged([[maybe_unused]] const AZ::Transform & local, [[maybe_unused]] const AZ::Transform & world)
{
RefreshFog();
}
void FogVolumeComponent::OnShapeChanged(ShapeComponentNotifications::ShapeChangeReasons changeReason)
{
if (changeReason == ShapeComponentNotifications::ShapeChangeReasons::ShapeChanged)
{
m_configuration.UpdateSizeFromEntityShape();
RefreshFog();
}
}
void FogVolumeComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType & required)
{
required.push_back(AZ_CRC("BoxShapeService", 0x946a0032));
}
void FogVolumeComponent::ExposeRequestsBusInBehaviorContext(AZ::BehaviorContext* behaviorContext, const char* name)
{
behaviorContext->EBus<FogVolumeComponentRequestBus>(name)
->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::All)
->Event("RefreshFog", &FogVolumeComponentRequestBus::Events::RefreshFog)
->Event("GetVolumeType", &FogVolumeComponentRequestBus::Events::GetVolumeType)
->Event("SetVolumeType", &FogVolumeComponentRequestBus::Events::SetVolumeType)
->VirtualProperty("VolumeType", "GetVolumeType", "SetVolumeType")
->Event("GetColor", &FogVolumeComponentRequestBus::Events::GetColor)
->Event("SetColor", &FogVolumeComponentRequestBus::Events::SetColor)
->VirtualProperty("Color", "GetColor", "SetColor")
->Event("GetHdrDynamic", &FogVolumeComponentRequestBus::Events::GetHdrDynamic)
->Event("SetHdrDynamic", &FogVolumeComponentRequestBus::Events::SetHdrDynamic)
->VirtualProperty("HdrDynamic", "GetHdrDynamic", "SetHdrDynamic")
->Event("GetUseGlobalFogColor", &FogVolumeComponentRequestBus::Events::GetUseGlobalFogColor)
->Event("SetUseGlobalFogColor", &FogVolumeComponentRequestBus::Events::SetUseGlobalFogColor)
->VirtualProperty("UseGlobalFogColor", "GetUseGlobalFogColor", "SetUseGlobalFogColor")
->Event("GetGlobalDensity", &FogVolumeComponentRequestBus::Events::GetGlobalDensity)
->Event("SetGlobalDensity", &FogVolumeComponentRequestBus::Events::SetGlobalDensity)
->VirtualProperty("GlobalDensity", "GetGlobalDensity", "SetGlobalDensity")
->Event("GetDensityOffset", &FogVolumeComponentRequestBus::Events::GetDensityOffset)
->Event("SetDensityOffset", &FogVolumeComponentRequestBus::Events::SetDensityOffset)
->VirtualProperty("DensityOffset", "GetDensityOffset", "SetDensityOffset")
->Event("GetNearCutoff", &FogVolumeComponentRequestBus::Events::GetNearCutoff)
->Event("SetNearCutoff", &FogVolumeComponentRequestBus::Events::SetNearCutoff)
->VirtualProperty("NearCutoff", "GetNearCutoff", "SetNearCutoff")
->Event("GetFallOffDirLong", &FogVolumeComponentRequestBus::Events::GetFallOffDirLong)
->Event("SetFallOffDirLong", &FogVolumeComponentRequestBus::Events::SetFallOffDirLong)
->VirtualProperty("FallOffDirLong", "GetFallOffDirLong", "SetFallOffDirLong")
->Event("GetFallOffDirLatitude", &FogVolumeComponentRequestBus::Events::GetFallOffDirLatitude)
->Event("SetFallOffDirLatitude", &FogVolumeComponentRequestBus::Events::SetFallOffDirLatitude)
->VirtualProperty("FallOffDirLatitude", "GetFallOffDirLatitude", "SetFallOffDirLatitude")
->Event("GetFallOffShift", &FogVolumeComponentRequestBus::Events::GetFallOffShift)
->Event("SetFallOffShift", &FogVolumeComponentRequestBus::Events::SetFallOffShift)
->VirtualProperty("FallOffShift", "GetFallOffShift", "SetFallOffShift")
->Event("GetFallOffScale", &FogVolumeComponentRequestBus::Events::GetFallOffScale)
->Event("SetFallOffScale", &FogVolumeComponentRequestBus::Events::SetFallOffScale)
->VirtualProperty("FallOffScale", "GetFallOffScale", "SetFallOffScale")
->Event("GetSoftEdges", &FogVolumeComponentRequestBus::Events::GetSoftEdges)
->Event("SetSoftEdges", &FogVolumeComponentRequestBus::Events::SetSoftEdges)
->VirtualProperty("SoftEdges", "GetSoftEdges", "SetSoftEdges")
->Event("GetRampStart", &FogVolumeComponentRequestBus::Events::GetRampStart)
->Event("SetRampStart", &FogVolumeComponentRequestBus::Events::SetRampStart)
->VirtualProperty("RampStart", "GetRampStart", "SetRampStart")
->Event("GetRampEnd", &FogVolumeComponentRequestBus::Events::GetRampEnd)
->Event("SetRampEnd", &FogVolumeComponentRequestBus::Events::SetRampEnd)
->VirtualProperty("RampEnd", "GetRampEnd", "SetRampEnd")
->Event("GetRampInfluence", &FogVolumeComponentRequestBus::Events::GetRampInfluence)
->Event("SetRampInfluence", &FogVolumeComponentRequestBus::Events::SetRampInfluence)
->VirtualProperty("RampInfluence", "GetRampInfluence", "SetRampInfluence")
->Event("GetWindInfluence", &FogVolumeComponentRequestBus::Events::GetWindInfluence)
->Event("SetWindInfluence", &FogVolumeComponentRequestBus::Events::SetWindInfluence)
->VirtualProperty("WindInfluence", "GetWindInfluence", "SetWindInfluence")
->Event("GetDensityNoiseScale", &FogVolumeComponentRequestBus::Events::GetDensityNoiseScale)
->Event("SetDensityNoiseScale", &FogVolumeComponentRequestBus::Events::SetDensityNoiseScale)
->VirtualProperty("DensityNoiseScale", "GetDensityNoiseScale", "SetDensityNoiseScale")
->Event("GetDensityNoiseOffset", &FogVolumeComponentRequestBus::Events::GetDensityNoiseOffset)
->Event("SetDensityNoiseOffset", &FogVolumeComponentRequestBus::Events::SetDensityNoiseOffset)
->VirtualProperty("DensityNoiseOffset", "GetDensityNoiseOffset", "SetDensityNoiseOffset")
->Event("GetDensityNoiseTimeFrequency", &FogVolumeComponentRequestBus::Events::GetDensityNoiseTimeFrequency)
->Event("SetDensityNoiseTimeFrequency", &FogVolumeComponentRequestBus::Events::SetDensityNoiseTimeFrequency)
->VirtualProperty("DensityNoiseTimeFrequency", "GetDensityNoiseTimeFrequency", "SetDensityNoiseTimeFrequency")
->Event("GetDensityNoiseFrequency", &FogVolumeComponentRequestBus::Events::GetDensityNoiseFrequency)
->Event("SetDensityNoiseFrequency", &FogVolumeComponentRequestBus::Events::SetDensityNoiseFrequency)
->VirtualProperty("DensityNoiseFrequency", "GetDensityNoiseFrequency", "SetDensityNoiseFrequency")
->Event("GetIgnoresVisAreas", &FogVolumeComponentRequestBus::Events::GetIgnoresVisAreas)
->Event("SetIgnoresVisAreas", &FogVolumeComponentRequestBus::Events::SetIgnoresVisAreas)
->VirtualProperty("IgnoresVisAreas", "GetIgnoresVisAreas", "SetIgnoresVisAreas")
->Event("GetAffectsThisAreaOnly", &FogVolumeComponentRequestBus::Events::GetAffectsThisAreaOnly)
->Event("SetAffectsThisAreaOnly", &FogVolumeComponentRequestBus::Events::SetAffectsThisAreaOnly)
->VirtualProperty("AffectsThisAreaOnly", "GetAffectsThisAreaOnly", "SetAffectsThisAreaOnly")
;
}
}
@@ -1,84 +0,0 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#pragma once
#include <AzCore/base.h>
#include <AzCore/Component/Component.h>
#include <AzCore/Component/ComponentBus.h>
#include <AzCore/Component/TransformBus.h>
#include <AzCore/Math/Vector3.h>
#include <LmbrCentral/Rendering/RenderNodeBus.h>
#include <LmbrCentral/Shape/ShapeComponentBus.h>
#include <IEntityRenderState.h>
#include "FogVolumeCommon.h"
#include "FogVolumeRequestsHandler.h"
namespace LmbrCentral
{
/*!
* In-game Fog Volume component.
*/
class FogVolumeComponent
: public AZ::Component
, public RenderNodeRequestBus::Handler
, private FogVolumeComponentRequestsBusHandler
, private AZ::TransformNotificationBus::Handler
, private ShapeComponentNotificationsBus::Handler
{
public:
AZ_COMPONENT(FogVolumeComponent, "{C01B9E8F-C015-46AC-9065-79445CE1408A}");
~FogVolumeComponent() override = default;
template<typename T>
void SetConfiguration(T&& configuration)
{
m_configuration = AZStd::forward<T>(configuration);
}
// AZ::Component interface implementation
void Activate() override;
void Deactivate() override;
static void Reflect(AZ::ReflectContext* context);
// RenderNodeRequestBus::Handler interface implementation
IRenderNode* GetRenderNode() override;
float GetRenderNodeRequestBusOrder() const override;
static const float s_renderNodeRequestBusOrder;
// TransformNotificationBus::Handler
void OnTransformChanged(const AZ::Transform& local, const AZ::Transform& world) override;
// ShapeComponentNotificationsBus::Handler
void OnShapeChanged(ShapeComponentNotifications::ShapeChangeReasons changeReason) override;
// FogVolumeComponentRequestBus::Handler
void RefreshFog() override;
static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required);
static void ExposeRequestsBusInBehaviorContext(AZ::BehaviorContext* behaviorContext, const char* name);
protected:
FogVolumeConfiguration& GetConfiguration() override
{
return m_configuration;
}
private:
FogVolumeConfiguration m_configuration;
FogVolume m_fogVolume;
};
}
@@ -1,264 +0,0 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#include "LmbrCentral_precompiled.h"
#include "FogVolumeRequestsHandler.h"
#include "FogVolumeCommon.h"
namespace LmbrCentral
{
FogVolumeType FogVolumeComponentRequestsBusHandler::GetVolumeType()
{
return GetConfiguration().m_volumeType;
}
void FogVolumeComponentRequestsBusHandler::SetVolumeType(FogVolumeType volumeType)
{
auto& configuration = GetConfiguration();
if (configuration.m_volumeType != volumeType)
{
configuration.m_volumeType = volumeType;
RefreshFog();
}
}
AZ::Color FogVolumeComponentRequestsBusHandler::GetColor()
{
return GetConfiguration().m_color;
}
void FogVolumeComponentRequestsBusHandler::SetColor(AZ::Color color)
{
GetConfiguration().m_color = color;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetHdrDynamic()
{
return GetConfiguration().m_hdrDynamic;
}
void FogVolumeComponentRequestsBusHandler::SetHdrDynamic(float hdrDynamic)
{
GetConfiguration().m_hdrDynamic = hdrDynamic;
RefreshFog();
}
bool FogVolumeComponentRequestsBusHandler::GetUseGlobalFogColor()
{
return GetConfiguration().m_useGlobalFogColor;
}
void FogVolumeComponentRequestsBusHandler::SetUseGlobalFogColor(bool useGlobalFogColor)
{
GetConfiguration().m_useGlobalFogColor = useGlobalFogColor;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetGlobalDensity()
{
return GetConfiguration().m_globalDensity;
}
void FogVolumeComponentRequestsBusHandler::SetGlobalDensity(float globalDensity)
{
GetConfiguration().m_globalDensity = globalDensity;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetDensityOffset()
{
return GetConfiguration().m_densityOffset;
}
void FogVolumeComponentRequestsBusHandler::SetDensityOffset(float densityOffset)
{
GetConfiguration().m_densityOffset = densityOffset;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetNearCutoff()
{
return GetConfiguration().m_nearCutoff;
}
void FogVolumeComponentRequestsBusHandler::SetNearCutoff(float nearCutoff)
{
GetConfiguration().m_nearCutoff = nearCutoff;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetFallOffDirLong()
{
return GetConfiguration().m_fallOffDirLong;
}
void FogVolumeComponentRequestsBusHandler::SetFallOffDirLong(float fallOffDirLong)
{
GetConfiguration().m_fallOffDirLong = fallOffDirLong;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetFallOffDirLatitude()
{
return GetConfiguration().m_fallOffDirLatitude;
}
void FogVolumeComponentRequestsBusHandler::SetFallOffDirLatitude(float fallOffDirLatitude)
{
GetConfiguration().m_fallOffDirLatitude = fallOffDirLatitude;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetFallOffShift()
{
return GetConfiguration().m_fallOffShift;
}
void FogVolumeComponentRequestsBusHandler::SetFallOffShift(float fallOffShift)
{
GetConfiguration().m_fallOffShift = fallOffShift;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetFallOffScale()
{
return GetConfiguration().m_fallOffScale;
}
void FogVolumeComponentRequestsBusHandler::SetFallOffScale(float fallOffScale)
{
GetConfiguration().m_fallOffScale = fallOffScale;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetSoftEdges()
{
return GetConfiguration().m_softEdges;
}
void FogVolumeComponentRequestsBusHandler::SetSoftEdges(float softEdges)
{
GetConfiguration().m_softEdges = softEdges;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetRampStart()
{
return GetConfiguration().m_rampStart;
}
void FogVolumeComponentRequestsBusHandler::SetRampStart(float rampStart)
{
GetConfiguration().m_rampStart = rampStart;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetRampEnd()
{
return GetConfiguration().m_rampEnd;
}
void FogVolumeComponentRequestsBusHandler::SetRampEnd(float rampEnd)
{
GetConfiguration().m_rampEnd = rampEnd;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetRampInfluence()
{
return GetConfiguration().m_rampInfluence;
}
void FogVolumeComponentRequestsBusHandler::SetRampInfluence(float rampInfluence)
{
GetConfiguration().m_rampInfluence = rampInfluence;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetWindInfluence()
{
return GetConfiguration().m_windInfluence;
}
void FogVolumeComponentRequestsBusHandler::SetWindInfluence(float windInfluence)
{
GetConfiguration().m_windInfluence = windInfluence;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetDensityNoiseScale()
{
return GetConfiguration().m_densityNoiseScale;
}
void FogVolumeComponentRequestsBusHandler::SetDensityNoiseScale(float densityNoiseScale)
{
GetConfiguration().m_densityNoiseScale = densityNoiseScale;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetDensityNoiseOffset()
{
return GetConfiguration().m_densityNoiseOffset;
}
void FogVolumeComponentRequestsBusHandler::SetDensityNoiseOffset(float densityNoiseOffset)
{
GetConfiguration().m_densityNoiseOffset = densityNoiseOffset;
RefreshFog();
}
float FogVolumeComponentRequestsBusHandler::GetDensityNoiseTimeFrequency()
{
return GetConfiguration().m_densityNoiseTimeFrequency;
}
void FogVolumeComponentRequestsBusHandler::SetDensityNoiseTimeFrequency(float timeFrequency)
{
GetConfiguration().m_densityNoiseTimeFrequency = timeFrequency;
RefreshFog();
}
AZ::Vector3 FogVolumeComponentRequestsBusHandler::GetDensityNoiseFrequency()
{
return GetConfiguration().m_densityNoiseFrequency;
}
void FogVolumeComponentRequestsBusHandler::SetDensityNoiseFrequency(AZ::Vector3 densityNoiseFrequency)
{
GetConfiguration().m_densityNoiseFrequency = densityNoiseFrequency;
RefreshFog();
}
bool FogVolumeComponentRequestsBusHandler::GetIgnoresVisAreas()
{
return GetConfiguration().m_ignoresVisAreas;
}
void FogVolumeComponentRequestsBusHandler::SetIgnoresVisAreas(bool ignoresVisAreas)
{
GetConfiguration().m_ignoresVisAreas = ignoresVisAreas;
RefreshFog();
}
bool FogVolumeComponentRequestsBusHandler::GetAffectsThisAreaOnly()
{
return GetConfiguration().m_affectsThisAreaOnly;
}
void FogVolumeComponentRequestsBusHandler::SetAffectsThisAreaOnly(bool affectsThisAreaOnly)
{
GetConfiguration().m_affectsThisAreaOnly = affectsThisAreaOnly;
RefreshFog();
}
}
@@ -1,94 +0,0 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#pragma once
#include <AzCore/Math/Color.h>
#include <LmbrCentral/Rendering/FogVolumeComponentBus.h>
namespace LmbrCentral
{
class FogVolumeComponentRequestsBusHandler
: public FogVolumeComponentRequestBus::Handler
{
/////////////////////////////////////////////
// FogVolumeComponentRequestBus::Handler
FogVolumeType GetVolumeType() override;
void SetVolumeType(FogVolumeType volumeType) override;
AZ::Color GetColor() override;
void SetColor(AZ::Color color) override;
float GetHdrDynamic() override;
void SetHdrDynamic(float hdrDynamic) override;
bool GetUseGlobalFogColor() override;
void SetUseGlobalFogColor(bool useGlobalFogColor) override;
float GetGlobalDensity() override;
void SetGlobalDensity(float globalDensity) override;
float GetDensityOffset() override;
void SetDensityOffset(float densityOffset) override;
float GetNearCutoff() override;
void SetNearCutoff(float nearCutoff) override;
float GetFallOffDirLong() override;
void SetFallOffDirLong(float fallOffDirLong) override;
float GetFallOffDirLatitude() override;
void SetFallOffDirLatitude(float fallOffDirLatitude) override;
float GetFallOffShift() override;
void SetFallOffShift(float fallOffShift) override;
float GetFallOffScale() override;
void SetFallOffScale(float fallOffScale) override;
float GetSoftEdges() override;
void SetSoftEdges(float softEdges) override;
float GetRampStart() override;
void SetRampStart(float rampStart) override;
float GetRampEnd() override;
void SetRampEnd(float rampEnd) override;
float GetRampInfluence() override;
void SetRampInfluence(float rampInfluence) override;
float GetWindInfluence() override;
void SetWindInfluence(float windInfluence) override;
float GetDensityNoiseScale() override;
void SetDensityNoiseScale(float densityNoiseScale) override;
float GetDensityNoiseOffset() override;
void SetDensityNoiseOffset(float densityNoiseOffset) override;
float GetDensityNoiseTimeFrequency() override;
void SetDensityNoiseTimeFrequency(float timeFrequency) override;
AZ::Vector3 GetDensityNoiseFrequency() override;
void SetDensityNoiseFrequency(AZ::Vector3 densityNoiseFrequency) override;
bool GetIgnoresVisAreas() override;
void SetIgnoresVisAreas(bool ignoresVisAreas) override;
bool GetAffectsThisAreaOnly() override;
void SetAffectsThisAreaOnly(bool affectsThisAreaOnly) override;
/////////////////////////////////////////////
protected:
virtual FogVolumeConfiguration& GetConfiguration() = 0;
};
}
@@ -1,247 +0,0 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#pragma once
#include <AzCore/Component/ComponentBus.h>
namespace LmbrCentral
{
class FogVolumeConfiguration;
enum class FogVolumeType : AZ::s32
{
None = -1,
Ellipsoid = 0,
RectangularPrism = 1,
};
class FogVolumeComponentRequests
: public AZ::ComponentBus
{
public:
virtual ~FogVolumeComponentRequests() {}
/// Propagates updated configuration to the fog volume component
virtual void RefreshFog() {};
/**
* Gets the volume shape type.
*/
virtual FogVolumeType GetVolumeType() { return FogVolumeType::None; }
/**
* Sets the volume shape type.
*/
virtual void SetVolumeType([[maybe_unused]] FogVolumeType volumeType) {};
/**
* Gets color of the fog.
*/
virtual AZ::Color GetColor() { return AZ::Color::CreateOne(); }
/**
* Sets color of the fog.
*/
virtual void SetColor([[maybe_unused]] AZ::Color color) {};
/**
* Gets HDR Dynamic.
*/
virtual float GetHdrDynamic() { return FLT_MAX; }
/**
* Set HDR Dynamic.
*/
virtual void SetHdrDynamic([[maybe_unused]] float hdrDynamic) {};
/**
* Returns true if global fog color is used instead of the color property.
*/
virtual bool GetUseGlobalFogColor() { return false; }
/**
* Sets whether global fog color is used instead of the color property.
*/
virtual void SetUseGlobalFogColor([[maybe_unused]] bool useGlobalFogColor) {};
/**
* Gets Fog density.
*/
virtual float GetGlobalDensity() { return FLT_MAX; }
/**
* Sets Fog density. Fog density controls how thick the fog appears.
*/
virtual void SetGlobalDensity([[maybe_unused]] float globalDensity) {};
/**
* Gets density offset
*/
virtual float GetDensityOffset() { return FLT_MAX; }
/**
* Sets density offset. Density offset additionaly controls to the density of the fog volume.
*/
virtual void SetDensityOffset([[maybe_unused]] float densityOffset) {};
/**
* Gets near cutoff distance
*/
virtual float GetNearCutoff() { return FLT_MAX; }
/**
* Sets near cutoff distance. Stops rendering the volume, depending on the camera distance to the object (m).
*/
virtual void SetNearCutoff([[maybe_unused]] float nearCutoff) {};
/**
* Gets fall off direction horizontally.
*/
virtual float GetFallOffDirLong() { return FLT_MAX; }
/**
* Sets fall off direction horizontally.
*/
virtual void SetFallOffDirLong([[maybe_unused]] float fallOffDirLong) {};
/**
* Gets vertical fall off direction.
*/
virtual float GetFallOffDirLatitude() { return FLT_MAX; }
/**
* Sets vertical fall off direction. Controls the latitude of the world space fall off direction of the fog.
* A value of 90 degrees lets the fall off direction point upwards in world space (respectively, -90° points downwards).
*/
virtual void SetFallOffDirLatitude([[maybe_unused]] float fallOffDirLatitude) {};
/**
* Gets fall off shift.
*/
virtual float GetFallOffShift() { return FLT_MAX; }
/**
* Sets fall off shift. Controls how much to shift the fog density along the fall off direction.
* Positive values will move thicker fog layers along the fall off direction into the fog volume.
* Negative values will move thick layers along the negative fall off direction out of the fog volume.
*/
virtual void SetFallOffShift([[maybe_unused]] float fallOffShift) {};
/**
* Gets the scale of density distribution along the fall off direction.
*/
virtual float GetFallOffScale() { return FLT_MAX; }
/**
* Sets the scale of the density distribution along the fall off direction. Higher values will make the fog fall off more rapidly.
*/
virtual void SetFallOffScale([[maybe_unused]] float fallOffScale) {};
/**
* Gets a factor that is used to soften the edges of the fog volume when viewed from outside.
*/
virtual float GetSoftEdges() { return FLT_MAX; }
/**
* Sets a factor that is used to soften the edges of the fog volume when viewed from outside.
*/
virtual void SetSoftEdges([[maybe_unused]] float softEdges) {};
/**
* Gets the start distance of fog density ramp in world units (m) Only works with Volumetric Fog.
*/
virtual float GetRampStart() { return FLT_MAX; }
/**
* Sets the start distance of fog density ramp in world units (m) Only works with Volumetric Fog.
*/
virtual void SetRampStart([[maybe_unused]] float rampStart) {};
/**
* Gets the end distance of fog density ramp in world units (m). Only works with Volumetric Fog.
*/
virtual float GetRampEnd() { return FLT_MAX; }
/**
* Sets the end distance of fog density ramp in world units (m). Only works with Volumetric Fog.
*/
virtual void SetRampEnd([[maybe_unused]] float rampEnd) {};
/**
* Gets the influence of fog density ramp. Only works with Volumetric Fog.
*/
virtual float GetRampInfluence() { return FLT_MAX; }
/**
* Sets the influence of fog density ramp. Only works with Volumetric Fog.
*/
virtual void SetRampInfluence([[maybe_unused]] float rampInfluence) {};
/**
* Gets the influence of the global wind upon the fog volume. Only works with Volumetric Fog.
*/
virtual float GetWindInfluence() { return FLT_MAX; }
/**
* Sets the influence of the global wind upon the fog volume. Only works with Volumetric Fog.
*/
virtual void SetWindInfluence([[maybe_unused]] float windInfluence) {};
/**
* Gets the scale of the noise value for the density. Only works with Volumetric Fog.
*/
virtual float GetDensityNoiseScale() { return FLT_MAX; }
/**
* Sets the scale of the noise value for the density. This will define the thickness of the individual patches of fog (clouds),
* or if you look at it from the other direction it will define how big the spaces are in-between each cloud. Reducing the value
* will thin out the cloud density and increase the spacing between each cloud.
* Only works with Volumetric Fog.
*/
virtual void SetDensityNoiseScale([[maybe_unused]] float densityNoiseScale) {};
/**
* Gets the offset of the noise value for the density. Only works with Volumetric Fog.
*/
virtual float GetDensityNoiseOffset() { return FLT_MAX; }
/**
* Sets the offset of the noise value for the density. Noise breaks up the solid shape of the fog volume into patches.
* Only works with Volumetric Fog.
*/
virtual void SetDensityNoiseOffset([[maybe_unused]] float densityNoiseOffset) {};
/**
* Gets the time frequency of the noise for the density. High frequencies produce fast changing fog. Allows the individual fog patches to morph into
* different shapes during the course of their lifetime. Keep this value low otherwise they will morph too quickly and will look very unnatural
*/
virtual float GetDensityNoiseTimeFrequency() { return FLT_MAX; }
/**
* Sets the time frequency of the noise for the density. High frequencies produce fast changing fog. Only works with Volumetric Fog.
*/
virtual void SetDensityNoiseTimeFrequency([[maybe_unused]] float timeFrequency) {};
/**
* Gets the spatial frequency of the noise for the density.
*/
virtual AZ::Vector3 GetDensityNoiseFrequency() { return AZ::Vector3::CreateOne(); }
/**
* Sets the spatial frequency of the noise for the density. Allows defining how many fog patches are there.
* Increasing Z value will create a layered effect within the volume simulating different fog patches stacked on top of each other.
* Adding higher values in X & Y would mean there would be more individual fog patches within the volume.
* Only works with Volumetric Fog
*/
virtual void SetDensityNoiseFrequency([[maybe_unused]] AZ::Vector3 densityNoiseFrequency) {};
/**
* Returns true if the FogVolume entity should respond to VisAreas and ClipVolumes.
*/
virtual bool GetIgnoresVisAreas() { return false; };
/**
* Sets whether the FogVolume entity should respond to VisAreas and ClipVolumes.
*/
virtual void SetIgnoresVisAreas([[maybe_unused]] bool ignoresVisAreas) {};
/**
* Returns true if the FogVolume entity effect doesn't occur in multiple VisAreas and ClipVolumes.
*/
virtual bool GetAffectsThisAreaOnly() { return false; };
/**
* Sets whether the FogVolume entity effect doesn't occur in multiple VisAreas and ClipVolumes.
*/
virtual void SetAffectsThisAreaOnly([[maybe_unused]] bool affectsThisAreaOnly) {};
};
using FogVolumeComponentRequestBus = AZ::EBus<FogVolumeComponentRequests>;
}
@@ -58,8 +58,6 @@ set(FILES
Source/Rendering/EditorMeshComponent.cpp
Source/Rendering/EditorHighQualityShadowComponent.h
Source/Rendering/EditorHighQualityShadowComponent.cpp
Source/Rendering/EditorFogVolumeComponent.h
Source/Rendering/EditorFogVolumeComponent.cpp
Source/Rendering/EditorGeomCacheComponent.h
Source/Rendering/EditorGeomCacheComponent.cpp
Source/Scripting/EditorLookAtComponent.h
@@ -45,7 +45,6 @@ set(FILES
include/LmbrCentral/Rendering/MeshComponentBus.h
include/LmbrCentral/Rendering/MeshModificationBus.h
include/LmbrCentral/Rendering/RenderNodeBus.h
include/LmbrCentral/Rendering/FogVolumeComponentBus.h
include/LmbrCentral/Rendering/HighQualityShadowComponentBus.h
include/LmbrCentral/Rendering/GeomCacheComponentBus.h
include/LmbrCentral/Rendering/GiRegistrationBus.h
@@ -115,12 +114,6 @@ set(FILES
Source/Rendering/LightInstance.h
Source/Rendering/LightInstance.cpp
Source/Rendering/MaterialHandle.cpp
Source/Rendering/FogVolumeComponent.h
Source/Rendering/FogVolumeComponent.cpp
Source/Rendering/FogVolumeCommon.h
Source/Rendering/FogVolumeCommon.cpp
Source/Rendering/FogVolumeRequestsHandler.h
Source/Rendering/FogVolumeRequestsHandler.cpp
Source/Rendering/MeshAssetHandler.h
Source/Rendering/MeshAssetHandler.cpp
Source/Rendering/MeshComponent.h
File diff suppressed because it is too large Load Diff
@@ -1,109 +1,56 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="aimposes01" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{394BA97A-7EF3-56B3-ADE2-D9D734AA5B6B}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MotionRangeRule" field="element" version="1" type="{3107B08E-5D9D-49A0-8B1B-2133B5A1B041}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="unsigned int" field="startFrame" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
<Class name="unsigned int" field="endFrame" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
<Class name="bool" field="processRangeRuleConversion" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="aimposes01-1" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{991539D2-8F87-40EF-9664-7994FFEA6B34}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MotionRangeRule" field="element" version="1" type="{3107B08E-5D9D-49A0-8B1B-2133B5A1B041}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="unsigned int" field="startFrame" value="1" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
<Class name="unsigned int" field="endFrame" value="1" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
<Class name="bool" field="processRangeRuleConversion" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="aimposes01-2" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{DBCED014-4E7E-4865-9F94-F84B85F6B007}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MotionRangeRule" field="element" version="1" type="{3107B08E-5D9D-49A0-8B1B-2133B5A1B041}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="unsigned int" field="startFrame" value="2" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
<Class name="unsigned int" field="endFrame" value="2" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
<Class name="bool" field="processRangeRuleConversion" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "aimposes01",
"selectedRootBone": "RootNode.Reference",
"id": "{394BA97A-7EF3-56B3-ADE2-D9D734AA5B6B}",
"rules": {
"rules": [
{
"$type": "MotionRangeRule"
},
{
"$type": "MotionSamplingRule"
}
]
}
},
{
"$type": "MotionGroup",
"name": "aimposes01-1",
"selectedRootBone": "RootNode.Reference",
"id": "{991539D2-8F87-40EF-9664-7994FFEA6B34}",
"rules": {
"rules": [
{
"$type": "MotionRangeRule",
"startFrame": 1,
"endFrame": 1
},
{
"$type": "MotionSamplingRule"
}
]
}
},
{
"$type": "MotionGroup",
"name": "aimposes01-2",
"selectedRootBone": "RootNode.Reference",
"id": "{DBCED014-4E7E-4865-9F94-F84B85F6B007}",
"rules": {
"rules": [
{
"$type": "MotionRangeRule",
"startFrame": 2,
"endFrame": 2
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,91 +1,45 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="idle_cwby_01" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{492E8A35-2647-581F-A701-F1D2A9FBB979}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="IdleState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "idle_cwby_01",
"selectedRootBone": "RootNode.Reference",
"id": "{492E8A35-2647-581F-A701-F1D2A9FBB979}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameState",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameState",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,137 +1,61 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="reload" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{28092685-3550-5583-A666-CD60018AB2E9}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="ReloadEvent" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="ReloadEvent" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.5092110" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.5092110" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="AmmoBack" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="ReloadEvent" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="1.2446810" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="1.2446810" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="ReleaseShells" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="ReloadEvent" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="1.4295191" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="1.4295191" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="ReloadEnd" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "reload",
"selectedRootBone": "RootNode.Reference",
"id": "{28092685-3550-5583-A666-CD60018AB2E9}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "ReloadEvent",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "ReloadEvent",
"startTime": 0.509211003780365,
"endTime": 0.509211003780365,
"eventDatas": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "ReloadEvent",
"startTime": 1.2446810007095338,
"endTime": 1.2446810007095338,
"eventDatas": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "ReloadEvent",
"startTime": 1.4295190572738648,
"endTime": 1.4295190572738648,
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,137 +1,59 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="run" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{7D6889F1-6536-57B6-8B02-93C815D1ADA9}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.3396752" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.3396752" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="LeftFoot" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="RightFoot" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.6319157" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.6319157" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="RightFoot" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="LeftFoot" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="RunState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "run",
"selectedRootBone": "RootNode.Reference",
"id": "{7D6889F1-6536-57B6-8B02-93C815D1ADA9}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "Sync",
"startTime": 0.3396751880645752,
"endTime": 0.3396751880645752,
"eventDatas": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "Sync",
"startTime": 0.6319156885147095,
"endTime": 0.6319156885147095,
"eventDatas": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameState",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameState",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,91 +1,47 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="shootrecoil" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{A1DC3BB2-3324-50F3-8C4B-BBFB61623129}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="RecoilEvent" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="RecoilEvent" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.2325000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.2325000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="RecoilEnd" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "shootrecoil",
"selectedRootBone": "RootNode.Reference",
"id": "{A1DC3BB2-3324-50F3-8C4B-BBFB61623129}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "RecoilEvent",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "RecoilEvent",
"startTime": 0.23250000178813935,
"endTime": 0.23250000178813935,
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,91 +1,45 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="strafeback" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{CA0EF712-DA36-5DA8-B474-207BD250CF2F}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameEvents" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameEvents" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="StrafeState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "strafeback",
"selectedRootBone": "RootNode.Reference",
"id": "{CA0EF712-DA36-5DA8-B474-207BD250CF2F}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameEvents",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameEvents",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,91 +1,45 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="strafebackl" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{9433F0E6-EA1A-5473-AA21-EE4DC45387C1}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="StrafeState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "strafebackl",
"selectedRootBone": "RootNode.Reference",
"id": "{9433F0E6-EA1A-5473-AA21-EE4DC45387C1}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameState",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameState",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,91 +1,45 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="strafebackr" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{5392AC3D-FF18-51F5-984E-248CAAF09F2E}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="StrafeState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "strafebackr",
"selectedRootBone": "RootNode.Reference",
"id": "{5392AC3D-FF18-51F5-984E-248CAAF09F2E}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameState",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameState",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,137 +1,59 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="strafeforward" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{2FB879C6-B3FB-5BD8-B52B-1012000351C2}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.2708907" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.2708907" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="RightFoot" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="LeftFoot" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.9699266" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.9699266" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="LeftFoot" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="RightFoot" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="StrafeState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "strafeforward",
"selectedRootBone": "RootNode.Reference",
"id": "{2FB879C6-B3FB-5BD8-B52B-1012000351C2}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "Sync",
"startTime": 0.2708907127380371,
"endTime": 0.2708907127380371,
"eventDatas": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "Sync",
"startTime": 0.9699265956878662,
"endTime": 0.9699265956878662,
"eventDatas": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameState",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameState",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,91 +1,45 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="strafeforwardl" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{2D945D52-C313-57A3-B722-C6402ACC3506}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="StrafeState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "strafeforwardl",
"selectedRootBone": "RootNode.Reference",
"id": "{2D945D52-C313-57A3-B722-C6402ACC3506}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameState",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameState",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,91 +1,45 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="strafeforwardr" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{3E691B9F-C0D7-5BFD-BBBC-50BAE737886E}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="StrafeState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "strafeforwardr",
"selectedRootBone": "RootNode.Reference",
"id": "{3E691B9F-C0D7-5BFD-BBBC-50BAE737886E}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameState",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameState",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,91 +1,45 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="strafeinplace" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{A2686CFC-D49B-5468-AE9F-E3F84FA75C6D}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="StrafeState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "strafeinplace",
"selectedRootBone": "RootNode.Reference",
"id": "{A2686CFC-D49B-5468-AE9F-E3F84FA75C6D}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameState",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameState",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,91 +1,45 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="strafeleft" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{2093C7DF-0C51-5C2B-B763-4DC1CC81D10E}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="StrafeState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "strafeleft",
"selectedRootBone": "RootNode.Reference",
"id": "{2093C7DF-0C51-5C2B-B763-4DC1CC81D10E}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameState",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameState",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -1,91 +1,45 @@
<ObjectStream version="3">
<Class name="SceneManifest" version="1" type="{9274AD17-3212-4651-9F3B-7DCCB080E467}">
<Class name="AZStd::vector" field="values" type="{5D6A7C67-11CA-59A4-829B-0B20B781B292}">
<Class name="AZStd::shared_ptr" field="element" type="{EB7522F9-0E87-55A9-A191-E924DC5AE867}">
<Class name="MotionGroup" field="element" version="3" type="{1B0ABB1E-F6DF-4534-9A35-2DD8244BF58C}">
<Class name="IMotionGroup" field="BaseClass1" version="1" type="{1CA400A8-2C3E-423D-B8A3-C457EF88E533}">
<Class name="IGroup" field="BaseClass1" version="1" type="{DE008E67-790D-4672-A73A-5CA0F31EDD2D}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
</Class>
<Class name="AZStd::string" field="name" value="straferight" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="selectedRootBone" value="RootNode.Reference" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZ::Uuid" field="id" value="{CE0E45E9-4B8C-5340-9521-B6290BAB24FC}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
<Class name="RuleContainer" field="rules" version="1" type="{2C20D3DF-57FF-4A31-8680-A4D45302B9CF}">
<Class name="AZStd::vector" field="rules" type="{B5BDB053-178F-5D55-8663-70897A71B7C9}">
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="CoordinateSystemRule" field="element" version="1" type="{603207E2-4F55-4C33-9AAB-98CA75C1E351}">
<Class name="IRule" field="BaseClass1" version="1" type="{81267F8B-3963-423B-9FF7-D276D82CD110}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
</Class>
<Class name="int" field="targetCoordinateSystem" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
</Class>
<Class name="AZStd::shared_ptr" field="element" type="{0BB4AFBA-F087-55C7-95DF-01D71F6CB052}">
<Class name="MetaDataRule" field="element" version="2" type="{8D759063-7D2E-4543-8EB3-AB510A5886CF}">
<Class name="IManifestObject" field="BaseClass1" type="{3B839407-1884-4FF4-ABEA-CA9D347E83F7}"/>
<Class name="AZStd::vector" field="commands" type="{C9984A24-DA9E-518F-9F81-27E51FAEB1F7}">
<Class name="CommandSystem::CommandAdjustMotion" field="element" version="1" type="{A8977553-4011-4BEB-97C8-6AE44B07C7A8}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::optional" field="dirtyFlag" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
<Class name="AZStd::optional" field="motionExtractionFlags" type="{43BA4537-CBCC-54F5-B403-84188A203D60}">
<Class name="unsigned char" field="element" value="0" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
</Class>
<Class name="AZStd::optional" field="name" type="{B0D91084-263A-54B9-A4F3-7C5F4240E248}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="Sync" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEventTrack" field="element" version="1" type="{961F762D-5B90-4E21-8692-9FADDCA54E6C}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::optional" field="eventTrackIndex" type="{5BC30B08-5E9C-5B73-BDE4-4BE8170C21C6}"/>
<Class name="AZStd::optional" field="isEnabled" type="{0170062C-2E7E-5CEB-BAB8-F7663BEF7B3E}"/>
</Class>
<Class name="CommandSystem::CommandCreateMotionEvent" field="element" type="{D19C2AFB-A5AA-4367-BCFC-02EB88C1B61F}">
<Class name="MCore::Command" field="BaseClass1" version="1" type="{49C636CE-7C0E-408A-A0F7-F7D12647EFBA}"/>
<Class name="CommandSystem::MotionIdCommandMixin" field="BaseClass2" version="1" type="{968E9513-3159-4469-B5FA-97D0920456E3}">
<Class name="int" field="motionID" value="0" type="{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}"/>
</Class>
<Class name="AZStd::string" field="eventTrackName" value="GameState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="float" field="startTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="float" field="endTime" value="0.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AZStd::optional" field="eventDatas" type="{C69F2148-2DBF-5C3D-8154-447C6E99D041}">
<Class name="AZStd::vector" field="element" type="{4918F644-6F31-5DC0-92CC-471D16563C8A}">
<Class name="AZStd::shared_ptr" field="element" type="{FA64741F-5600-53BC-9B56-A81DD4938FF5}">
<Class name="TwoStringEventData" field="element" version="1" type="{A437CD65-4012-47DE-BC60-4F9EC2A9ACEE}">
<Class name="EventDataSyncable" field="BaseClass1" version="1" type="{18A0050C-D05A-424C-B645-8E3B31120CBA}">
<Class name="EventData" field="BaseClass1" version="1" type="{F6AFCD3B-D58E-4821-9E7C-D1F437304E5D}"/>
</Class>
<Class name="AZStd::string" field="subject" value="StrafeState" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="parameters" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="mirrorSubject" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
<Class name="AZStd::string" field="metaData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</Class>
</ObjectStream>
{
"values": [
{
"$type": "MotionGroup",
"name": "straferight",
"selectedRootBone": "RootNode.Reference",
"id": "{CE0E45E9-4B8C-5340-9521-B6290BAB24FC}",
"rules": {
"rules": [
{
"$type": "MetaDataRule",
"commands": [
{
"$type": "CommandSystem::CommandAdjustMotion",
"dirtyFlag": {},
"motionExtractionFlags": {},
"name": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "Sync",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEventTrack",
"eventTrackName": "GameState",
"eventTrackIndex": {},
"isEnabled": {}
},
{
"$type": "CommandSystem::CommandCreateMotionEvent",
"eventTrackName": "GameState",
"eventDatas": {}
}
]
},
{
"$type": "MotionSamplingRule"
}
]
}
}
]
}
@@ -528,8 +528,10 @@ namespace ScriptCanvasEditor
{
const auto& variableId = varConfig.m_graphVariable.GetVariableId();
// We only add component sourced graph properties to the script canvas component, so if this variable was switched to a graph-only property remove it.
// Also be sure to remove this variable if it's been deleted entirely.
auto graphVariable = graphVarData.FindVariable(variableId);
if (!graphVariable->IsComponentProperty())
if (!graphVariable || !graphVariable->IsComponentProperty())
{
oldVariableIds.push_back(variableId);
}
+1 -1
View File
@@ -40,7 +40,7 @@ ly_associate_package(PACKAGE_NAME PVRTexTool-4.24.0-rev4-multiplatform
ly_associate_package(PACKAGE_NAME freetype-2.10.4.14-mac-ios TARGETS freetype PACKAGE_HASH 67b4f57aed92082d3fd7c16aa244a7d908d90122c296b0a63f73e0a0b8761977)
ly_associate_package(PACKAGE_NAME tiff-4.2.0.15-mac-ios TARGETS tiff PACKAGE_HASH a23ae1f8991a29f8e5df09d6d5b00d7768a740f90752cef465558c1768343709)
ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev3-mac TARGETS AWSNativeSDK PACKAGE_HASH 21920372e90355407578b45ac19580df1463a39a25a867bcd0ffd8b385c8254a)
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev5-mac TARGETS Lua PACKAGE_HASH d63357a73f9f8f297cf770fa4b92dca1fdd5761d4a2215e38f6e96fa274b28aa)
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev6-mac TARGETS Lua PACKAGE_HASH b9079fd35634774c9269028447562c6b712dbc83b9c64975c095fd423ff04c08)
ly_associate_package(PACKAGE_NAME PhysX-4.1.0.25992954-rev1-mac TARGETS PhysX PACKAGE_HASH 149f5e9b44bd27291b1c4772f5e89a1e0efa88eef73c7e0b188935ed4d0c4a70)
ly_associate_package(PACKAGE_NAME etc2comp-9cd0f9cae0-rev1-mac TARGETS etc2comp PACKAGE_HASH 1966ab101c89db7ecf30984917e0a48c0d02ee0e4d65b798743842b9469c0818)
ly_associate_package(PACKAGE_NAME mikkelsen-1.0.0.4-mac TARGETS mikkelsen PACKAGE_HASH 83af99ca8bee123684ad254263add556f0cf49486c0b3e32e6d303535714e505)
+1 -1
View File
@@ -13,7 +13,7 @@ REM Continuous Integration CLI entrypoint script to start CTest, triggering post
REM
SETLOCAL
SET DEV_DIR=%~dp0\..
SET DEV_DIR=%~dp0\..\..
SET PYTHON=%DEV_DIR%\python\python.cmd
SET CTEST_SCRIPT=%~dp0\ctest_driver.py