Merge branch 'development' of https://github.com/o3de/o3de into TerrainMaterialsFix
This commit is contained in:
@@ -17,34 +17,34 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesti
|
||||
|
||||
from base import TestAutomationBase
|
||||
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.SUITE_main
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
def test_ActorSplitsAfterCollision(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Blast_ActorSplitsAfterCollision as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterRadialDamage(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Blast_ActorSplitsAfterRadialDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterCapsuleDamage(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Blast_ActorSplitsAfterCapsuleDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterImpactSpreadDamage(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Blast_ActorSplitsAfterImpactSpreadDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterShearDamage(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Blast_ActorSplitsAfterShearDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterTriangleDamage(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Blast_ActorSplitsAfterTriangleDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ActorSplitsAfterStressDamage(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Blast_ActorSplitsAfterStressDamage as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ import azlmbr.math as math
|
||||
import azlmbr.asset as asset
|
||||
|
||||
# Open a level (any level should work)
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample')
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base')
|
||||
|
||||
def GetSetCompareTest(component, path, assetId):
|
||||
# Test Get/Set (get old value, set new value, check that new value was set correctly)
|
||||
|
||||
@@ -24,6 +24,7 @@ from hydra_utils import launch_test_case
|
||||
@pytest.mark.parametrize('level', ['Simple'])
|
||||
class TestComponentCommands(object):
|
||||
|
||||
# It needs a new test level in prefab format to make it testable again.
|
||||
def test_MeshComponentBasics(self, request, editor, level, launcher_platform):
|
||||
|
||||
unexpected_lines=[]
|
||||
|
||||
+3
-1
@@ -5,6 +5,8 @@ For complete copyright and license terms please see the LICENSE at the root of t
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
# It needs a new test level in prefab format to make it testable again.
|
||||
|
||||
# Tests a portion of the Component CRUD Python API while the Editor is running
|
||||
|
||||
import azlmbr.bus as bus
|
||||
@@ -18,7 +20,7 @@ def CompareComponentEntityIdPairs(component1, component2):
|
||||
return component1.Equal(component2)
|
||||
|
||||
# Open a level (any level should work)
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample')
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base')
|
||||
|
||||
# Get Component Types for Mesh and Comment
|
||||
typeIdsList = editor.EditorComponentAPIBus(bus.Broadcast, 'FindComponentTypeIdsByEntityType', ["Mesh", "Comment", "Mesh Collider"], entity.EntityType().Game)
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ import azlmbr.entity as entity
|
||||
import azlmbr.math as math
|
||||
|
||||
# Open a level (any level should work)
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample')
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base')
|
||||
|
||||
def GetSetCompareTest(component, path, value):
|
||||
oldObj = editor.EditorComponentAPIBus(bus.Broadcast, 'GetComponentProperty', component, path)
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ import azlmbr.editor as editor
|
||||
from azlmbr.entity import EntityId
|
||||
|
||||
# Open a level (any level should work)
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample')
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base')
|
||||
|
||||
parentEntityId = editor.ToolsApplicationRequestBus(bus.Broadcast, 'CreateNewEntity', EntityId())
|
||||
childEntityId = editor.ToolsApplicationRequestBus(bus.Broadcast, 'CreateNewEntity', EntityId())
|
||||
|
||||
@@ -32,7 +32,7 @@ def onEditorEntityDeleted(parameters):
|
||||
|
||||
|
||||
# Open a level (any level should work)
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample')
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base')
|
||||
|
||||
# Listen for notifications when entities are created/deleted
|
||||
handler = bus.NotificationHandler('EditorEntityContextNotificationBus')
|
||||
|
||||
@@ -16,13 +16,13 @@ import os
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
from hydra_utils import launch_test_case
|
||||
|
||||
|
||||
@pytest.mark.SUITE_sandbox
|
||||
@pytest.mark.parametrize('launcher_platform', ['windows_editor'])
|
||||
@pytest.mark.parametrize('project', ['AutomatedTesting'])
|
||||
@pytest.mark.parametrize('level', ['Simple'])
|
||||
class TestObjectManagerAutomation(object):
|
||||
|
||||
# It needs a new test level in prefab format to make it testable again.
|
||||
def test_ViewPane(self, request, editor, level, launcher_platform):
|
||||
|
||||
unexpected_lines=[]
|
||||
|
||||
+3
-5
@@ -20,12 +20,10 @@ def fetch_vector3_parts(vec3):
|
||||
|
||||
general.idle_enable(True)
|
||||
|
||||
# Try to open the WaterSample level. If not, fail the test.
|
||||
# We need to rely on an existing level since the API does not provide
|
||||
# a way to create entities, but only lets us manipulate them.
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample')
|
||||
# It needs a new test level in prefab format to make it testable again.
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base')
|
||||
|
||||
if (editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'GetCurrentLevelName') == 'WaterSample'):
|
||||
if (editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'GetCurrentLevelName') == 'Base'):
|
||||
|
||||
objs_list = general.get_all_objects()
|
||||
|
||||
|
||||
@@ -21,8 +21,7 @@ import azlmbr.bus as bus
|
||||
import azlmbr.entity as entity
|
||||
import azlmbr.editor as editor
|
||||
import azlmbr.legacy.general as general
|
||||
import editor_python_test_tools.pyside_component_utils as pysde_component_utils
|
||||
|
||||
import editor_python_test_tools.pyside_component_utils as pyside_component_utils
|
||||
|
||||
def PySide_Example_test_case():
|
||||
# Open level, any level should work
|
||||
|
||||
@@ -13,7 +13,7 @@ import azlmbr.math
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Open a level (any level should work)
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample')
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base')
|
||||
|
||||
general.idle_wait(0.5)
|
||||
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ import azlmbr.math
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Open a level (any level should work)
|
||||
general.open_level_no_prompt('WaterSample')
|
||||
general.open_level_no_prompt('Base')
|
||||
general.idle_wait(0.5)
|
||||
|
||||
test_success = True
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
def open_base_level():
|
||||
helper.init_idle()
|
||||
helper.open_level("Prefab", "Base")
|
||||
helper.open_level("", "Base")
|
||||
|
||||
|
||||
def find_entity_by_name(entity_name):
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ def launch_and_validate_results(request, test_directory, editor, editor_script,
|
||||
from os import path
|
||||
editor.args.extend([
|
||||
"--regset=/Amazon/Preferences/EnablePrefabSystem=true",
|
||||
f"--regset-file={os.path.join(workspace.paths.engine_root(), 'Registry', 'prefab.test.setreg')}"])
|
||||
f"--regset-file={os.path.join(editor.workspace.paths.engine_root(), 'Registry', 'prefab.test.setreg')}"])
|
||||
else:
|
||||
editor.args.extend(["--regset=/Amazon/Preferences/EnablePrefabSystem=false"])
|
||||
|
||||
|
||||
+1
-2
@@ -7,8 +7,7 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
import PySide2
|
||||
|
||||
import editor_python_test_tools.pyside_utils
|
||||
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
|
||||
def get_component_combobox_values(component_name, property_name, log_fn=None):
|
||||
"""
|
||||
|
||||
+6
-2
@@ -67,7 +67,7 @@ class TestHelper:
|
||||
return result == 0
|
||||
|
||||
@staticmethod
|
||||
def open_level(directory : str, level : str):
|
||||
def open_level(directory : str, level : str, no_prompt: bool = True):
|
||||
# type: (str, str) -> None
|
||||
"""
|
||||
:param level: the name of the level folder in AutomatedTesting\\Physics\\
|
||||
@@ -75,7 +75,11 @@ class TestHelper:
|
||||
:return: None
|
||||
"""
|
||||
Report.info("Open level {}/{}".format(directory, level))
|
||||
success = general.open_level_no_prompt(os.path.join(directory, level))
|
||||
if no_prompt:
|
||||
success = general.open_level_no_prompt(os.path.join(directory, level))
|
||||
else:
|
||||
success = general.open_level(os.path.join(directory, level))
|
||||
|
||||
if not success:
|
||||
open_level_name = general.get_current_level_name()
|
||||
if open_level_name == level:
|
||||
|
||||
@@ -52,11 +52,11 @@ class TestAutomation(TestAutomationBase):
|
||||
@revert_physics_config
|
||||
def test_CharacterController_SwitchLevels(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.character_controller import CharacterController_SwitchLevels as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Ragdoll_AddPhysxRagdollComponentWorks(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.ragdoll import Ragdoll_AddPhysxRagdollComponentWorks as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ScriptCanvas_MultipleRaycastNode(self, request, workspace, editor, launcher_platform):
|
||||
@@ -81,7 +81,7 @@ class TestAutomation(TestAutomationBase):
|
||||
@revert_physics_config
|
||||
def test_Collider_PxMeshConvexMeshCollides(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_PxMeshConvexMeshCollides as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ShapeCollider_CylinderShapeCollides(self, request, workspace, editor, launcher_platform):
|
||||
|
||||
@@ -53,7 +53,8 @@ class EditorSingleTest_WithFileOverrides(EditorSingleTest):
|
||||
for f in original_file_list:
|
||||
fm._restore_file(f, file_list[f])
|
||||
|
||||
@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.")
|
||||
|
||||
# @pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.")
|
||||
@pytest.mark.SUITE_main
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@@ -72,6 +73,48 @@ class TestAutomationWithPrefabSystemEnabled(EditorTestSuite):
|
||||
class C4982802_PhysXColliderShape_CanBeSelected(EditorSharedTest):
|
||||
from .tests.collider import Collider_CapsuleShapeEditing as test_module
|
||||
|
||||
class C14654881_CharacterController_SwitchLevels(EditorSharedTest):
|
||||
from .tests.character_controller import CharacterController_SwitchLevels as test_module
|
||||
|
||||
class C14861500_DefaultSetting_ColliderShape(EditorSharedTest):
|
||||
from .tests.collider import Collider_CheckDefaultShapeSettingIsPxMesh as test_module
|
||||
|
||||
class C4044695_PhysXCollider_AddMultipleSurfaceFbx(EditorSharedTest):
|
||||
from .tests.collider import Collider_MultipleSurfaceSlots as test_module
|
||||
|
||||
class C14861501_PhysXCollider_RenderMeshAutoAssigned(EditorSharedTest):
|
||||
from .tests.collider import Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent as test_module
|
||||
|
||||
@pytest.mark.xfail(reason="This will fail due to this issue ATOM-15487.")
|
||||
class C14861502_PhysXCollider_AssetAutoAssigned(EditorSharedTest):
|
||||
from .tests.collider import Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent as test_module
|
||||
|
||||
class C4982803_Enable_PxMesh_Option(EditorSharedTest):
|
||||
from .tests.collider import Collider_PxMeshConvexMeshCollides as test_module
|
||||
|
||||
class C15096740_Material_LibraryUpdatedCorrectly(EditorSharedTest):
|
||||
from .tests.material import Material_LibraryClearingAssignsDefault as test_module
|
||||
|
||||
class C17411467_AddPhysxRagdollComponent(EditorSharedTest):
|
||||
from .tests.ragdoll import Ragdoll_AddPhysxRagdollComponentWorks as test_module
|
||||
|
||||
class C19578021_ShapeCollider_CanBeAdded(EditorSharedTest):
|
||||
from .tests.shape_collider import ShapeCollider_CanBeAddedWitNoWarnings as test_module
|
||||
|
||||
class C19578018_ShapeColliderWithNoShapeComponent(EditorSharedTest):
|
||||
from .tests.shape_collider import ShapeCollider_InactiveWhenNoShapeComponent as test_module
|
||||
|
||||
class C19723164_ShapeCollider_WontCrashEditor(EditorSharedTest):
|
||||
from .tests.shape_collider import ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor as test_module
|
||||
|
||||
class C12905528_ForceRegion_WithNonTriggerCollider(EditorSharedTest):
|
||||
from .tests.force_region import ForceRegion_WithNonTriggerColliderWarning as test_module
|
||||
# Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"]
|
||||
|
||||
class C14861504_RenderMeshAsset_WithNoPxAsset(EditorSharedTest):
|
||||
from .tests.collider import Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx as test_module
|
||||
|
||||
|
||||
@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.")
|
||||
@pytest.mark.SUITE_main
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@@ -115,19 +158,13 @@ class TestAutomation(EditorTestSuite):
|
||||
|
||||
class C14654881_CharacterController_SwitchLevels(EditorSharedTest):
|
||||
from .tests.character_controller import CharacterController_SwitchLevels as test_module
|
||||
|
||||
class C17411467_AddPhysxRagdollComponent(EditorSharedTest):
|
||||
from .tests.ragdoll import Ragdoll_AddPhysxRagdollComponentWorks as test_module
|
||||
|
||||
|
||||
class C12712453_ScriptCanvas_MultipleRaycastNode(EditorSharedTest):
|
||||
from .tests.script_canvas import ScriptCanvas_MultipleRaycastNode as test_module
|
||||
|
||||
class C18243586_Joints_HingeLeadFollowerCollide(EditorSharedTest):
|
||||
from .tests.joints import Joints_HingeLeadFollowerCollide as test_module
|
||||
|
||||
class C4982803_Enable_PxMesh_Option(EditorSharedTest):
|
||||
from .tests.collider import Collider_PxMeshConvexMeshCollides as test_module
|
||||
|
||||
class C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(EditorSharedTest):
|
||||
from .tests.shape_collider import ShapeCollider_CylinderShapeCollides as test_module
|
||||
|
||||
@@ -297,19 +334,6 @@ class TestAutomation(EditorTestSuite):
|
||||
class C18243591_Joints_BallLeadFollowerCollide(EditorSharedTest):
|
||||
from .tests.joints import Joints_BallLeadFollowerCollide as test_module
|
||||
|
||||
class C19578018_ShapeColliderWithNoShapeComponent(EditorSharedTest):
|
||||
from .tests.shape_collider import ShapeCollider_InactiveWhenNoShapeComponent as test_module
|
||||
|
||||
class C14861500_DefaultSetting_ColliderShape(EditorSharedTest):
|
||||
from .tests.collider import Collider_CheckDefaultShapeSettingIsPxMesh as test_module
|
||||
|
||||
class C19723164_ShapeCollider_WontCrashEditor(EditorSharedTest):
|
||||
from .tests.shape_collider import ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor as test_module
|
||||
|
||||
class C12905528_ForceRegion_WithNonTriggerCollider(EditorSharedTest):
|
||||
from .tests.force_region import ForceRegion_WithNonTriggerColliderWarning as test_module
|
||||
# Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"]
|
||||
|
||||
class C5932040_ForceRegion_CubeExertsWorldForce(EditorSharedTest):
|
||||
from .tests.force_region import ForceRegion_WorldSpaceForceOnRigidBodies as test_module
|
||||
|
||||
@@ -321,26 +345,10 @@ class TestAutomation(EditorTestSuite):
|
||||
|
||||
class C5959809_ForceRegion_RotationalOffset(EditorSharedTest):
|
||||
from .tests.force_region import ForceRegion_RotationalOffset as test_module
|
||||
|
||||
class C15096740_Material_LibraryUpdatedCorrectly(EditorSharedTest):
|
||||
from .tests.material import Material_LibraryClearingAssignsDefault as test_module
|
||||
|
||||
|
||||
class C4976236_AddPhysxColliderComponent(EditorSharedTest):
|
||||
from .tests.collider import Collider_AddColliderComponent as test_module
|
||||
|
||||
@pytest.mark.xfail(reason="This will fail due to this issue ATOM-15487.")
|
||||
class C14861502_PhysXCollider_AssetAutoAssigned(EditorSharedTest):
|
||||
from .tests.collider import Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent as test_module
|
||||
|
||||
class C14861501_PhysXCollider_RenderMeshAutoAssigned(EditorSharedTest):
|
||||
from .tests.collider import Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent as test_module
|
||||
|
||||
class C4044695_PhysXCollider_AddMultipleSurfaceFbx(EditorSharedTest):
|
||||
from .tests.collider import Collider_MultipleSurfaceSlots as test_module
|
||||
|
||||
class C14861504_RenderMeshAsset_WithNoPxAsset(EditorSharedTest):
|
||||
from .tests.collider import Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx as test_module
|
||||
|
||||
class C100000_RigidBody_EnablingGravityWorksPoC(EditorSharedTest):
|
||||
from .tests.rigid_body import RigidBody_EnablingGravityWorksPoC as test_module
|
||||
|
||||
@@ -350,8 +358,5 @@ class TestAutomation(EditorTestSuite):
|
||||
class C6090547_ForceRegion_ParentChildForceRegions(EditorSharedTest):
|
||||
from .tests.force_region import ForceRegion_ParentChildForcesCombineForces as test_module
|
||||
|
||||
class C19578021_ShapeCollider_CanBeAdded(EditorSharedTest):
|
||||
from .tests.shape_collider import ShapeCollider_CanBeAddedWitNoWarnings as test_module
|
||||
|
||||
class C15425929_Undo_Redo(EditorSharedTest):
|
||||
from .tests import Physics_UndoRedoWorksOnEntityWithPhysComponents as test_module
|
||||
|
||||
@@ -388,17 +388,17 @@ class TestAutomation(TestAutomationBase):
|
||||
@revert_physics_config
|
||||
def test_ShapeCollider_InactiveWhenNoShapeComponent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.shape_collider import ShapeCollider_InactiveWhenNoShapeComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_CheckDefaultShapeSettingIsPxMesh(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_CheckDefaultShapeSettingIsPxMesh as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.shape_collider import ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Collider_SphereShapeEditing(self, request, workspace, editor, launcher_platform):
|
||||
@@ -418,7 +418,7 @@ class TestAutomation(TestAutomationBase):
|
||||
def test_ForceRegion_WithNonTriggerColliderWarning(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_WithNonTriggerColliderWarning as test_module
|
||||
# Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"]
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ForceRegion_WorldSpaceForceOnRigidBodies(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.force_region import ForceRegion_WorldSpaceForceOnRigidBodies as test_module
|
||||
@@ -438,8 +438,12 @@ class TestAutomation(TestAutomationBase):
|
||||
|
||||
def test_Material_LibraryClearingAssignsDefault(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.material import Material_LibraryClearingAssignsDefault as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(reason=
|
||||
"Test failed due to an error message shown while in game mode: "
|
||||
"'(Prefab) - Invalid asset found referenced in scene while entering game mode. "
|
||||
"The asset was stored in an instance of Asset.'")
|
||||
def test_Collider_AddColliderComponent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_AddColliderComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
@@ -448,19 +452,19 @@ class TestAutomation(TestAutomationBase):
|
||||
reason="This will fail due to this issue ATOM-15487.")
|
||||
def test_Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Collider_MultipleSurfaceSlots(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_MultipleSurfaceSlots as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.collider import Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_RigidBody_EnablingGravityWorksPoC(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.rigid_body import RigidBody_EnablingGravityWorksPoC as test_module
|
||||
@@ -486,7 +490,7 @@ class TestAutomation(TestAutomationBase):
|
||||
@revert_physics_config
|
||||
def test_ShapeCollider_CanBeAddedWitNoWarnings(self, request, workspace, editor, launcher_platform):
|
||||
from .tests.shape_collider import ShapeCollider_CanBeAddedWitNoWarnings as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@revert_physics_config
|
||||
def test_Physics_UndoRedoWorksOnEntityWithPhysComponents(self, request, workspace, editor, launcher_platform):
|
||||
|
||||
+3
-1
@@ -53,10 +53,12 @@ def CharacterController_SwitchLevels():
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.bus
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Constants
|
||||
WAIT_FOR_ERRORS = 3.0
|
||||
@@ -77,7 +79,7 @@ def CharacterController_SwitchLevels():
|
||||
helper.exit_game_mode(Tests.level1_exit_game_mode)
|
||||
|
||||
# 2.1) Load level 2 (empty level)
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2.2) Enter game mode
|
||||
helper.enter_game_mode(Tests.level2_enter_game_mode)
|
||||
|
||||
+3
-2
@@ -45,14 +45,15 @@ def Collider_CheckDefaultShapeSettingIsPxMesh():
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
PHYSICS_ASSET_INDEX = 7 # Hardcoded enum index value for Shape property
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load empty level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create an entity to hold the PhysX Shape Collider component
|
||||
collider_entity = Entity.create_editor_entity("Collider")
|
||||
|
||||
+3
-2
@@ -54,6 +54,8 @@ def Collider_MultipleSurfaceSlots():
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Constants
|
||||
PHYSICS_ASSET_INDEX = 7 # Hardcoded enum index value for Shape property
|
||||
SURFACE_TAG_COUNT = 4 # Number of surface tags included in used asset
|
||||
@@ -62,9 +64,8 @@ def Collider_MultipleSurfaceSlots():
|
||||
STATIC_MESH = os.path.join("assets", "Physics", "Collider_MultipleSurfaceSlots", "test.azmodel")
|
||||
PHYSX_MESH = os.path.join("assets", "Physics","Collider_MultipleSurfaceSlots", "test.pxmesh")
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the empty level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create an entity
|
||||
test_entity = Entity.create_editor_entity("test_entity")
|
||||
|
||||
+3
-2
@@ -54,15 +54,16 @@ def Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent():
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Asset paths
|
||||
STATIC_MESH = os.path.join("assets", "Physics", "Collider_PxMeshAutoAssigned", "spherebot", "r0-b_body.azmodel")
|
||||
PHYSX_MESH = os.path.join(
|
||||
"assets", "Physics", "Collider_PxMeshAutoAssigned", "spherebot", "r0-b_body.pxmesh"
|
||||
)
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the empty level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create an entity
|
||||
test_entity = Entity.create_editor_entity("test_entity")
|
||||
|
||||
+3
-2
@@ -53,6 +53,8 @@ def Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent():
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
@@ -60,9 +62,8 @@ def Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent():
|
||||
MESH_PROPERTY_PATH = "Controller|Configuration|Mesh Asset"
|
||||
TESTED_PROPERTY_PATH = "Shape Configuration|Asset|PhysX Mesh"
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the empty level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create an entity
|
||||
test_entity = Entity.create_editor_entity("test_entity")
|
||||
|
||||
+3
-2
@@ -62,7 +62,9 @@ def Collider_PxMeshConvexMeshCollides():
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
import azlmbr.math as math
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr
|
||||
@@ -73,9 +75,8 @@ def Collider_PxMeshConvexMeshCollides():
|
||||
MESH_ASSET_PATH = os.path.join("assets", "Physics", "Collider_PxMeshConvexMeshCollides", "spherebot", "r0-b_body.pxmesh")
|
||||
TIMEOUT = 2.0
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create test entity
|
||||
collider = EditorEntity.create_editor_entity_at([512.0, 512.0, 33.0], "Collider")
|
||||
|
||||
+3
-2
@@ -59,15 +59,16 @@ def Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx():
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.asset as azasset
|
||||
|
||||
# Asset paths
|
||||
STATIC_MESH = os.path.join("assets", "Physics", "Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx", "test_asset.azmodel")
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the empty level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create an entity
|
||||
test_entity = Entity.create_editor_entity("test_entity")
|
||||
|
||||
+3
-3
@@ -44,15 +44,15 @@ def ForceRegion_WithNonTriggerColliderWarning():
|
||||
:return: None
|
||||
"""
|
||||
import azlmbr.legacy.general as general
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the empty level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create test entity
|
||||
test_entity = EditorEntity.create_editor_entity("TestEntity")
|
||||
|
||||
+3
-2
@@ -57,6 +57,8 @@ def Material_LibraryClearingAssignsDefault():
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.asset_utils import Asset
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.asset as azasset
|
||||
|
||||
@@ -66,9 +68,8 @@ def Material_LibraryClearingAssignsDefault():
|
||||
default_material_path = os.path.join("assets", "physics", "surfacetypemateriallibrary.physmaterial")
|
||||
new_material_path = os.path.join("physicssurfaces", "default_phys_materials.physmaterial")
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create new Entity with PhysX Character Controller
|
||||
test_entity = EditorEntity.create_editor_entity("TestEntity")
|
||||
|
||||
+3
-2
@@ -49,9 +49,10 @@ def Ragdoll_AddPhysxRagdollComponentWorks():
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
|
||||
helper.init_idle()
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# 1) Load the level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create test entity
|
||||
test_entity = EditorEntity.create_editor_entity("TestEntity")
|
||||
|
||||
+3
-2
@@ -50,12 +50,13 @@ def ShapeCollider_CanBeAddedWitNoWarnings():
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the empty level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create an entity
|
||||
collider_entity = Entity.create_editor_entity("Collider")
|
||||
|
||||
+3
-2
@@ -54,6 +54,8 @@ def ShapeCollider_InactiveWhenNoShapeComponent():
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.editor as editor
|
||||
@@ -65,9 +67,8 @@ def ShapeCollider_InactiveWhenNoShapeComponent():
|
||||
"""
|
||||
return editor.EditorComponentAPIBus(bus.Broadcast, "IsComponentEnabled", component_id)
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Add an entity with a PhysX Shape Collider component.
|
||||
collider = EditorEntity.create_editor_entity("Collider")
|
||||
|
||||
+3
-2
@@ -45,6 +45,8 @@ def ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor():
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
@@ -61,9 +63,8 @@ def ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor():
|
||||
# Wait 60 frames more
|
||||
general.idle_wait_frames(60)
|
||||
|
||||
helper.init_idle()
|
||||
# 1) Load the empty level
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create 512 entities with PhysX Shape Collider and Sphere Shape components
|
||||
entity_failure = False
|
||||
|
||||
@@ -24,12 +24,12 @@ from base import TestAutomationBase
|
||||
class TestAutomation(TestAutomationBase):
|
||||
def test_WhiteBox_AddComponentToEntity(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import WhiteBox_AddComponentToEntity as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_WhiteBox_SetDefaultShape(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import WhiteBox_SetDefaultShape as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_WhiteBox_SetInvisible(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import WhiteBox_SetInvisible as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@@ -32,7 +32,7 @@ def C28798177_WhiteBox_AddComponentToEntity():
|
||||
|
||||
# open level
|
||||
helper.init_idle()
|
||||
general.open_level("EmptyLevel")
|
||||
helper.open_level("WhiteBox", "EmptyLevel", no_prompt=False)
|
||||
|
||||
# create white box entity and attach component
|
||||
white_box_entity = init.create_white_box_entity()
|
||||
|
||||
@@ -54,7 +54,7 @@ def C29279329_WhiteBox_SetDefaultShape():
|
||||
|
||||
# open level
|
||||
helper.init_idle()
|
||||
general.open_level("EmptyLevel")
|
||||
helper.open_level("WhiteBox", "EmptyLevel", no_prompt=False)
|
||||
|
||||
# create white box entity and attach component
|
||||
white_box_entity = init.create_white_box_entity()
|
||||
|
||||
@@ -39,7 +39,7 @@ def C28798205_WhiteBox_SetInvisible():
|
||||
|
||||
# open level
|
||||
helper.init_idle()
|
||||
general.open_level("EmptyLevel")
|
||||
helper.open_level("WhiteBox", "EmptyLevel", no_prompt=False)
|
||||
|
||||
white_box_entity_name = 'WhiteBox-Visibility'
|
||||
white_box_visibility_path = 'White Box Material|Visible'
|
||||
|
||||
+4
-2
@@ -79,7 +79,7 @@ def bundler_batch_setup_fixture(request, workspace, asset_processor, timeout) ->
|
||||
workspace.asset_processor_platform)
|
||||
)
|
||||
# Useful sizes
|
||||
self.max_bundle_size_in_mib = 5
|
||||
self.max_bundle_size_in_mib = 35
|
||||
self.number_of_bytes_in_mib = 1024 * 1024
|
||||
self.workspace = workspace
|
||||
self.platforms = platforms
|
||||
@@ -271,11 +271,13 @@ def bundler_batch_setup_fixture(request, workspace, asset_processor, timeout) ->
|
||||
for rel_path in self.get_asset_relative_paths(self.asset_info_file_result):
|
||||
assets_from_file.append(os.path.normpath(rel_path))
|
||||
|
||||
expected_size = self.max_bundle_size_in_mib * self.number_of_bytes_in_mib
|
||||
# extract all files from the bundles
|
||||
for bundle in dependent_bundle_name:
|
||||
file_info = os.stat(bundle)
|
||||
# Verify that the size of all bundles is less than the max size specified
|
||||
assert file_info.st_size <= (self.max_bundle_size_in_mib * self.number_of_bytes_in_mib)
|
||||
assert file_info.st_size <= expected_size, \
|
||||
f"file_info.st_size {file_info.st_size} for bundle {bundle} was expected to be smaller than {expected_size}"
|
||||
with zipfile.ZipFile(bundle) as bundle_zip:
|
||||
bundle_zip.extractall(extract_dir)
|
||||
|
||||
|
||||
+5
-5
@@ -242,7 +242,7 @@ Node Type: BoneData
|
||||
BasisX: < 1.000000, -0.000000, 0.000000>
|
||||
BasisY: < 0.000000, 1.000000, 0.000000>
|
||||
BasisZ: <-0.000000, -0.000000, 1.000000>
|
||||
Transl: < 0.152547, 0.043345, 0.090954>
|
||||
Transl: < 0.152547, 0.043345, 0.090955>
|
||||
|
||||
Node Name: animation
|
||||
Node Path: RootNode.jack_root.Bip01__pelvis.spine1.spine2.animation
|
||||
@@ -544,7 +544,7 @@ Node Type: BoneData
|
||||
Node Name: animation
|
||||
Node Path: RootNode.jack_root.Bip01__pelvis.spine1.spine2.spine3.l_shldr.l_upArm.l_upArmRoll.animation
|
||||
Node Type: AnimationData
|
||||
KeyFrames: Count 195. Hash: 8781707605519483934
|
||||
KeyFrames: Count 195. Hash: 15529789169672670472
|
||||
TimeStepBetweenFrames: 0.033333
|
||||
|
||||
Node Name: transform
|
||||
@@ -710,7 +710,7 @@ Node Type: BoneData
|
||||
BasisX: < 0.514369, 0.855813, 0.054857>
|
||||
BasisY: < 0.088153, 0.010863, -0.996047>
|
||||
BasisZ: <-0.853026, 0.517172, -0.069855>
|
||||
Transl: <-0.247306, -0.062325, 0.878372>
|
||||
Transl: <-0.247306, -0.062325, 0.878373>
|
||||
|
||||
Node Name: animation
|
||||
Node Path: RootNode.jack_root.Bip01__pelvis.spine1.spine2.spine3.r_shldr.r_upArm.r_loArm.r_loArmRoll.animation
|
||||
@@ -857,7 +857,7 @@ Node Type: BoneData
|
||||
BasisX: < 0.329257, 0.944038, -0.019538>
|
||||
BasisY: < 0.465563, -0.180309, -0.866452>
|
||||
BasisZ: <-0.821487, 0.276189, -0.498877>
|
||||
Transl: <-0.255124, -0.049696, 0.794466>
|
||||
Transl: <-0.255124, -0.049696, 0.794467>
|
||||
|
||||
Node Name: animation
|
||||
Node Path: RootNode.jack_root.Bip01__pelvis.spine1.spine2.spine3.l_shldr.l_upArm.l_loArm.l_hand.l_metacarpal.animation
|
||||
@@ -953,7 +953,7 @@ Node Type: BoneData
|
||||
BasisX: <-0.102387, -0.418082, -0.902621>
|
||||
BasisY: < 0.928150, 0.286271, -0.237880>
|
||||
BasisZ: < 0.357847, -0.862123, 0.358732>
|
||||
Transl: < 0.187367, 0.698323, 1.467209>
|
||||
Transl: < 0.187367, 0.698324, 1.467209>
|
||||
|
||||
Node Name: animation
|
||||
Node Path: RootNode.jack_root.Bip01__pelvis.spine1.spine2.spine3.r_shldr.r_upArm.r_loArm.r_hand.r_mid1.animation
|
||||
|
||||
+41
-41
@@ -114,7 +114,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9225030 0.3829492 -0.0483544 -0.3849890 0.9218784 -0.0438619 0.0277800 0.0590787 0.9978667 -0.0995240 0.0035963 0.9837443" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9225030 0.3829492 -0.0483544 -0.3849890 0.9218784 -0.0438619 0.0277800 0.0590787 0.9978667 -0.0995240 0.0035963 0.9837442" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -191,7 +191,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9225030 0.3829492 -0.0483544 -0.3849890 0.9218784 -0.0438619 0.0277800 0.0590787 0.9978667 -0.1057190 -0.0095780 0.7612199" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9225030 0.3829492 -0.0483544 -0.3849890 0.9218784 -0.0438619 0.0277800 0.0590787 0.9978667 -0.1057190 -0.0095780 0.7612200" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -204,7 +204,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9225030 0.3829492 -0.0483545 -0.3857441 0.9101822 -0.1508971 -0.0137745 0.1578555 0.9873661 -0.1119141 -0.0227522 0.5386958" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9225030 0.3829492 -0.0483545 -0.3857441 0.9101822 -0.1508971 -0.0137745 0.1578555 0.9873661 -0.1119141 -0.0227522 0.5386957" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -268,7 +268,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9918931 -0.1127676 0.0585800 0.1181807 0.9880368 -0.0990792 -0.0467063 0.1051989 0.9933537 0.1314755 0.0908038 0.5390974" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9918931 -0.1127676 0.0585800 0.1181807 0.9880368 -0.0990792 -0.0467063 0.1051989 0.9933537 0.1314754 0.0908038 0.5390974" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -319,7 +319,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.9846771 -0.1743657 -0.0027636 -0.0040787 0.0071844 0.9999658 -0.1743399 0.9846547 -0.0077855 -0.0024987 0.0198645 1.2316585" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.9846771 -0.1743657 -0.0027636 -0.0040787 0.0071844 0.9999658 -0.1743399 0.9846547 -0.0077855 -0.0024987 0.0198645 1.2316583" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -408,7 +408,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9636059 0.2673270 0.0000002 -0.2673270 0.9636059 0.0000004 -0.0000001 -0.0000005 0.9999999 -0.1057001 -0.0939669 0.0932542" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9636059 0.2673270 0.0000002 -0.2673270 0.9636059 0.0000004 -0.0000001 -0.0000005 0.9999999 -0.1057001 -0.0939668 0.0932542" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -497,7 +497,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="1.0000000 -0.0000001 0.0000001 0.0000001 1.0000000 0.0000005 -0.0000001 -0.0000005 1.0000000 0.1525467 0.0433452 0.0909544" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="1.0000000 -0.0000001 0.0000001 0.0000001 1.0000000 0.0000005 -0.0000001 -0.0000005 1.0000000 0.1525467 0.0433452 0.0909545" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -548,7 +548,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.9795371 -0.2012138 -0.0044671 0.0088889 -0.0654249 0.9978178 -0.2010670 0.9773599 0.0658747 -0.0031105 0.0209422 1.3816533" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.9795371 -0.2012138 -0.0044671 0.0088889 -0.0654249 0.9978178 -0.2010670 0.9773599 0.0658747 -0.0031105 0.0209422 1.3816534" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -650,7 +650,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="1.0000000 -0.0000001 0.0000001 0.0000001 1.0000000 0.0000005 -0.0000001 -0.0000005 1.0000000 0.1525467 0.1935186 0.0237662" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="1.0000000 -0.0000001 0.0000001 0.0000001 1.0000000 0.0000005 -0.0000001 -0.0000005 1.0000000 0.1525467 0.1935186 0.0237663" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -701,7 +701,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.9948647 -0.0988443 0.0217715 0.0113319 0.1049736 0.9944103 -0.1005772 0.9895505 -0.1033145 -0.0014216 0.0085115 1.5712386" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.9948647 -0.0988443 0.0217715 0.0113319 0.1049736 0.9944103 -0.1005772 0.9895505 -0.1033145 -0.0014216 0.0085115 1.5712385" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -727,7 +727,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3913002 -0.9108952 0.1309726 -0.9019646 -0.4078557 -0.1418229 0.1826037 -0.0626373 -0.9811893 0.0803188 0.0196155 1.4967986" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3913002 -0.9108952 0.1309726 -0.9019646 -0.4078557 -0.1418229 0.1826037 -0.0626373 -0.9811893 0.0803188 0.0196155 1.4967985" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -854,7 +854,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.9994818 -0.0310398 -0.0085214 -0.0078972 -0.0201766 0.9997651 -0.0312043 0.9993144 0.0199210 -0.0020550 0.0351172 1.6630899" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.9994818 -0.0310398 -0.0085214 -0.0078972 -0.0201766 0.9997651 -0.0312043 0.9993144 0.0199210 -0.0020550 0.0351172 1.6630900" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -905,7 +905,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.1350640 0.9784527 -0.1561655 0.9639030 0.0932519 -0.2493893 -0.2294530 -0.1842118 -0.9557285 -0.1881499 -0.0555908 1.4517218" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.1350640 0.9784527 -0.1561655 0.9639030 0.0932519 -0.2493893 -0.2294530 -0.1842118 -0.9557285 -0.1881499 -0.0555909 1.4517218" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1109,7 +1109,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0534004 -0.3009000 -0.9521595 -0.9985610 0.0208024 0.0494289 0.0049341 0.9534288 -0.3015778 0.1978613 0.1747155 1.4348212" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0534004 -0.3009000 -0.9521595 -0.9985610 0.0208024 0.0494289 0.0049341 0.9534288 -0.3015778 0.1978613 0.1747155 1.4348211" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1141,7 +1141,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="KeyFrames - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="8781707605519483934" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="15529789169672670472" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -1415,7 +1415,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9665319 -0.0616776 0.2490221 0.2565261 0.2200654 -0.9411510 0.0032468 0.9735332 0.2285221 -0.2390312 -0.0175187 0.9024240" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9665319 -0.0616776 0.2490221 0.2565261 0.2200654 -0.9411510 0.0032468 0.9735332 0.2285221 -0.2390311 -0.0175187 0.9024240" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1441,7 +1441,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3292569 0.9440380 -0.0195383 0.1345730 -0.0673964 -0.9886089 -0.9346014 0.3228769 -0.1492327 -0.2613609 -0.0465721 0.8402831" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3292569 0.9440380 -0.0195383 0.1345730 -0.0673964 -0.9886089 -0.9346014 0.3228769 -0.1492327 -0.2613609 -0.0465721 0.8402832" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1454,7 +1454,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.5215136 0.8398412 -0.1506330 -0.0192358 -0.1649243 -0.9861184 -0.8530262 0.5171716 -0.0698552 -0.2693057 -0.0706829 0.8937123" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.5215136 0.8398412 -0.1506330 -0.0192358 -0.1649243 -0.9861184 -0.8530262 0.5171716 -0.0698552 -0.2693058 -0.0706829 0.8937123" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1467,7 +1467,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.5143689 0.8558125 0.0548569 0.0881534 0.0108630 -0.9960474 -0.8530262 0.5171716 -0.0698552 -0.2473062 -0.0623250 0.8783725" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.5143689 0.8558125 0.0548569 0.0881534 0.0108630 -0.9960474 -0.8530262 0.5171716 -0.0698552 -0.2473062 -0.0623250 0.8783726" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1569,7 +1569,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0802934 -0.4308499 -0.8988443 0.5990614 -0.7415851 0.3019556 -0.7966672 -0.5142179 0.3176499 0.2168119 0.6618763 1.4820503" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0802934 -0.4308499 -0.8988443 0.5990614 -0.7415851 0.3019556 -0.7966672 -0.5142179 0.3176499 0.2168119 0.6618764 1.4820503" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1582,7 +1582,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0260422 -0.4643564 -0.8852653 0.9706670 -0.2234796 0.0886692 -0.2390129 -0.8569889 0.4565554 0.2131762 0.6597862 1.4626874" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0260422 -0.4643564 -0.8852653 0.9706670 -0.2234796 0.0886692 -0.2390129 -0.8569889 0.4565554 0.2131762 0.6597863 1.4626874" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1608,7 +1608,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.0557957 -0.0005854 -0.9984418 -0.9981855 -0.0227144 -0.0557681 -0.0226463 0.9997417 -0.0018517 0.1809568 0.7018137 1.4945196" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.0557957 -0.0005854 -0.9984418 -0.9981855 -0.0227144 -0.0557681 -0.0226463 0.9997417 -0.0018517 0.1809568 0.7018138 1.4945196" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1659,7 +1659,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9665319 -0.0616776 0.2490221 0.2373489 -0.1534441 -0.9592289 0.0973740 0.9862305 -0.1336694 -0.2288372 -0.0087736 0.8650238" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9665319 -0.0616776 0.2490221 0.2373489 -0.1534441 -0.9592289 0.0973740 0.9862305 -0.1336694 -0.2288371 -0.0087736 0.8650237" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1710,7 +1710,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3615634 0.9298344 0.0684081 0.4901183 -0.1271389 -0.8623338 -0.7931304 0.3453165 -0.5016975 -0.2471175 -0.0273644 0.7929417" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3615634 0.9298344 0.0684081 0.4901183 -0.1271389 -0.8623338 -0.7931304 0.3453165 -0.5016975 -0.2471175 -0.0273644 0.7929418" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1761,7 +1761,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3292569 0.9440380 -0.0195383 0.4655626 -0.1803091 -0.8664525 -0.8214875 0.2761891 -0.4988768 -0.2551242 -0.0496955 0.7944664" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3292569 0.9440380 -0.0195383 0.4655626 -0.1803091 -0.8664525 -0.8214875 0.2761891 -0.4988768 -0.2551242 -0.0496955 0.7944666" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1812,7 +1812,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3559713 0.9329765 -0.0532857 0.1359657 -0.1081222 -0.9847956 -0.9245527 0.3433140 -0.1653412 -0.2679712 -0.0667890 0.8432873" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3559713 0.9329765 -0.0532857 0.1359657 -0.1081222 -0.9847956 -0.9245527 0.3433140 -0.1653412 -0.2679712 -0.0667891 0.8432874" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1825,7 +1825,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3169729 0.9297552 -0.1873048 0.2697999 -0.2777221 -0.9219966 -0.9092504 0.2417132 -0.3388780 -0.2744931 -0.0856099 0.8500432" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3169729 0.9297552 -0.1873048 0.2697999 -0.2777221 -0.9219966 -0.9092504 0.2417132 -0.3388780 -0.2744932 -0.0856099 0.8500431" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1914,7 +1914,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.0052020 0.3264090 0.9452143 0.5280435 -0.8035957 0.2745980 0.8492015 0.4976858 -0.1765385 0.1653490 0.6116705 1.5069345" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.0052020 0.3264090 0.9452143 0.5280435 -0.8035957 0.2745980 0.8492015 0.4976858 -0.1765385 0.1653489 0.6116704 1.5069345" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -1965,7 +1965,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.1023873 -0.4180822 -0.9026206 0.9281499 0.2862708 -0.2378801 0.3578474 -0.8621231 0.3587325 0.1873666 0.6983235 1.4672089" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.1023873 -0.4180822 -0.9026206 0.9281499 0.2862708 -0.2378801 0.3578474 -0.8621231 0.3587325 0.1873666 0.6983237 1.4672090" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2067,7 +2067,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0656088 -0.4626088 -0.8841316 0.9937954 -0.1100428 -0.0161683 -0.0898128 -0.8797066 0.4669581 0.1996420 0.6531383 1.4435714" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0656088 -0.4626088 -0.8841316 0.9937954 -0.1100428 -0.0161683 -0.0898128 -0.8797066 0.4669581 0.1996421 0.6531384 1.4435714" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2169,7 +2169,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9665319 -0.0616776 0.2490221 0.2373489 -0.1534441 -0.9592289 0.0973740 0.9862305 -0.1336694 -0.2218228 -0.0133082 0.8366759" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.9665319 -0.0616776 0.2490221 0.2373489 -0.1534441 -0.9592289 0.0973740 0.9862305 -0.1336694 -0.2218228 -0.0133083 0.8366759" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2220,7 +2220,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3615634 0.9298344 0.0684081 0.7452133 -0.2441212 -0.6205335 -0.5602937 0.2753409 -0.7811900 -0.2311346 -0.0315104 0.7648208" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3615634 0.9298344 0.0684081 0.7452133 -0.2441212 -0.6205335 -0.5602937 0.2753409 -0.7811900 -0.2311346 -0.0315104 0.7648209" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2271,7 +2271,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3292569 0.9440380 -0.0195383 0.7326652 -0.2684788 -0.6253964 -0.5956439 0.1916010 -0.7800621 -0.2399473 -0.0555735 0.7662210" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3292569 0.9440380 -0.0195383 0.7326652 -0.2684788 -0.6253964 -0.5956439 0.1916010 -0.7800621 -0.2399472 -0.0555734 0.7662212" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2322,7 +2322,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3559713 0.9329765 -0.0532857 0.5122607 -0.2425047 -0.8238812 -0.7815840 0.2659818 -0.5642518 -0.2625020 -0.0711384 0.8036732" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3559713 0.9329765 -0.0532857 0.5122607 -0.2425047 -0.8238812 -0.7815840 0.2659818 -0.5642518 -0.2625019 -0.0711384 0.8036732" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2373,7 +2373,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3169729 0.9297552 -0.1873048 0.6083978 -0.3508277 -0.7118790 -0.7275853 0.1116905 -0.6768638 -0.2653106 -0.0950621 0.8186633" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3169729 0.9297552 -0.1873048 0.6083978 -0.3508277 -0.7118790 -0.7275853 0.1116905 -0.6768638 -0.2653105 -0.0950620 0.8186634" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2475,7 +2475,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.1023873 -0.4180822 -0.9026206 0.0986766 0.8986452 -0.4274341 0.9898382 -0.1328314 -0.0507549 0.1570989 0.6889878 1.4749659" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.1023873 -0.4180822 -0.9026206 0.0986766 0.8986452 -0.4274341 0.9898382 -0.1328314 -0.0507549 0.1570989 0.6889879 1.4749659" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2526,7 +2526,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0260422 -0.4643564 -0.8852653 -0.5639869 0.7379948 -0.3705161 0.8253731 0.4896291 -0.2811100 0.1495006 0.6467174 1.4714146" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0260422 -0.4643564 -0.8852653 -0.5639869 0.7379948 -0.3705161 0.8253731 0.4896291 -0.2811100 0.1495006 0.6467175 1.4714146" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2628,7 +2628,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.1100348 -0.4672045 -0.8772753 0.2567038 0.8393306 -0.4791943 0.9602060 -0.2779281 0.0275776 0.1585392 0.6416523 1.4316828" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.1100348 -0.4672045 -0.8772753 0.2567038 0.8393306 -0.4791943 0.9602060 -0.2779281 0.0275776 0.1585393 0.6416522 1.4316828" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2793,7 +2793,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3559713 0.9329765 -0.0532857 0.7935058 -0.3318905 -0.5100955 -0.4935922 0.1392968 -0.8584654 -0.2455191 -0.0791781 0.7763593" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3559713 0.9329765 -0.0532857 0.7935058 -0.3318905 -0.5100955 -0.4935922 0.1392968 -0.8584654 -0.2455190 -0.0791781 0.7763594" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -2844,7 +2844,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3169729 0.9297552 -0.1873048 0.8471319 -0.3663475 -0.3849116 -0.4264922 -0.0366653 -0.9037473 -0.2508485 -0.1034015 0.8017413" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="0.3169729 0.9297552 -0.1873048 0.8471319 -0.3663475 -0.3849116 -0.4264922 -0.0366653 -0.9037473 -0.2508485 -0.1034015 0.8017412" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -3009,7 +3009,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="WorldTransform" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0656088 -0.4626088 -0.8841316 -0.8307251 0.5161862 -0.2084411 0.5528033 0.7207946 -0.4181670 0.1489982 0.6300828 1.4593928" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
<Class name="Matrix3x4" field="m_data" value="-0.0656088 -0.4626088 -0.8841316 -0.8307251 0.5161862 -0.2084411 0.5528033 0.7207946 -0.4181670 0.1489982 0.6300829 1.4593928" type="{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
|
||||
+6
-6
@@ -90,7 +90,7 @@ Node Path: RootNode.lodtest_lod1.lodtest_lod1_1
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 1283526254311745349
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 3728991722746136013
|
||||
FaceList: Count 124. Hash: 8546457964849634958
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: lodtest_lod1_2
|
||||
@@ -107,7 +107,7 @@ Node Path: RootNode.lodtest_lod1.lodtest_lod1_1_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 7921557352486854444
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 18311637590974204568
|
||||
FaceList: Count 124. Hash: 7602933716150163115
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: transform
|
||||
@@ -641,14 +641,14 @@ Node Type: MaterialData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.lodtest_lod1.lodtest_lod1_1.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 11165448242141781141
|
||||
Tangents: Count 192. Hash: 13347865366302598201
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.lodtest_lod1.lodtest_lod1_1.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 7987814487334449536
|
||||
Bitangents: Count 192. Hash: 11177881960262055002
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
@@ -705,14 +705,14 @@ Node Type: MeshVertexUVData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.lodtest_lod1.lodtest_lod1_1_optimized.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 7293001660047850407
|
||||
Tangents: Count 192. Hash: 13256424469303674766
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.lodtest_lod1.lodtest_lod1_1_optimized.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 2874689498270494796
|
||||
Bitangents: Count 192. Hash: 12542581737782433115
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
|
||||
+6
-6
@@ -424,7 +424,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="3728991722746136013" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="8546457964849634958" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -492,7 +492,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="18311637590974204568" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="7602933716150163115" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -1729,7 +1729,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="11165448242141781141" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="13347865366302598201" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -1760,7 +1760,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="7987814487334449536" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="11177881960262055002" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -1891,7 +1891,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="7293001660047850407" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="13256424469303674766" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -1922,7 +1922,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="2874689498270494796" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="12542581737782433115" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
|
||||
+6
-6
@@ -15,7 +15,7 @@ Node Path: RootNode.Cone.Cone_1
|
||||
Node Type: MeshData
|
||||
Positions: Count 128. Hash: 7714223793259938211
|
||||
Normals: Count 128. Hash: 2352668179264002707
|
||||
FaceList: Count 62. Hash: 14563017593520122982
|
||||
FaceList: Count 62. Hash: 9996709738915796379
|
||||
FaceMaterialIds: Count 62. Hash: 12234218120113875284
|
||||
|
||||
Node Name: Cone_2
|
||||
@@ -32,7 +32,7 @@ Node Path: RootNode.Cone.Cone_1_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 128. Hash: 10174710861731544050
|
||||
Normals: Count 128. Hash: 2352668179264002707
|
||||
FaceList: Count 62. Hash: 11332459830831720586
|
||||
FaceList: Count 62. Hash: 16809217014760075539
|
||||
FaceMaterialIds: Count 62. Hash: 12234218120113875284
|
||||
|
||||
Node Name: Cube_phys_1
|
||||
@@ -100,14 +100,14 @@ Node Type: MaterialData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.Cone.Cone_1.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 128. Hash: 14351734474754285313
|
||||
Tangents: Count 128. Hash: 913385441694195840
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.Cone.Cone_1.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 128. Hash: 15997251922861304891
|
||||
Bitangents: Count 128. Hash: 16763868708150748964
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
@@ -164,14 +164,14 @@ Node Type: MeshVertexUVData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.Cone.Cone_1_optimized.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 128. Hash: 12937806066914201637
|
||||
Tangents: Count 128. Hash: 11496565252852403390
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.Cone.Cone_1_optimized.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 128. Hash: 873786942732834087
|
||||
Bitangents: Count 128. Hash: 6810649909977646014
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
|
||||
+6
-6
@@ -55,7 +55,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="14563017593520122982" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="9996709738915796379" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -123,7 +123,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="11332459830831720586" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="16809217014760075539" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -309,7 +309,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="14351734474754285313" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="913385441694195840" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -340,7 +340,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="15997251922861304891" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="16763868708150748964" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -471,7 +471,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="12937806066914201637" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="11496565252852403390" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -502,7 +502,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="873786942732834087" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="6810649909977646014" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
|
||||
+6
-6
@@ -40,7 +40,7 @@ Node Path: RootNode.Cone.Cone_1
|
||||
Node Type: MeshData
|
||||
Positions: Count 128. Hash: 12506421592104186200
|
||||
Normals: Count 128. Hash: 367461522682321485
|
||||
FaceList: Count 62. Hash: 13208951979626973193
|
||||
FaceList: Count 62. Hash: 5910399941817424750
|
||||
FaceMaterialIds: Count 62. Hash: 15454348664434923102
|
||||
|
||||
Node Name: Cone_2
|
||||
@@ -57,7 +57,7 @@ Node Path: RootNode.Cone.Cone_1_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 128. Hash: 14946490408303214595
|
||||
Normals: Count 128. Hash: 367461522682321485
|
||||
FaceList: Count 62. Hash: 11102693598481718079
|
||||
FaceList: Count 62. Hash: 17210030509394354449
|
||||
FaceMaterialIds: Count 62. Hash: 15454348664434923102
|
||||
|
||||
Node Name: transform
|
||||
@@ -389,14 +389,14 @@ Node Type: MaterialData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.Cone.Cone_1.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 128. Hash: 12695232913942738512
|
||||
Tangents: Count 128. Hash: 11574815809363656385
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.Cone.Cone_1.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 128. Hash: 9034210764777745751
|
||||
Bitangents: Count 128. Hash: 1026129762512670051
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
@@ -483,14 +483,14 @@ Node Type: MeshVertexUVData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.Cone.Cone_1_optimized.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 128. Hash: 10740776669168782230
|
||||
Tangents: Count 128. Hash: 5198081677141836233
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.Cone.Cone_1_optimized.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 128. Hash: 6990068477421150065
|
||||
Bitangents: Count 128. Hash: 6948605204859680167
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
|
||||
+6
-6
@@ -178,7 +178,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="13208951979626973193" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="5910399941817424750" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -246,7 +246,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="11102693598481718079" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="17210030509394354449" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -957,7 +957,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="12695232913942738512" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="11574815809363656385" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -988,7 +988,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="9034210764777745751" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="1026129762512670051" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -1174,7 +1174,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="10740776669168782230" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="5198081677141836233" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -1205,7 +1205,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="6990068477421150065" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="6948605204859680167" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
|
||||
+6
-6
@@ -40,7 +40,7 @@ Node Path: RootNode.Cylinder.Cylinder_1
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 1283526254311745349
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 3728991722746136013
|
||||
FaceList: Count 124. Hash: 8546457964849634958
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: Cylinder_2
|
||||
@@ -57,7 +57,7 @@ Node Path: RootNode.Cylinder.Cylinder_1_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 7921557352486854444
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 18311637590974204568
|
||||
FaceList: Count 124. Hash: 7602933716150163115
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: transform
|
||||
@@ -269,14 +269,14 @@ Node Type: MaterialData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.Cylinder.Cylinder_1.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 11165448242141781141
|
||||
Tangents: Count 192. Hash: 13347865366302598201
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.Cylinder.Cylinder_1.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 7987814487334449536
|
||||
Bitangents: Count 192. Hash: 11177881960262055002
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
@@ -333,14 +333,14 @@ Node Type: MeshVertexUVData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.Cylinder.Cylinder_1_optimized.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 7293001660047850407
|
||||
Tangents: Count 192. Hash: 13256424469303674766
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.Cylinder.Cylinder_1_optimized.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 2874689498270494796
|
||||
Bitangents: Count 192. Hash: 12542581737782433115
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
|
||||
+6
-6
@@ -178,7 +178,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="3728991722746136013" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="8546457964849634958" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -246,7 +246,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="18311637590974204568" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="7602933716150163115" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -737,7 +737,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="11165448242141781141" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="13347865366302598201" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -768,7 +768,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="7987814487334449536" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="11177881960262055002" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -899,7 +899,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="7293001660047850407" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="13256424469303674766" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -930,7 +930,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="2874689498270494796" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="12542581737782433115" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
|
||||
+6
-6
@@ -40,7 +40,7 @@ Node Path: RootNode.Cylinder.Cylinder_1
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 1283526254311745349
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 3728991722746136013
|
||||
FaceList: Count 124. Hash: 8546457964849634958
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: Cylinder_2
|
||||
@@ -57,7 +57,7 @@ Node Path: RootNode.Cylinder.Cylinder_1_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 7921557352486854444
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 18311637590974204568
|
||||
FaceList: Count 124. Hash: 7602933716150163115
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: transform
|
||||
@@ -269,14 +269,14 @@ Node Type: MaterialData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.Cylinder.Cylinder_1.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 11165448242141781141
|
||||
Tangents: Count 192. Hash: 13347865366302598201
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.Cylinder.Cylinder_1.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 7987814487334449536
|
||||
Bitangents: Count 192. Hash: 11177881960262055002
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
@@ -333,14 +333,14 @@ Node Type: MeshVertexUVData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.Cylinder.Cylinder_1_optimized.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 7293001660047850407
|
||||
Tangents: Count 192. Hash: 13256424469303674766
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.Cylinder.Cylinder_1_optimized.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 2874689498270494796
|
||||
Bitangents: Count 192. Hash: 12542581737782433115
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
|
||||
+6
-6
@@ -178,7 +178,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="3728991722746136013" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="8546457964849634958" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -246,7 +246,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="18311637590974204568" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="7602933716150163115" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -737,7 +737,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="11165448242141781141" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="13347865366302598201" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -768,7 +768,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="7987814487334449536" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="11177881960262055002" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -899,7 +899,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="7293001660047850407" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="13256424469303674766" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -930,7 +930,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="2874689498270494796" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="12542581737782433115" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
|
||||
+3
-3
@@ -40,7 +40,7 @@ Node Path: RootNode.Cylinder.Cylinder_1
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 1283526254311745349
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 3728991722746136013
|
||||
FaceList: Count 124. Hash: 8546457964849634958
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: Cylinder_2
|
||||
@@ -261,14 +261,14 @@ Node Type: MaterialData
|
||||
Node Name: TangentSet_0
|
||||
Node Path: RootNode.Cylinder.Cylinder_1.TangentSet_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 11165448242141781141
|
||||
Tangents: Count 192. Hash: 13347865366302598201
|
||||
GenerationMethod: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_0
|
||||
Node Path: RootNode.Cylinder.Cylinder_1.BitangentSet_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 7987814487334449536
|
||||
Bitangents: Count 192. Hash: 11177881960262055002
|
||||
GenerationMethod: 1
|
||||
|
||||
Node Name: transform
|
||||
|
||||
+3
-3
@@ -178,7 +178,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="FaceList - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="3728991722746136013" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="8546457964849634958" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -682,7 +682,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Tangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="11165448242141781141" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="13347865366302598201" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
@@ -713,7 +713,7 @@
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
<Class name="AZStd::string" field="value1" value="Bitangents - Hash" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
|
||||
<Class name="AZ::u64" field="m_data" value="7987814487334449536" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="m_data" value="11177881960262055002" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZStd::pair" field="element" type="{48BF1FCF-92A6-52E1-A543-F0B96702B0E2}">
|
||||
|
||||
@@ -27,15 +27,15 @@ TEST_DIRECTORY = os.path.dirname(__file__)
|
||||
class TestAutomation(TestAutomationBase):
|
||||
def test_Pane_HappyPath_OpenCloseSuccessfully(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_HappyPath_OpenCloseSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Pane_HappyPath_DocksProperly(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_HappyPath_DocksProperly as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Pane_HappyPath_ResizesProperly(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_HappyPath_ResizesProperly as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
@@ -45,7 +45,7 @@ class TestAutomation(TestAutomationBase):
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptCanvas_TwoComponents_InteractSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
@@ -55,15 +55,15 @@ class TestAutomation(TestAutomationBase):
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptCanvas_ChangingAssets_ComponentStable as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Graph_HappyPath_ZoomInZoomOut(self, request, workspace, editor, launcher_platform):
|
||||
from . import Graph_HappyPath_ZoomInZoomOut as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_NodePalette_HappyPath_CanSelectNode(self, request, workspace, editor, launcher_platform):
|
||||
from . import NodePalette_HappyPath_CanSelectNode as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
@@ -73,11 +73,11 @@ class TestAutomation(TestAutomationBase):
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_NodePalette_HappyPath_ClearSelection(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import NodePalette_HappyPath_ClearSelection as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
@@ -87,7 +87,7 @@ class TestAutomation(TestAutomationBase):
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptCanvas_TwoEntities_UseSimultaneously as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ScriptEvent_HappyPath_CreatedWithoutError(self, request, workspace, editor, launcher_platform, project):
|
||||
def teardown():
|
||||
@@ -99,19 +99,19 @@ class TestAutomation(TestAutomationBase):
|
||||
[os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True
|
||||
)
|
||||
from . import ScriptEvent_HappyPath_CreatedWithoutError as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ScriptCanvasTools_Toggle_OpenCloseSuccess(self, request, workspace, editor, launcher_platform):
|
||||
from . import ScriptCanvasTools_Toggle_OpenCloseSuccess as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_NodeInspector_HappyPath_VariableRenames(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import NodeInspector_HappyPath_VariableRenames as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Debugger_HappyPath_TargetMultipleGraphs(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import Debugger_HappyPath_TargetMultipleGraphs as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_Debugger_HappyPath_TargetMultipleEntities(self, request, workspace, editor, launcher_platform, project, level):
|
||||
@@ -120,16 +120,16 @@ class TestAutomation(TestAutomationBase):
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import Debugger_HappyPath_TargetMultipleEntities as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
def test_EditMenu_Default_UndoRedo(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import EditMenu_Default_UndoRedo as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Pane_Undocked_ClosesSuccessfully(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_Undocked_ClosesSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_Entity_HappyPath_AddScriptCanvasComponent(self, request, workspace, editor, launcher_platform, project, level):
|
||||
@@ -138,11 +138,11 @@ class TestAutomation(TestAutomationBase):
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import Entity_HappyPath_AddScriptCanvasComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Pane_Default_RetainOnSCRestart(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_Default_RetainOnSCRestart as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
@@ -152,7 +152,7 @@ class TestAutomation(TestAutomationBase):
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptEvents_HappyPath_SendReceiveAcrossMultiple as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
@@ -162,7 +162,7 @@ class TestAutomation(TestAutomationBase):
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptEvents_Default_SendReceiveSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
@@ -172,24 +172,24 @@ class TestAutomation(TestAutomationBase):
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptEvents_ReturnSetType_Successfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_NodeCategory_ExpandOnClick(self, request, workspace, editor, launcher_platform):
|
||||
from . import NodeCategory_ExpandOnClick as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_NodePalette_SearchText_Deletion(self, request, workspace, editor, launcher_platform):
|
||||
from . import NodePalette_SearchText_Deletion as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
def test_VariableManager_UnpinVariableType_Works(self, request, workspace, editor, launcher_platform):
|
||||
from . import VariableManager_UnpinVariableType_Works as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Node_HappyPath_DuplicateNode(self, request, workspace, editor, launcher_platform):
|
||||
from . import Node_HappyPath_DuplicateNode as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_ScriptEvent_AddRemoveParameter_ActionsSuccessful(self, request, workspace, editor, launcher_platform):
|
||||
def teardown():
|
||||
@@ -201,7 +201,7 @@ class TestAutomation(TestAutomationBase):
|
||||
[os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True
|
||||
)
|
||||
from . import ScriptEvent_AddRemoveParameter_ActionsSuccessful as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
# NOTE: We had to use hydra_test_utils.py, as TestAutomationBase run_test method
|
||||
# fails because of pyside_utils import
|
||||
@@ -227,7 +227,6 @@ class TestScriptCanvasTests(object):
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
enable_prefab_system=False,
|
||||
)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
@@ -246,7 +245,6 @@ class TestScriptCanvasTests(object):
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
enable_prefab_system=False,
|
||||
)
|
||||
|
||||
def test_GraphClose_Default_SavePrompt(self, request, editor, launcher_platform):
|
||||
@@ -263,7 +261,6 @@ class TestScriptCanvasTests(object):
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
enable_prefab_system=False,
|
||||
)
|
||||
|
||||
def test_VariableManager_Default_CreateDeleteVars(self, request, editor, launcher_platform):
|
||||
@@ -278,7 +275,6 @@ class TestScriptCanvasTests(object):
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
enable_prefab_system=False,
|
||||
)
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
@@ -314,7 +310,6 @@ class TestScriptCanvasTests(object):
|
||||
cfg_args=[config.get('cfg_args')],
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
enable_prefab_system=False,
|
||||
)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
@@ -343,7 +338,6 @@ class TestScriptCanvasTests(object):
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
enable_prefab_system=False,
|
||||
)
|
||||
|
||||
@pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.")
|
||||
@@ -371,6 +365,5 @@ class TestScriptCanvasTests(object):
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
enable_prefab_system=False,
|
||||
)
|
||||
|
||||
@@ -23,4 +23,4 @@ class TestAutomation(TestAutomationBase):
|
||||
|
||||
def test_Opening_Closing_Pane(self, request, workspace, editor, launcher_platform):
|
||||
from . import Opening_Closing_Pane as test_module
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@@ -45,4 +45,14 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
AutomatedTesting.Assets
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::SmokeTest_Sandbox
|
||||
TEST_SUITE sandbox
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}
|
||||
PYTEST_MARKS "SUITE_sandbox"
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
)
|
||||
|
||||
endif()
|
||||
|
||||
@@ -14,7 +14,7 @@ import pytest
|
||||
import subprocess
|
||||
|
||||
|
||||
@pytest.mark.SUITE_smoke
|
||||
@pytest.mark.SUITE_sandbox
|
||||
class TestCLIToolAssetBuilderWorks(object):
|
||||
def test_CLITool_AssetBuilder_Works(self, build_directory):
|
||||
file_path = os.path.join(build_directory, "AssetBuilder")
|
||||
|
||||
+255
@@ -0,0 +1,255 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "Blast_ActorSplitsAfterCollision",
|
||||
"Components": {
|
||||
"Component_[10182366347512475253]": {
|
||||
"$type": "EditorPrefabComponent",
|
||||
"Id": 10182366347512475253
|
||||
},
|
||||
"Component_[12917798267488243668]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 12917798267488243668
|
||||
},
|
||||
"Component_[3261249813163778338]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3261249813163778338
|
||||
},
|
||||
"Component_[3837204912784440039]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 3837204912784440039
|
||||
},
|
||||
"Component_[4272963378099646759]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 4272963378099646759,
|
||||
"Parent Entity": ""
|
||||
},
|
||||
"Component_[4848458548047175816]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4848458548047175816
|
||||
},
|
||||
"Component_[5787060997243919943]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5787060997243919943
|
||||
},
|
||||
"Component_[7804170251266531779]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7804170251266531779
|
||||
},
|
||||
"Component_[7874177159288365422]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 7874177159288365422
|
||||
},
|
||||
"Component_[8018146290632383969]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8018146290632383969
|
||||
},
|
||||
"Component_[8452360690590857075]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 8452360690590857075
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entities": {
|
||||
"Entity_[678057008134]": {
|
||||
"Id": "Entity_[678057008134]",
|
||||
"Name": "Sphere_Moving",
|
||||
"Components": {
|
||||
"Component_[158491845118288574]": {
|
||||
"$type": "EditorColliderComponent",
|
||||
"Id": 158491845118288574,
|
||||
"ColliderConfiguration": {
|
||||
"CollisionGroupId": {
|
||||
"GroupId": "{45EBDE87-10BA-405B-9118-1FE9C750E5A3}"
|
||||
},
|
||||
"MaterialSelection": {
|
||||
"MaterialIds": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"ShapeConfiguration": {
|
||||
"ShapeType": 0
|
||||
}
|
||||
},
|
||||
"Component_[15882836540317052831]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 15882836540317052831
|
||||
},
|
||||
"Component_[15988538924200810686]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15988538924200810686
|
||||
},
|
||||
"Component_[17332118306686659923]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 17332118306686659923
|
||||
},
|
||||
"Component_[18013098363541384892]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 18013098363541384892
|
||||
},
|
||||
"Component_[3299242856338866058]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 3299242856338866058
|
||||
},
|
||||
"Component_[3368757662560547573]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 3368757662560547573,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 9646670826592538370
|
||||
},
|
||||
{
|
||||
"ComponentId": 158491845118288574,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 7177752238184232813,
|
||||
"SortIndex": 2
|
||||
},
|
||||
{
|
||||
"ComponentId": 3538399061071907667,
|
||||
"SortIndex": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[3538399061071907667]": {
|
||||
"$type": "EditorSphereShapeComponent",
|
||||
"Id": 3538399061071907667,
|
||||
"GameView": true
|
||||
},
|
||||
"Component_[3584595476595239676]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 3584595476595239676
|
||||
},
|
||||
"Component_[4539775501292735153]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 4539775501292735153
|
||||
},
|
||||
"Component_[5885911623396957736]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 5885911623396957736
|
||||
},
|
||||
"Component_[7177752238184232813]": {
|
||||
"$type": "EditorRigidBodyComponent",
|
||||
"Id": 7177752238184232813,
|
||||
"Configuration": {
|
||||
"entityId": "",
|
||||
"Compute Mass": false,
|
||||
"Mass": 100.0,
|
||||
"Inertia tensor": {
|
||||
"roll": 0.0,
|
||||
"pitch": 0.0,
|
||||
"yaw": 0.0,
|
||||
"scale": 0.10000000149011612
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[9646670826592538370]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 9646670826592538370,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
511.9999694824219,
|
||||
532.0,
|
||||
43.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[682351975430]": {
|
||||
"Id": "Entity_[682351975430]",
|
||||
"Name": "Destructable_Box",
|
||||
"Components": {
|
||||
"Component_[14428979635353087750]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 14428979635353087750
|
||||
},
|
||||
"Component_[14459069801260260996]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 14459069801260260996
|
||||
},
|
||||
"Component_[16353277599917996564]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 16353277599917996564
|
||||
},
|
||||
"Component_[16528484535459302978]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 16528484535459302978
|
||||
},
|
||||
"Component_[17689177494335411023]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 17689177494335411023
|
||||
},
|
||||
"Component_[18116908665747450198]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 18116908665747450198
|
||||
},
|
||||
"Component_[3544855145233062627]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 3544855145233062627,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 3826825320808092990
|
||||
},
|
||||
{
|
||||
"ComponentId": 5627868831214978789,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 7875098433529363009,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[3569626399556956817]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 3569626399556956817
|
||||
},
|
||||
"Component_[3826825320808092990]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 3826825320808092990,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
511.9991455078125,
|
||||
532.031982421875,
|
||||
39.52538299560547
|
||||
],
|
||||
"Scale": [
|
||||
1.0000001192092896,
|
||||
0.9999998807907104,
|
||||
1.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[5627868831214978789]": {
|
||||
"$type": "EditorBlastFamilyComponent",
|
||||
"Id": 5627868831214978789,
|
||||
"BlastAsset": {
|
||||
"assetId": {
|
||||
"guid": "{BAB71D97-F136-5C11-8AB6-6E9F768CA83B}"
|
||||
},
|
||||
"assetHint": "assets/destruction/box_2_chunks.blast"
|
||||
},
|
||||
"BlastMaterial": {
|
||||
"BlastMaterialId": "{2F200947-553F-487F-B4EA-57F0EF5AE024}"
|
||||
},
|
||||
"PhysicsMaterial": {
|
||||
"MaterialId": "{34AD1046-240B-448C-A694-AE80F595C431}"
|
||||
}
|
||||
},
|
||||
"Component_[7159608037522336146]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 7159608037522336146
|
||||
},
|
||||
"Component_[7875098433529363009]": {
|
||||
"$type": "EditorBlastMeshDataComponent",
|
||||
"Id": 7875098433529363009
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+148
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "Blast_ActorSplitsAfterDamage",
|
||||
"Components": {
|
||||
"Component_[10182366347512475253]": {
|
||||
"$type": "EditorPrefabComponent",
|
||||
"Id": 10182366347512475253
|
||||
},
|
||||
"Component_[12917798267488243668]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 12917798267488243668
|
||||
},
|
||||
"Component_[3261249813163778338]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3261249813163778338
|
||||
},
|
||||
"Component_[3837204912784440039]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 3837204912784440039
|
||||
},
|
||||
"Component_[4272963378099646759]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 4272963378099646759,
|
||||
"Parent Entity": ""
|
||||
},
|
||||
"Component_[4848458548047175816]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4848458548047175816
|
||||
},
|
||||
"Component_[5787060997243919943]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5787060997243919943
|
||||
},
|
||||
"Component_[7804170251266531779]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7804170251266531779
|
||||
},
|
||||
"Component_[7874177159288365422]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 7874177159288365422
|
||||
},
|
||||
"Component_[8018146290632383969]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8018146290632383969
|
||||
},
|
||||
"Component_[8452360690590857075]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 8452360690590857075
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entities": {
|
||||
"Entity_[682351975430]": {
|
||||
"Id": "Entity_[682351975430]",
|
||||
"Name": "Destructable_Box",
|
||||
"Components": {
|
||||
"Component_[14428979635353087750]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 14428979635353087750
|
||||
},
|
||||
"Component_[14459069801260260996]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 14459069801260260996
|
||||
},
|
||||
"Component_[16353277599917996564]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 16353277599917996564
|
||||
},
|
||||
"Component_[16528484535459302978]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 16528484535459302978
|
||||
},
|
||||
"Component_[17689177494335411023]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 17689177494335411023
|
||||
},
|
||||
"Component_[18116908665747450198]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 18116908665747450198
|
||||
},
|
||||
"Component_[3544855145233062627]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 3544855145233062627,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 3826825320808092990
|
||||
},
|
||||
{
|
||||
"ComponentId": 5627868831214978789,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 7875098433529363009,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[3569626399556956817]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 3569626399556956817
|
||||
},
|
||||
"Component_[3826825320808092990]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 3826825320808092990,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
511.9991455078125,
|
||||
532.031982421875,
|
||||
39.52538299560547
|
||||
],
|
||||
"Scale": [
|
||||
1.0000001192092896,
|
||||
0.9999998807907104,
|
||||
1.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[5627868831214978789]": {
|
||||
"$type": "EditorBlastFamilyComponent",
|
||||
"Id": 5627868831214978789,
|
||||
"BlastAsset": {
|
||||
"assetId": {
|
||||
"guid": "{BAB71D97-F136-5C11-8AB6-6E9F768CA83B}"
|
||||
},
|
||||
"assetHint": "assets/destruction/box_2_chunks.blast"
|
||||
},
|
||||
"BlastMaterial": {
|
||||
"BlastMaterialId": "{2F200947-553F-487F-B4EA-57F0EF5AE024}"
|
||||
},
|
||||
"PhysicsMaterial": {
|
||||
"MaterialId": "{34AD1046-240B-448C-A694-AE80F595C431}"
|
||||
}
|
||||
},
|
||||
"Component_[7159608037522336146]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 7159608037522336146
|
||||
},
|
||||
"Component_[7875098433529363009]": {
|
||||
"$type": "EditorBlastMeshDataComponent",
|
||||
"Id": 7875098433529363009,
|
||||
"Show Mesh Assets": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+217
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "CharacterController_SwitchLevels",
|
||||
"Components": {
|
||||
"Component_[10182366347512475253]": {
|
||||
"$type": "EditorPrefabComponent",
|
||||
"Id": 10182366347512475253
|
||||
},
|
||||
"Component_[12917798267488243668]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 12917798267488243668
|
||||
},
|
||||
"Component_[3261249813163778338]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3261249813163778338
|
||||
},
|
||||
"Component_[3837204912784440039]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 3837204912784440039
|
||||
},
|
||||
"Component_[4272963378099646759]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 4272963378099646759,
|
||||
"Parent Entity": ""
|
||||
},
|
||||
"Component_[4848458548047175816]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4848458548047175816
|
||||
},
|
||||
"Component_[5787060997243919943]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5787060997243919943
|
||||
},
|
||||
"Component_[7804170251266531779]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7804170251266531779
|
||||
},
|
||||
"Component_[7874177159288365422]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 7874177159288365422
|
||||
},
|
||||
"Component_[8018146290632383969]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8018146290632383969
|
||||
},
|
||||
"Component_[8452360690590857075]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 8452360690590857075
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entities": {
|
||||
"Entity_[271494215500]": {
|
||||
"Id": "Entity_[271494215500]",
|
||||
"Name": "DefaultLevelSetup",
|
||||
"Components": {
|
||||
"Component_[10017568850356726118]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 10017568850356726118
|
||||
},
|
||||
"Component_[13730791873699866292]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 13730791873699866292
|
||||
},
|
||||
"Component_[14036484285432839222]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 14036484285432839222,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 9432950532896492451
|
||||
},
|
||||
{
|
||||
"ComponentId": 16094906495473882735,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[15490606709331567745]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 15490606709331567745
|
||||
},
|
||||
"Component_[17819059404707659501]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 17819059404707659501
|
||||
},
|
||||
"Component_[2317367007807622931]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 2317367007807622931
|
||||
},
|
||||
"Component_[2676812743453687109]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 2676812743453687109
|
||||
},
|
||||
"Component_[3047355939801335922]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 3047355939801335922
|
||||
},
|
||||
"Component_[3687396159953003426]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 3687396159953003426
|
||||
},
|
||||
"Component_[9432950532896492451]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 9432950532896492451,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
512.0,
|
||||
512.0,
|
||||
100.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[348803626828]": {
|
||||
"Id": "Entity_[348803626828]",
|
||||
"Name": "CharacterController",
|
||||
"Components": {
|
||||
"Component_[10957270521451904134]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 10957270521451904134
|
||||
},
|
||||
"Component_[12992548330649678626]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 12992548330649678626
|
||||
},
|
||||
"Component_[15540557783782258382]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15540557783782258382
|
||||
},
|
||||
"Component_[16081734969125733179]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 16081734969125733179
|
||||
},
|
||||
"Component_[1999380243426028380]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 1999380243426028380,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
511.9999694824219,
|
||||
512.0,
|
||||
34.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[2476703453858708137]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 2476703453858708137
|
||||
},
|
||||
"Component_[259360796349614835]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 259360796349614835
|
||||
},
|
||||
"Component_[5309782390278392323]": {
|
||||
"$type": "EditorCapsuleShapeComponent",
|
||||
"Id": 5309782390278392323,
|
||||
"GameView": true,
|
||||
"ShapeColor": [
|
||||
0.6666666865348816,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"CapsuleShape": {
|
||||
"Configuration": {
|
||||
"DrawColor": [
|
||||
0.6666666865348816,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Height": 2.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[5810440768491728833]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5810440768491728833,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 1999380243426028380
|
||||
},
|
||||
{
|
||||
"ComponentId": 6864662272767840579,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 5309782390278392323,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[6654367643820201613]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 6654367643820201613
|
||||
},
|
||||
"Component_[6864662272767840579]": {
|
||||
"$type": "EditorCharacterControllerComponent",
|
||||
"Id": 6864662272767840579,
|
||||
"Configuration": {
|
||||
"entityId": "",
|
||||
"Material": {
|
||||
"MaterialIds": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[9211907343705413938]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 9211907343705413938
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "EmptyLevel",
|
||||
"Components": {
|
||||
"Component_[10182366347512475253]": {
|
||||
"$type": "EditorPrefabComponent",
|
||||
"Id": 10182366347512475253
|
||||
},
|
||||
"Component_[12917798267488243668]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 12917798267488243668
|
||||
},
|
||||
"Component_[3261249813163778338]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3261249813163778338
|
||||
},
|
||||
"Component_[3837204912784440039]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 3837204912784440039
|
||||
},
|
||||
"Component_[4272963378099646759]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 4272963378099646759,
|
||||
"Parent Entity": ""
|
||||
},
|
||||
"Component_[4848458548047175816]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4848458548047175816
|
||||
},
|
||||
"Component_[5787060997243919943]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5787060997243919943
|
||||
},
|
||||
"Component_[7804170251266531779]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7804170251266531779
|
||||
},
|
||||
"Component_[7874177159288365422]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 7874177159288365422
|
||||
},
|
||||
"Component_[8018146290632383969]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8018146290632383969
|
||||
},
|
||||
"Component_[8452360690590857075]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 8452360690590857075
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entities": {
|
||||
"Entity_[273050554979]": {
|
||||
"Id": "Entity_[273050554979]",
|
||||
"Name": "DefaultLevelSetup",
|
||||
"Components": {
|
||||
"Component_[10017568850356726118]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 10017568850356726118
|
||||
},
|
||||
"Component_[13730791873699866292]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 13730791873699866292
|
||||
},
|
||||
"Component_[14036484285432839222]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 14036484285432839222,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 9432950532896492451
|
||||
},
|
||||
{
|
||||
"ComponentId": 16094906495473882735,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[16744953497953161231]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 16744953497953161231
|
||||
},
|
||||
"Component_[17819059404707659501]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 17819059404707659501
|
||||
},
|
||||
"Component_[2317367007807622931]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 2317367007807622931
|
||||
},
|
||||
"Component_[2676812743453687109]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 2676812743453687109
|
||||
},
|
||||
"Component_[3047355939801335922]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 3047355939801335922
|
||||
},
|
||||
"Component_[3687396159953003426]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 3687396159953003426
|
||||
},
|
||||
"Component_[9432950532896492451]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 9432950532896492451,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
512.0,
|
||||
512.0,
|
||||
100.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "auto_test",
|
||||
"Components": {
|
||||
"Component_[10182366347512475253]": {
|
||||
"$type": "EditorPrefabComponent",
|
||||
"Id": 10182366347512475253
|
||||
},
|
||||
"Component_[12917798267488243668]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 12917798267488243668
|
||||
},
|
||||
"Component_[3261249813163778338]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3261249813163778338
|
||||
},
|
||||
"Component_[3837204912784440039]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 3837204912784440039
|
||||
},
|
||||
"Component_[4272963378099646759]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 4272963378099646759,
|
||||
"Parent Entity": ""
|
||||
},
|
||||
"Component_[4848458548047175816]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4848458548047175816
|
||||
},
|
||||
"Component_[5787060997243919943]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5787060997243919943
|
||||
},
|
||||
"Component_[7804170251266531779]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7804170251266531779
|
||||
},
|
||||
"Component_[7874177159288365422]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 7874177159288365422
|
||||
},
|
||||
"Component_[8018146290632383969]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8018146290632383969
|
||||
},
|
||||
"Component_[8452360690590857075]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 8452360690590857075
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entities": {
|
||||
"Entity_[212522713927]": {
|
||||
"Id": "Entity_[212522713927]",
|
||||
"Name": "Entity1",
|
||||
"Components": {
|
||||
"Component_[13533719491703491179]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 13533719491703491179
|
||||
},
|
||||
"Component_[14279778360325346613]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 14279778360325346613,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
512.0,
|
||||
512.0,
|
||||
32.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[16516432490694776069]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 16516432490694776069
|
||||
},
|
||||
"Component_[16894842505954369943]": {
|
||||
"$type": "ScriptEditorComponent",
|
||||
"Id": 16894842505954369943,
|
||||
"ScriptComponent": {
|
||||
"Script": {
|
||||
"assetId": {
|
||||
"guid": "{AEB649BE-6E63-5D08-B6A6-323EE80125D9}",
|
||||
"subId": 1
|
||||
},
|
||||
"assetHint": "scripts/auto_director.luac"
|
||||
}
|
||||
},
|
||||
"ScriptAsset": {
|
||||
"assetId": {
|
||||
"guid": "{AEB649BE-6E63-5D08-B6A6-323EE80125D9}",
|
||||
"subId": 1
|
||||
},
|
||||
"assetHint": "scripts/auto_director.luac"
|
||||
}
|
||||
},
|
||||
"Component_[17917865139404413371]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 17917865139404413371
|
||||
},
|
||||
"Component_[300870010798916271]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 300870010798916271
|
||||
},
|
||||
"Component_[3542492159899223622]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 3542492159899223622
|
||||
},
|
||||
"Component_[5861133001616453159]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 5861133001616453159
|
||||
},
|
||||
"Component_[5861394204754691870]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 5861394204754691870
|
||||
},
|
||||
"Component_[6534723243071167847]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 6534723243071167847
|
||||
},
|
||||
"Component_[8192412641288145942]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 8192412641288145942,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 14279778360325346613
|
||||
},
|
||||
{
|
||||
"ComponentId": 16894842505954369943,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[264062321479]": {
|
||||
"Id": "Entity_[264062321479]",
|
||||
"Name": "Camera1",
|
||||
"Components": {
|
||||
"Component_[0]": {
|
||||
"$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent"
|
||||
},
|
||||
"Component_[10250997976046839424]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 10250997976046839424,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
512.0531005859375,
|
||||
505.3736877441406,
|
||||
36.008216857910156
|
||||
],
|
||||
"Rotate": [
|
||||
343.8316345214844,
|
||||
359.8723449707031,
|
||||
0.44026151299476624
|
||||
],
|
||||
"Scale": [
|
||||
1.0,
|
||||
1.0,
|
||||
0.9999998807907104
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[14117951654550186353]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 14117951654550186353
|
||||
},
|
||||
"Component_[15441561693121796704]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 15441561693121796704
|
||||
},
|
||||
"Component_[16579888413894171159]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 16579888413894171159
|
||||
},
|
||||
"Component_[2015490294161116421]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 2015490294161116421
|
||||
},
|
||||
"Component_[2585309221365912267]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 2585309221365912267,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 10250997976046839424
|
||||
},
|
||||
{
|
||||
"ComponentId": 17989353981643488311,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[4907915728143987395]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 4907915728143987395
|
||||
},
|
||||
"Component_[5911437040663285596]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 5911437040663285596
|
||||
},
|
||||
"Component_[8717969720874629567]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 8717969720874629567
|
||||
},
|
||||
"Component_[992024776394048323]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 992024776394048323
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,348 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "ocean_component",
|
||||
"Components": {
|
||||
"Component_[10182366347512475253]": {
|
||||
"$type": "EditorPrefabComponent",
|
||||
"Id": 10182366347512475253
|
||||
},
|
||||
"Component_[12917798267488243668]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 12917798267488243668
|
||||
},
|
||||
"Component_[3261249813163778338]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3261249813163778338
|
||||
},
|
||||
"Component_[3837204912784440039]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 3837204912784440039
|
||||
},
|
||||
"Component_[4272963378099646759]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 4272963378099646759,
|
||||
"Parent Entity": ""
|
||||
},
|
||||
"Component_[4848458548047175816]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4848458548047175816
|
||||
},
|
||||
"Component_[5787060997243919943]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5787060997243919943
|
||||
},
|
||||
"Component_[7804170251266531779]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7804170251266531779
|
||||
},
|
||||
"Component_[7874177159288365422]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 7874177159288365422
|
||||
},
|
||||
"Component_[8018146290632383969]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8018146290632383969
|
||||
},
|
||||
"Component_[8452360690590857075]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 8452360690590857075
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entities": {
|
||||
"Entity_[113557230075]": {
|
||||
"Id": "Entity_[113557230075]",
|
||||
"Name": "the_ocean",
|
||||
"Components": {
|
||||
"Component_[10578707299131614649]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 10578707299131614649,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
55.0,
|
||||
81.0,
|
||||
20.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[11046344975288527044]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 11046344975288527044
|
||||
},
|
||||
"Component_[13465592091248295601]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 13465592091248295601,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 10578707299131614649
|
||||
},
|
||||
{
|
||||
"ComponentId": 2840515548992536974,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[13984822296855598165]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 13984822296855598165
|
||||
},
|
||||
"Component_[14230937071328458692]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 14230937071328458692
|
||||
},
|
||||
"Component_[1515275142160994114]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 1515275142160994114
|
||||
},
|
||||
"Component_[16187876448121091850]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 16187876448121091850
|
||||
},
|
||||
"Component_[16861233641669829560]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 16861233641669829560
|
||||
},
|
||||
"Component_[9086259058015300489]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 9086259058015300489
|
||||
},
|
||||
"Component_[9741974704446379447]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 9741974704446379447
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[127885714554]": {
|
||||
"Id": "Entity_[127885714554]",
|
||||
"Name": "the_camera",
|
||||
"Components": {
|
||||
"Component_[0]": {
|
||||
"$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent"
|
||||
},
|
||||
"Component_[12093754677865520350]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 12093754677865520350
|
||||
},
|
||||
"Component_[12730323471937880555]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 12730323471937880555
|
||||
},
|
||||
"Component_[13204709256342535717]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 13204709256342535717
|
||||
},
|
||||
"Component_[14559512685789945421]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 14559512685789945421
|
||||
},
|
||||
"Component_[15770539414692920876]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 15770539414692920876,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
23.118545532226563,
|
||||
128.9333038330078,
|
||||
41.236572265625
|
||||
],
|
||||
"Rotate": [
|
||||
0.12950840592384338,
|
||||
35.17909240722656,
|
||||
269.7752685546875
|
||||
],
|
||||
"Scale": [
|
||||
1.0,
|
||||
0.9999998807907104,
|
||||
1.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[17658049626755079421]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 17658049626755079421
|
||||
},
|
||||
"Component_[3194947345798045730]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 3194947345798045730,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 15770539414692920876
|
||||
},
|
||||
{
|
||||
"ComponentId": 7411461277430009852,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[4514043637061174274]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 4514043637061174274
|
||||
},
|
||||
"Component_[6690157295583364107]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 6690157295583364107
|
||||
},
|
||||
"Component_[8418547677002847981]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 8418547677002847981
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[132180681850]": {
|
||||
"Id": "Entity_[132180681850]",
|
||||
"Name": "the_thing",
|
||||
"Components": {
|
||||
"Component_[10221686237776167339]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 10221686237776167339
|
||||
},
|
||||
"Component_[10230254870444799387]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 10230254870444799387
|
||||
},
|
||||
"Component_[10910683815551719249]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 10910683815551719249
|
||||
},
|
||||
"Component_[1551781018072505537]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 1551781018072505537,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 750431367071390348
|
||||
},
|
||||
{
|
||||
"ComponentId": 10543707305560077725,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 16828474708198673661,
|
||||
"SortIndex": 2
|
||||
},
|
||||
{
|
||||
"ComponentId": 6413469258372364445,
|
||||
"SortIndex": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[1610584700060024614]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 1610584700060024614
|
||||
},
|
||||
"Component_[1702498396513087308]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 1702498396513087308
|
||||
},
|
||||
"Component_[191898962635170167]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 191898962635170167
|
||||
},
|
||||
"Component_[5524024140510561095]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 5524024140510561095
|
||||
},
|
||||
"Component_[7126349013266909622]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 7126349013266909622
|
||||
},
|
||||
"Component_[750431367071390348]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 750431367071390348,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
56.0,
|
||||
128.0,
|
||||
37.0
|
||||
],
|
||||
"Scale": [
|
||||
2.0,
|
||||
2.0,
|
||||
2.0
|
||||
],
|
||||
"UniformScale": 2.0
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[285018505936]": {
|
||||
"Id": "Entity_[285018505936]",
|
||||
"Name": "the_comments",
|
||||
"Components": {
|
||||
"Component_[12254043508887231201]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 12254043508887231201,
|
||||
"Configuration": "This level is meant to show the most basic ocean scene.\n"
|
||||
},
|
||||
"Component_[13365140461414494550]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 13365140461414494550
|
||||
},
|
||||
"Component_[15049990108511425568]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 15049990108511425568
|
||||
},
|
||||
"Component_[16058263010361769158]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 16058263010361769158,
|
||||
"Configuration": "The physical object of \"the_thing\" requires the PhysicsEntities gem"
|
||||
},
|
||||
"Component_[3610853239595723287]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 3610853239595723287,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 6600498728445617807
|
||||
},
|
||||
{
|
||||
"ComponentId": 12254043508887231201,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 16058263010361769158,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[4646570851596337987]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 4646570851596337987
|
||||
},
|
||||
"Component_[6425461812824751097]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 6425461812824751097
|
||||
},
|
||||
"Component_[6600498728445617807]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 6600498728445617807,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
19.0,
|
||||
114.0,
|
||||
32.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[748169014486201159]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 748169014486201159
|
||||
},
|
||||
"Component_[7489457744445094173]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 7489457744445094173
|
||||
},
|
||||
"Component_[8625778444077768294]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 8625778444077768294
|
||||
},
|
||||
"Component_[8776561997810927609]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 8776561997810927609
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,736 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "ocean_trackview",
|
||||
"Components": {
|
||||
"Component_[10182366347512475253]": {
|
||||
"$type": "EditorPrefabComponent",
|
||||
"Id": 10182366347512475253
|
||||
},
|
||||
"Component_[12917798267488243668]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 12917798267488243668
|
||||
},
|
||||
"Component_[3261249813163778338]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3261249813163778338
|
||||
},
|
||||
"Component_[3837204912784440039]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 3837204912784440039
|
||||
},
|
||||
"Component_[4272963378099646759]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 4272963378099646759,
|
||||
"Parent Entity": ""
|
||||
},
|
||||
"Component_[4848458548047175816]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4848458548047175816
|
||||
},
|
||||
"Component_[5787060997243919943]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5787060997243919943
|
||||
},
|
||||
"Component_[7804170251266531779]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7804170251266531779
|
||||
},
|
||||
"Component_[7874177159288365422]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 7874177159288365422
|
||||
},
|
||||
"Component_[8018146290632383969]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8018146290632383969
|
||||
},
|
||||
"Component_[8452360690590857075]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 8452360690590857075
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entities": {
|
||||
"Entity_[113557230075]": {
|
||||
"Id": "Entity_[113557230075]",
|
||||
"Name": "the_ocean",
|
||||
"Components": {
|
||||
"Component_[10578707299131614649]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 10578707299131614649,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
55.0,
|
||||
81.0,
|
||||
16.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[11046344975288527044]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 11046344975288527044
|
||||
},
|
||||
"Component_[13465592091248295601]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 13465592091248295601,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 10578707299131614649
|
||||
},
|
||||
{
|
||||
"ComponentId": 8504984791098638268,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 2840515548992536974,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[13984822296855598165]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 13984822296855598165
|
||||
},
|
||||
"Component_[14230937071328458692]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 14230937071328458692
|
||||
},
|
||||
"Component_[1515275142160994114]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 1515275142160994114
|
||||
},
|
||||
"Component_[16187876448121091850]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 16187876448121091850
|
||||
},
|
||||
"Component_[8504984791098638268]": {
|
||||
"$type": "EditorSequenceAgentComponent",
|
||||
"Id": 8504984791098638268,
|
||||
"SequenceComponentEntityIds": [
|
||||
"Entity_[117514781392]"
|
||||
]
|
||||
},
|
||||
"Component_[9060135739962621874]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 9060135739962621874
|
||||
},
|
||||
"Component_[9086259058015300489]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 9086259058015300489
|
||||
},
|
||||
"Component_[9741974704446379447]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 9741974704446379447
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[117514781392]": {
|
||||
"Id": "Entity_[117514781392]",
|
||||
"Name": "the_seq",
|
||||
"Components": {
|
||||
"Component_[10651628595557926239]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 10651628595557926239
|
||||
},
|
||||
"Component_[11623691525514612151]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 11623691525514612151,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 4273477098584349604
|
||||
},
|
||||
{
|
||||
"ComponentId": 5882335637425824535,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[12470939899970032484]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 12470939899970032484
|
||||
},
|
||||
"Component_[14478010456841775378]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 14478010456841775378
|
||||
},
|
||||
"Component_[18243888196443202779]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 18243888196443202779
|
||||
},
|
||||
"Component_[1910120971488156322]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 1910120971488156322
|
||||
},
|
||||
"Component_[2096039468306613876]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 2096039468306613876
|
||||
},
|
||||
"Component_[4273477098584349604]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 4273477098584349604,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
61.15132141113281,
|
||||
82.34228515625,
|
||||
56.032203674316406
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[4856824333512618654]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 4856824333512618654
|
||||
},
|
||||
"Component_[5882335637425824535]": {
|
||||
"$type": "EditorSequenceComponent",
|
||||
"Id": 5882335637425824535,
|
||||
"Sequence": {
|
||||
"$type": "CAnimSequence",
|
||||
"Name": "the_seq",
|
||||
"SequenceEntityId": "Entity_[117514781392]",
|
||||
"Flags": 1,
|
||||
"ID": 1,
|
||||
"Nodes": [
|
||||
{
|
||||
"$type": "CAnimAzEntityNode",
|
||||
"ID": 1,
|
||||
"Name": "the_ocean",
|
||||
"Flags": 6,
|
||||
"Entity": "Entity_[113557230075]"
|
||||
},
|
||||
{
|
||||
"$type": "CAnimComponentNode",
|
||||
"ID": 2,
|
||||
"Name": "Infinite Ocean",
|
||||
"Tracks": [
|
||||
{
|
||||
"$type": "CCompoundSplineTrack",
|
||||
"ParamType": {
|
||||
"Type": 8,
|
||||
"Name": "FogColor"
|
||||
},
|
||||
"NumSubTracks": 3,
|
||||
"SubTracks": [
|
||||
{
|
||||
"$type": "TAnimSplineTrack<Vec2 >",
|
||||
"DefaultValue": {
|
||||
"y": 0.01568629965186119
|
||||
},
|
||||
"ParamType": {
|
||||
"Type": 82
|
||||
},
|
||||
"Spline": {
|
||||
"Keys": [
|
||||
{
|
||||
"flags": 73,
|
||||
"ds": {
|
||||
"x": 1.0
|
||||
},
|
||||
"dd": {
|
||||
"x": 1.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 3.0,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 3.0,
|
||||
"y": 255.0
|
||||
},
|
||||
"ds": {
|
||||
"x": 1.0
|
||||
},
|
||||
"dd": {
|
||||
"x": 1.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 5.0,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 5.0,
|
||||
"y": 255.0
|
||||
},
|
||||
"ds": {
|
||||
"x": 0.6666666865348816
|
||||
},
|
||||
"dd": {
|
||||
"x": 0.6666666865348816
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 7.699999809265137,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 7.699999809265137
|
||||
},
|
||||
"ds": {
|
||||
"x": 0.8999999761581421
|
||||
},
|
||||
"dd": {
|
||||
"x": 0.8999999761581421
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 10.0,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 10.0
|
||||
},
|
||||
"ds": {
|
||||
"x": 0.766666829586029
|
||||
},
|
||||
"dd": {
|
||||
"x": 0.766666829586029
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Id": 2
|
||||
},
|
||||
{
|
||||
"$type": "TAnimSplineTrack<Vec2 >",
|
||||
"DefaultValue": {
|
||||
"y": 0.09411770105361938
|
||||
},
|
||||
"ParamType": {
|
||||
"Type": 83
|
||||
},
|
||||
"Spline": {
|
||||
"Keys": [
|
||||
{
|
||||
"flags": 73,
|
||||
"ds": {
|
||||
"x": 1.0
|
||||
},
|
||||
"dd": {
|
||||
"x": 1.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 3.0,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 3.0,
|
||||
"y": 255.0
|
||||
},
|
||||
"ds": {
|
||||
"x": 1.0
|
||||
},
|
||||
"dd": {
|
||||
"x": 1.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 5.0,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 5.0,
|
||||
"y": 102.50434112548828
|
||||
},
|
||||
"ds": {
|
||||
"x": 0.6666666865348816
|
||||
},
|
||||
"dd": {
|
||||
"x": 0.6666666865348816
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 7.699999809265137,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 7.699999809265137
|
||||
},
|
||||
"ds": {
|
||||
"x": 0.8999999761581421
|
||||
},
|
||||
"dd": {
|
||||
"x": 0.8999999761581421
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 10.0,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 10.0,
|
||||
"y": 23.16463851928711
|
||||
},
|
||||
"ds": {
|
||||
"x": 0.766666829586029
|
||||
},
|
||||
"dd": {
|
||||
"x": 0.766666829586029
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Id": 3
|
||||
},
|
||||
{
|
||||
"$type": "TAnimSplineTrack<Vec2 >",
|
||||
"DefaultValue": {
|
||||
"y": 0.1411765068769455
|
||||
},
|
||||
"ParamType": {
|
||||
"Type": 84
|
||||
},
|
||||
"Spline": {
|
||||
"Keys": [
|
||||
{
|
||||
"flags": 73,
|
||||
"ds": {
|
||||
"x": 1.0
|
||||
},
|
||||
"dd": {
|
||||
"x": 1.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 3.0,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 3.0,
|
||||
"y": 255.0
|
||||
},
|
||||
"ds": {
|
||||
"x": 1.0
|
||||
},
|
||||
"dd": {
|
||||
"x": 1.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 5.0,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 5.0,
|
||||
"y": 255.0
|
||||
},
|
||||
"ds": {
|
||||
"x": 0.6666666865348816
|
||||
},
|
||||
"dd": {
|
||||
"x": 0.6666666865348816
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 7.699999809265137,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 7.699999809265137,
|
||||
"y": 54.11885070800781
|
||||
},
|
||||
"ds": {
|
||||
"x": 0.8999999761581421
|
||||
},
|
||||
"dd": {
|
||||
"x": 0.8999999761581421
|
||||
}
|
||||
},
|
||||
{
|
||||
"time": 10.0,
|
||||
"flags": 73,
|
||||
"value": {
|
||||
"x": 10.0
|
||||
},
|
||||
"ds": {
|
||||
"x": 0.766666829586029
|
||||
},
|
||||
"dd": {
|
||||
"x": 0.766666829586029
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Id": 4
|
||||
},
|
||||
null
|
||||
],
|
||||
"SubTrackNames": [
|
||||
"Red",
|
||||
"Green",
|
||||
"Blue",
|
||||
"W"
|
||||
],
|
||||
"ValueType": 20,
|
||||
"Id": 1
|
||||
}
|
||||
],
|
||||
"Parent": 1,
|
||||
"ComponentID": 2840515548992536974,
|
||||
"ComponentTypeID": "{961C77CC-CB98-49B8-83C4-CB7FD6D9AB5B}"
|
||||
},
|
||||
{
|
||||
"$type": "CAnimComponentNode",
|
||||
"ID": 3,
|
||||
"Name": "Transform",
|
||||
"Tracks": [
|
||||
{
|
||||
"$type": "CCompoundSplineTrack",
|
||||
"ParamType": {
|
||||
"Type": 1,
|
||||
"Name": "Position"
|
||||
},
|
||||
"NumSubTracks": 3,
|
||||
"SubTracks": [
|
||||
{
|
||||
"$type": "TAnimSplineTrack<Vec2 >",
|
||||
"DefaultValue": {
|
||||
"x": -8029758706415567000.0,
|
||||
"y": 55.0
|
||||
},
|
||||
"ParamType": {
|
||||
"Type": 51
|
||||
},
|
||||
"Id": 6
|
||||
},
|
||||
{
|
||||
"$type": "TAnimSplineTrack<Vec2 >",
|
||||
"DefaultValue": {
|
||||
"x": -8029758706415567000.0,
|
||||
"y": 81.0
|
||||
},
|
||||
"ParamType": {
|
||||
"Type": 52
|
||||
},
|
||||
"Id": 7
|
||||
},
|
||||
{
|
||||
"$type": "TAnimSplineTrack<Vec2 >",
|
||||
"DefaultValue": {
|
||||
"x": -8029758706415567000.0,
|
||||
"y": 57.0
|
||||
},
|
||||
"ParamType": {
|
||||
"Type": 53
|
||||
},
|
||||
"Id": 8
|
||||
},
|
||||
null
|
||||
],
|
||||
"SubTrackNames": [
|
||||
"X",
|
||||
"Y",
|
||||
"Z",
|
||||
"W"
|
||||
],
|
||||
"ValueType": 1,
|
||||
"Id": 5
|
||||
},
|
||||
{
|
||||
"$type": "CCompoundSplineTrack",
|
||||
"ParamType": {
|
||||
"Type": 2,
|
||||
"Name": "Rotation"
|
||||
},
|
||||
"NumSubTracks": 3,
|
||||
"SubTracks": [
|
||||
{
|
||||
"$type": "TAnimSplineTrack<Vec2 >",
|
||||
"DefaultValue": {
|
||||
"x": -8029758706415567000.0
|
||||
},
|
||||
"ParamType": {
|
||||
"Type": 54
|
||||
},
|
||||
"Id": 10
|
||||
},
|
||||
{
|
||||
"$type": "TAnimSplineTrack<Vec2 >",
|
||||
"DefaultValue": {
|
||||
"x": -8029758706415567000.0
|
||||
},
|
||||
"ParamType": {
|
||||
"Type": 55
|
||||
},
|
||||
"Id": 11
|
||||
},
|
||||
{
|
||||
"$type": "TAnimSplineTrack<Vec2 >",
|
||||
"DefaultValue": {
|
||||
"x": -8029758706415567000.0
|
||||
},
|
||||
"ParamType": {
|
||||
"Type": 56
|
||||
},
|
||||
"Id": 12
|
||||
},
|
||||
null
|
||||
],
|
||||
"SubTrackNames": [
|
||||
"X",
|
||||
"Y",
|
||||
"Z",
|
||||
"W"
|
||||
],
|
||||
"ValueType": 2,
|
||||
"Id": 9
|
||||
}
|
||||
],
|
||||
"Parent": 1,
|
||||
"ComponentID": 10578707299131614649,
|
||||
"ComponentTypeID": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0}"
|
||||
}
|
||||
],
|
||||
"Events": [
|
||||
"start"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[8277927932072884141]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 8277927932072884141
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[310788309712]": {
|
||||
"Id": "Entity_[310788309712]",
|
||||
"Name": "the_comments",
|
||||
"Components": {
|
||||
"Component_[10820736773970990934]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 10820736773970990934
|
||||
},
|
||||
"Component_[16460362337690040728]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 16460362337690040728
|
||||
},
|
||||
"Component_[1711788818167604478]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 1711788818167604478,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 17162444099898225645
|
||||
},
|
||||
{
|
||||
"ComponentId": 4524863805502269700,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[17162444099898225645]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 17162444099898225645,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
61.0,
|
||||
82.0,
|
||||
56.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[17783575382365366340]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 17783575382365366340
|
||||
},
|
||||
"Component_[2087049458930367042]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 2087049458930367042
|
||||
},
|
||||
"Component_[2711019276572888356]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 2711019276572888356
|
||||
},
|
||||
"Component_[4524863805502269700]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 4524863805502269700,
|
||||
"Configuration": "This level is meant to test track view with the ocean component."
|
||||
},
|
||||
"Component_[6476444408609098475]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 6476444408609098475
|
||||
},
|
||||
"Component_[7805954804953628853]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 7805954804953628853
|
||||
},
|
||||
"Component_[8159544250366547808]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 8159544250366547808
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[315083277008]": {
|
||||
"Id": "Entity_[315083277008]",
|
||||
"Name": "the_camera",
|
||||
"Components": {
|
||||
"Component_[0]": {
|
||||
"$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent"
|
||||
},
|
||||
"Component_[11755705402873798069]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 11755705402873798069
|
||||
},
|
||||
"Component_[11939241802298470223]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 11939241802298470223,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 13678215694230152557
|
||||
},
|
||||
{
|
||||
"ComponentId": 7780955726439597543,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 14118047423140175065,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[1263945907594972096]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 1263945907594972096
|
||||
},
|
||||
"Component_[13678215694230152557]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 13678215694230152557,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
5.279235363006592,
|
||||
89.93304443359375,
|
||||
41.92418670654297
|
||||
],
|
||||
"Rotate": [
|
||||
8.572165489196777,
|
||||
351.0418701171875,
|
||||
134.06057739257813
|
||||
],
|
||||
"Scale": [
|
||||
0.9999998807907104,
|
||||
0.9999998807907104,
|
||||
1.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[16694969224252903921]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 16694969224252903921
|
||||
},
|
||||
"Component_[16770043767194988305]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 16770043767194988305
|
||||
},
|
||||
"Component_[17615022962377688621]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 17615022962377688621
|
||||
},
|
||||
"Component_[4781886688900343222]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 4781886688900343222
|
||||
},
|
||||
"Component_[8790131188175752902]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 8790131188175752902
|
||||
},
|
||||
"Component_[9731263833327927165]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 9731263833327927165
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -143,7 +143,8 @@ bool CImageUtil::LoadPGM(const QString& fileName, CImageEx& image)
|
||||
fseek(file, 0, SEEK_SET);
|
||||
|
||||
char* str = new char[fileSize];
|
||||
fread(str, fileSize, 1, file);
|
||||
|
||||
[[maybe_unused]] auto bytesRead = fread(str, fileSize, 1, file);
|
||||
|
||||
[[maybe_unused]] char* nextToken = nullptr;
|
||||
token = azstrtok(str, 0, seps, &nextToken);
|
||||
|
||||
@@ -69,9 +69,11 @@ namespace UnitTest
|
||||
// Note that ConvertToAbsolutePath will perform a realpath on the result. The result of AZ::Utils::GetExecutableDirectory
|
||||
// uses AZ::Android::AndroidEnv::Get()->GetAppPrivateStoragePath() which will retrieve the storage path, but that path could
|
||||
// be symlinked, so we need to perform a real path on it before comparison
|
||||
char realExecutableDirectory[AZ::IO::MaxPathLength];
|
||||
ASSERT_TRUE(realpath(executableDirectory, realExecutableDirectory));
|
||||
|
||||
char* realExecutableDirectory = realpath(executableDirectory, nullptr);
|
||||
ASSERT_NE(realExecutableDirectory, nullptr);
|
||||
|
||||
EXPECT_STRCASEEQ(realExecutableDirectory, absolutePath->c_str());
|
||||
|
||||
free(realExecutableDirectory);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -383,7 +383,7 @@ namespace AZ::IO::ZipDir
|
||||
if (!AZ::IO::FileIOBase::GetDirectInstance()->Write(m_fileHandle, ptr, sizeToWrite))
|
||||
{
|
||||
char error[1024];
|
||||
azstrerror_s(error, AZ_ARRAY_SIZE(error), errno);
|
||||
[[maybe_unused]] auto azStrErrorResult = azstrerror_s(error, AZ_ARRAY_SIZE(error), errno);
|
||||
AZ_Warning("Archive", false, "Cannot write to zip file!! error = (%d): %s", errno, error);
|
||||
return ZD_ERROR_IO_FAILED;
|
||||
}
|
||||
@@ -531,7 +531,7 @@ namespace AZ::IO::ZipDir
|
||||
if (!WriteCompressedData((uint8_t*)pUncompressed, nSegmentSize, encrypt))
|
||||
{
|
||||
char error[1024];
|
||||
azstrerror_s(error, AZ_ARRAY_SIZE(error), errno);
|
||||
[[maybe_unused]] auto azStrErrorResult = azstrerror_s(error, AZ_ARRAY_SIZE(error), errno);
|
||||
AZ_Warning("Archive", false, "Cannot write to zip file!! error = (%d): %s", errno, error);
|
||||
return ZD_ERROR_IO_FAILED;
|
||||
}
|
||||
|
||||
@@ -29,6 +29,19 @@ namespace AzFramework::SurfaceData
|
||||
{
|
||||
}
|
||||
|
||||
//! Equality comparison operator for SurfaceTagWeight.
|
||||
bool operator==(const SurfaceTagWeight& rhs) const
|
||||
{
|
||||
return (m_surfaceType == rhs.m_surfaceType) && (m_weight == rhs.m_weight);
|
||||
}
|
||||
|
||||
//! Inequality comparison operator for SurfaceTagWeight.
|
||||
bool operator!=(const SurfaceTagWeight& rhs) const
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
|
||||
|
||||
AZ::Crc32 m_surfaceType = AZ::Crc32(Constants::s_unassignedTagName);
|
||||
float m_weight = 0.0f; //! A Value in the range [0.0f .. 1.0f]
|
||||
|
||||
|
||||
+9
-5
@@ -120,7 +120,7 @@ namespace AzFramework
|
||||
int res = chdir(processLaunchInfo.m_workingDirectory.c_str());
|
||||
if (res != 0)
|
||||
{
|
||||
write(errorPipe[1], &errno, sizeof(int));
|
||||
[[maybe_unused]] auto writeResult = write(errorPipe[1], &errno, sizeof(int));
|
||||
// We *have* to _exit as we are the child process and simply
|
||||
// returning at this point would mean we would start running
|
||||
// the code from our parent process and that will just wreck
|
||||
@@ -132,15 +132,19 @@ namespace AzFramework
|
||||
switch (processLaunchInfo.m_processPriority)
|
||||
{
|
||||
case PROCESSPRIORITY_BELOWNORMAL:
|
||||
nice(1);
|
||||
{
|
||||
[[maybe_unused]] auto niceResult = nice(1);
|
||||
// also reduce disk impact:
|
||||
// setiopolicy_np(IOPOL_TYPE_DISK, IOPOL_SCOPE_PROCESS, IOPOL_UTILITY);
|
||||
break;
|
||||
}
|
||||
case PROCESSPRIORITY_IDLE:
|
||||
nice(20);
|
||||
{
|
||||
[[maybe_unused]] auto niceResult = nice(20);
|
||||
// also reduce disk impact:
|
||||
// setiopolicy_np(IOPOL_TYPE_DISK, IOPOL_SCOPE_PROCESS, IOPOL_THROTTLE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
startupInfo.SetupHandlesForChildProcess();
|
||||
@@ -153,7 +157,7 @@ namespace AzFramework
|
||||
// to stop it from continuing to run as a clone of the parent.
|
||||
// Communicate the error code back to the parent via a pipe for the
|
||||
// parent to read.
|
||||
write(errorPipe[1], &errval, sizeof(errval));
|
||||
[[maybe_unused]] auto writeResult = write(errorPipe[1], &errval, sizeof(errval));
|
||||
|
||||
_exit(0);
|
||||
}
|
||||
@@ -317,7 +321,7 @@ namespace AzFramework
|
||||
|
||||
// Set up a pipe to communicate the error code from the subprocess's execvpe call
|
||||
AZStd::array<int, 2> childErrorPipeFds{};
|
||||
pipe(childErrorPipeFds.data());
|
||||
[[maybe_unused]] auto pipeResult = pipe(childErrorPipeFds.data());
|
||||
|
||||
// This configures the write end of the pipe to close on calls to `exec`
|
||||
fcntl(childErrorPipeFds[1], F_SETFD, fcntl(childErrorPipeFds[1], F_GETFD) | FD_CLOEXEC);
|
||||
|
||||
@@ -117,11 +117,7 @@ namespace UnitTest
|
||||
EXPECT_EQ(param2[0], "param2val");
|
||||
}
|
||||
|
||||
#if AZ_TRAIT_DISABLE_FAILED_PROCESS_LAUNCHER_TESTS
|
||||
TEST_F(ProcessLaunchParseTests, DISABLED_ProcessLauncher_StringsWithCommas_Success)
|
||||
#else
|
||||
TEST_F(ProcessLaunchParseTests, ProcessLauncher_WithCommas_Success)
|
||||
#endif // AZ_TRAIT_DISABLE_FAILED_PROCESS_LAUNCHER_TESTS
|
||||
{
|
||||
ProcessLaunchParseTests::ParsedArgMap argMap;
|
||||
AzFramework::ProcessOutput processOutput;
|
||||
@@ -155,11 +151,7 @@ namespace UnitTest
|
||||
EXPECT_EQ(param2[1], "al");
|
||||
}
|
||||
|
||||
#if AZ_TRAIT_DISABLE_FAILED_PROCESS_LAUNCHER_TESTS
|
||||
TEST_F(ProcessLaunchParseTests, DISABLED_ProcessLauncher_StringsWithSpaces_Success)
|
||||
#else
|
||||
TEST_F(ProcessLaunchParseTests, ProcessLauncher_WithSpaces_Success)
|
||||
#endif // AZ_TRAIT_DISABLE_FAILED_PROCESS_LAUNCHER_TESTS
|
||||
{
|
||||
ProcessLaunchParseTests::ParsedArgMap argMap;
|
||||
AzFramework::ProcessOutput processOutput;
|
||||
@@ -191,11 +183,7 @@ namespace UnitTest
|
||||
EXPECT_EQ(param2[0], "param2v al");
|
||||
}
|
||||
|
||||
#if AZ_TRAIT_DISABLE_FAILED_PROCESS_LAUNCHER_TESTS
|
||||
TEST_F(ProcessLaunchParseTests, DISABLED_ProcessLauncher_StringsWithSpacesAndComma_Success)
|
||||
#else
|
||||
TEST_F(ProcessLaunchParseTests, ProcessLauncher_WithSpacesAndComma_Success)
|
||||
#endif // AZ_TRAIT_DISABLE_FAILED_PROCESS_LAUNCHER_TESTS
|
||||
{
|
||||
ProcessLaunchParseTests::ParsedArgMap argMap;
|
||||
AzFramework::ProcessOutput processOutput;
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ namespace AzNetworking
|
||||
const char* GetNetworkErrorDesc(int32_t errorCode)
|
||||
{
|
||||
static AZ_THREAD_LOCAL char buffer[1024];
|
||||
strerror_r(errorCode, buffer, sizeof(buffer));
|
||||
[[maybe_unused]] auto strErrorResult = strerror_r(errorCode, buffer, sizeof(buffer));
|
||||
return buffer;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ namespace AzToolsFramework
|
||||
settings.m_keepDefaults = true;
|
||||
}
|
||||
|
||||
if ((flags & StoreFlags::StoreLinkIds) != StoreFlags::None)
|
||||
if ((flags & StoreFlags::StripLinkIds) != StoreFlags::StripLinkIds)
|
||||
{
|
||||
settings.m_metadata.Create<LinkIdMetadata>();
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace AzToolsFramework
|
||||
|
||||
//! We do not save linkIds to file. However when loading a level we want to temporarily save
|
||||
//! linkIds to instance dom so any nested prefabs will have linkIds correctly set.
|
||||
StoreLinkIds = 1 << 1
|
||||
StripLinkIds = 1 << 1
|
||||
};
|
||||
AZ_DEFINE_ENUM_BITWISE_OPERATORS(StoreFlags);
|
||||
|
||||
|
||||
@@ -222,7 +222,7 @@ namespace AzToolsFramework::Prefab
|
||||
SetInstanceContainersOpenState(m_rootAliasFocusPath, false);
|
||||
|
||||
const RootAliasPath previousContainerRootAliasPath = m_rootAliasFocusPath;
|
||||
const InstanceOptionalConstReference previousFocusedInstance = GetInstanceReference(previousContainerRootAliasPath);
|
||||
const InstanceOptionalReference previousFocusedInstance = GetInstanceReference(previousContainerRootAliasPath);
|
||||
|
||||
m_rootAliasFocusPath = focusedInstance->get().GetAbsoluteInstanceAliasPath();
|
||||
m_focusedTemplateId = focusedInstance->get().GetTemplateId();
|
||||
@@ -277,7 +277,7 @@ namespace AzToolsFramework::Prefab
|
||||
|
||||
AZ::EntityId PrefabFocusHandler::GetFocusedPrefabContainerEntityId([[maybe_unused]] AzFramework::EntityContextId entityContextId) const
|
||||
{
|
||||
if (const InstanceOptionalConstReference instance = GetInstanceReference(m_rootAliasFocusPath); instance.has_value())
|
||||
if (const InstanceOptionalReference instance = GetInstanceReference(m_rootAliasFocusPath); instance.has_value())
|
||||
{
|
||||
return instance->get().GetContainerEntityId();
|
||||
}
|
||||
|
||||
@@ -331,7 +331,7 @@ namespace AzToolsFramework
|
||||
}
|
||||
|
||||
PrefabDom storedPrefabDom(&loadedTemplateDom->get().GetAllocator());
|
||||
if (!PrefabDomUtils::StoreInstanceInPrefabDom(loadedPrefabInstance, storedPrefabDom, PrefabDomUtils::StoreFlags::StoreLinkIds))
|
||||
if (!PrefabDomUtils::StoreInstanceInPrefabDom(loadedPrefabInstance, storedPrefabDom))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -359,7 +359,7 @@ namespace AzToolsFramework
|
||||
|
||||
PrefabDom storedPrefabDom(&savingTemplateDom->get().GetAllocator());
|
||||
if (!PrefabDomUtils::StoreInstanceInPrefabDom(savingPrefabInstance, storedPrefabDom,
|
||||
PrefabDomUtils::StoreFlags::StripDefaultValues))
|
||||
PrefabDomUtils::StoreFlags::StripDefaultValues | PrefabDomUtils::StoreFlags::StripLinkIds))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ namespace AzToolsFramework
|
||||
|
||||
// Update the template of the instance since the entities are modified since the template creation.
|
||||
Prefab::PrefabDom serializedInstance;
|
||||
if (Prefab::PrefabDomUtils::StoreInstanceInPrefabDom(instanceToCreate->get(), serializedInstance))
|
||||
if (m_instanceToTemplateInterface->GenerateDomForInstance(serializedInstance, instanceToCreate->get()))
|
||||
{
|
||||
m_prefabSystemComponentInterface->UpdatePrefabTemplate(instanceToCreate->get().GetTemplateId(), serializedInstance);
|
||||
}
|
||||
|
||||
@@ -163,17 +163,21 @@ namespace AzToolsFramework
|
||||
|
||||
void PrefabSystemComponent::PropagateTemplateChanges(TemplateId templateId, InstanceOptionalConstReference instanceToExclude)
|
||||
{
|
||||
auto templateIdToLinkIdsIterator = m_templateToLinkIdsMap.find(templateId);
|
||||
if (templateIdToLinkIdsIterator != m_templateToLinkIdsMap.end())
|
||||
TemplateReference findTemplateResult = FindTemplate(templateId);
|
||||
if (findTemplateResult.has_value())
|
||||
{
|
||||
// We need to initialize a queue here because once all linked instances of a template are updated,
|
||||
// we will find all the linkIds corresponding to the updated template and add them to this queue again.
|
||||
AZStd::queue<LinkIds> linkIdsToUpdateQueue;
|
||||
linkIdsToUpdateQueue.push(LinkIds(templateIdToLinkIdsIterator->second.begin(),
|
||||
templateIdToLinkIdsIterator->second.end()));
|
||||
UpdateLinkedInstances(linkIdsToUpdateQueue);
|
||||
auto templateIdToLinkIdsIterator = m_templateToLinkIdsMap.find(templateId);
|
||||
if (templateIdToLinkIdsIterator != m_templateToLinkIdsMap.end())
|
||||
{
|
||||
// We need to initialize a queue here because once all linked instances of a template are updated,
|
||||
// we will find all the linkIds corresponding to the updated template and add them to this queue again.
|
||||
AZStd::queue<LinkIds> linkIdsToUpdateQueue;
|
||||
linkIdsToUpdateQueue.push(
|
||||
LinkIds(templateIdToLinkIdsIterator->second.begin(), templateIdToLinkIdsIterator->second.end()));
|
||||
UpdateLinkedInstances(linkIdsToUpdateQueue);
|
||||
}
|
||||
UpdatePrefabInstances(templateId, instanceToExclude);
|
||||
}
|
||||
UpdatePrefabInstances(templateId, instanceToExclude);
|
||||
}
|
||||
|
||||
void PrefabSystemComponent::UpdatePrefabTemplate(TemplateId templateId, const PrefabDom& updatedDom)
|
||||
|
||||
@@ -256,7 +256,7 @@ namespace AzToolsFramework
|
||||
return;
|
||||
}
|
||||
|
||||
PrefabDomReference sourceDom = sourceTemplate->get().GetPrefabDom();
|
||||
PrefabDom& sourceDom = sourceTemplate->get().GetPrefabDom();
|
||||
|
||||
//use instance pointer to reach position
|
||||
PrefabDomValueReference instanceDomRef = link->get().GetLinkedInstanceDom();
|
||||
@@ -274,16 +274,14 @@ namespace AzToolsFramework
|
||||
(result.GetOutcome() != AZ::JsonSerializationResult::Outcomes::PartialSkip),
|
||||
"Some of the patches are not successfully applied.");
|
||||
|
||||
//remove the link id placed into the instance
|
||||
auto linkIdIter = instanceDom.FindMember(PrefabDomUtils::LinkIdName);
|
||||
if (linkIdIter != instanceDom.MemberEnd())
|
||||
{
|
||||
instanceDom.RemoveMember(PrefabDomUtils::LinkIdName);
|
||||
}
|
||||
// Remove the link ids if present in the doms. We don't want any overrides to be created on top of linkIds because
|
||||
// linkIds are not persistent and will be created dynamically when prefabs are loaded into the editor.
|
||||
instanceDom.RemoveMember(PrefabDomUtils::LinkIdName);
|
||||
sourceDom.RemoveMember(PrefabDomUtils::LinkIdName);
|
||||
|
||||
//we use this to diff our copy against the vanilla template (source template)
|
||||
PrefabDom patchLink;
|
||||
m_instanceToTemplateInterface->GeneratePatch(patchLink, sourceDom->get(), instanceDom);
|
||||
m_instanceToTemplateInterface->GeneratePatch(patchLink, sourceDom, instanceDom);
|
||||
|
||||
// Create a copy of patchLink by providing the allocator of m_linkDomNext so that the patch doesn't become invalid when
|
||||
// the patch goes out of scope in this function.
|
||||
|
||||
+9
-5
@@ -29,7 +29,7 @@
|
||||
#include <AzToolsFramework/ContainerEntity/ContainerEntityInterface.h>
|
||||
#include <AzToolsFramework/Entity/EditorEntityContextBus.h>
|
||||
#include <AzToolsFramework/Entity/ReadOnly/ReadOnlyEntityInterface.h>
|
||||
#include <AzToolsFramework/Prefab/PrefabPublicInterface.h>
|
||||
#include <AzToolsFramework/Prefab/PrefabFocusPublicInterface.h>
|
||||
#include <AzToolsFramework/ToolsComponents/TransformComponentBus.h>
|
||||
#include <AzToolsFramework/ToolsComponents/TransformComponentSerializer.h>
|
||||
#include <AzToolsFramework/ToolsComponents/EditorInspectorComponentBus.h>
|
||||
@@ -963,18 +963,22 @@ namespace AzToolsFramework
|
||||
|
||||
if (!m_parentEntityId.IsValid())
|
||||
{
|
||||
// If Prefabs are enabled, reroute the invalid id to the level root
|
||||
// If Prefabs are enabled, reroute the invalid id to the focused prefab container entity id
|
||||
bool isPrefabSystemEnabled = false;
|
||||
AzFramework::ApplicationRequests::Bus::BroadcastResult(
|
||||
isPrefabSystemEnabled, &AzFramework::ApplicationRequests::IsPrefabSystemEnabled);
|
||||
|
||||
if (isPrefabSystemEnabled)
|
||||
{
|
||||
auto prefabPublicInterface = AZ::Interface<Prefab::PrefabPublicInterface>::Get();
|
||||
auto prefabFocusPublicInterface = AZ::Interface<Prefab::PrefabFocusPublicInterface>::Get();
|
||||
|
||||
if (prefabPublicInterface)
|
||||
if (prefabFocusPublicInterface)
|
||||
{
|
||||
m_parentEntityId = prefabPublicInterface->GetLevelInstanceContainerEntityId();
|
||||
auto editorEntityContextId = AzFramework::EntityContextId::CreateNull();
|
||||
EditorEntityContextRequestBus::BroadcastResult(
|
||||
editorEntityContextId, &EditorEntityContextRequests::GetEditorEntityContextId);
|
||||
|
||||
m_parentEntityId = prefabFocusPublicInterface->GetFocusedPrefabContainerEntityId(editorEntityContextId);
|
||||
refreshLevel = AZ::Edit::PropertyRefreshLevels::ValuesOnly;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1280,48 +1280,72 @@ namespace Detail
|
||||
|
||||
#endif
|
||||
|
||||
#define ASSERT_CONSOLE_EXISTS 0
|
||||
|
||||
// the following macros allow the help text to be easily stripped out
|
||||
|
||||
// Summary:
|
||||
// Preferred way to register a CVar
|
||||
#define REGISTER_CVAR(_var, _def_val, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register((#_var), &(_var), (_def_val), (_flags), CVARHELP(_comment)))
|
||||
#define REGISTER_CVAR(_var, _def_val, _flags, _comment) \
|
||||
(gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register((#_var), &(_var), (_def_val), (_flags), CVARHELP(_comment)))
|
||||
|
||||
// Summary:
|
||||
// Preferred way to register a CVar with a callback
|
||||
#define REGISTER_CVAR_CB(_var, _def_val, _flags, _comment, _onchangefunction) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register((#_var), &(_var), (_def_val), (_flags), CVARHELP(_comment), _onchangefunction))
|
||||
#define REGISTER_CVAR_CB(_var, _def_val, _flags, _comment, _onchangefunction) \
|
||||
(gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register((#_var), &(_var), (_def_val), (_flags), CVARHELP(_comment), _onchangefunction))
|
||||
|
||||
// Summary:
|
||||
// Preferred way to register a string CVar
|
||||
#define REGISTER_STRING(_name, _def_val, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterString(_name, (_def_val), (_flags), CVARHELP(_comment)))
|
||||
#define REGISTER_STRING(_name, _def_val, _flags, _comment) \
|
||||
(gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterString(_name, (_def_val), (_flags), CVARHELP(_comment)))
|
||||
|
||||
// Summary:
|
||||
// Preferred way to register a string CVar with a callback
|
||||
#define REGISTER_STRING_CB(_name, _def_val, _flags, _comment, _onchangefunction) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterString(_name, (_def_val), (_flags), CVARHELP(_comment), _onchangefunction))
|
||||
#define REGISTER_STRING_CB(_name, _def_val, _flags, _comment, _onchangefunction) \
|
||||
(gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterString(_name, (_def_val), (_flags), CVARHELP(_comment), _onchangefunction))
|
||||
|
||||
// Summary:
|
||||
// Preferred way to register an int CVar
|
||||
#define REGISTER_INT(_name, _def_val, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterInt(_name, (_def_val), (_flags), CVARHELP(_comment)))
|
||||
#define REGISTER_INT(_name, _def_val, _flags, _comment) \
|
||||
(gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterInt(_name, (_def_val), (_flags), CVARHELP(_comment)))
|
||||
|
||||
// Summary:
|
||||
// Preferred way to register an int CVar with a callback
|
||||
#define REGISTER_INT_CB(_name, _def_val, _flags, _comment, _onchangefunction) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterInt(_name, (_def_val), (_flags), CVARHELP(_comment), _onchangefunction))
|
||||
#define REGISTER_INT_CB(_name, _def_val, _flags, _comment, _onchangefunction) \
|
||||
(gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterInt(_name, (_def_val), (_flags), CVARHELP(_comment), _onchangefunction))
|
||||
|
||||
// Summary:
|
||||
// Preferred way to register a float CVar
|
||||
#define REGISTER_FLOAT(_name, _def_val, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterFloat(_name, (_def_val), (_flags), CVARHELP(_comment)))
|
||||
#define REGISTER_FLOAT(_name, _def_val, _flags, _comment) \
|
||||
(gEnv->pConsole == 0 ? 0 : gEnv->pConsole->RegisterFloat(_name, (_def_val), (_flags), CVARHELP(_comment)))
|
||||
|
||||
// Summary:
|
||||
// Offers more flexibility but more code is required
|
||||
#define REGISTER_CVAR2(_name, _var, _def_val, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register(_name, _var, (_def_val), (_flags), CVARHELP(_comment)))
|
||||
#define REGISTER_CVAR2(_name, _var, _def_val, _flags, _comment) \
|
||||
(gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register(_name, _var, (_def_val), (_flags), CVARHELP(_comment)))
|
||||
|
||||
// Summary:
|
||||
// Offers more flexibility but more code is required
|
||||
#define REGISTER_CVAR2_CB(_name, _var, _def_val, _flags, _comment, _onchangefunction) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register(_name, _var, (_def_val), (_flags), CVARHELP(_comment), _onchangefunction))
|
||||
#define REGISTER_CVAR2_CB(_name, _var, _def_val, _flags, _comment, _onchangefunction) \
|
||||
(gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register(_name, _var, (_def_val), (_flags), CVARHELP(_comment), _onchangefunction))
|
||||
|
||||
// Summary:
|
||||
// Offers more flexibility but more code is required, explicit address taking of destination variable
|
||||
#define REGISTER_CVAR3(_name, _var, _def_val, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register(_name, &(_var), (_def_val), (_flags), CVARHELP(_comment)))
|
||||
#define REGISTER_CVAR3(_name, _var, _def_val, _flags, _comment) \
|
||||
(gEnv->pConsole == 0 ? 0 : gEnv->pConsole->Register(_name, &(_var), (_def_val), (_flags), CVARHELP(_comment)))
|
||||
|
||||
// Summary:
|
||||
// Preferred way to register a console command
|
||||
#define REGISTER_COMMAND(_name, _func, _flags, _comment) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? false : gEnv->pConsole->AddCommand(_name, _func, (_flags), CVARHELP(_comment)))
|
||||
#define REGISTER_COMMAND(_name, _func, _flags, _comment) \
|
||||
(gEnv->pConsole == 0 ? false : gEnv->pConsole->AddCommand(_name, _func, (_flags), CVARHELP(_comment)))
|
||||
|
||||
// Summary:
|
||||
// Preferred way to unregister a CVar
|
||||
#define UNREGISTER_CVAR(_name) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? (void)0 : gEnv->pConsole->UnregisterVariable(_name))
|
||||
#define UNREGISTER_CVAR(_name) \
|
||||
(gEnv->pConsole == 0 ? (void)0 : gEnv->pConsole->UnregisterVariable(_name))
|
||||
|
||||
// Summary:
|
||||
// Preferred way to unregister a console command
|
||||
#define UNREGISTER_COMMAND(_name) (ASSERT_CONSOLE_EXISTS, gEnv->pConsole == 0 ? (void)0 : gEnv->pConsole->RemoveCommand(_name))
|
||||
#define UNREGISTER_COMMAND(_name) \
|
||||
(gEnv->pConsole == 0 ? (void)0 : gEnv->pConsole->RemoveCommand(_name))
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
@@ -106,7 +106,7 @@ typedef uint8 byte;
|
||||
#ifdef _RELEASE
|
||||
#define __debugbreak()
|
||||
#else
|
||||
#define __debugbreak() "_asm int 3"
|
||||
#define __debugbreak() asm("int3")
|
||||
#endif
|
||||
|
||||
#define __assume(x)
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace AzTestRunner
|
||||
{
|
||||
void set_quiet_mode()
|
||||
{
|
||||
freopen("/dev/null", "a", stdout);
|
||||
[[maybe_unused]] auto freopenResult = freopen("/dev/null", "a", stdout);
|
||||
}
|
||||
|
||||
const char* get_current_working_directory()
|
||||
@@ -24,7 +24,7 @@ namespace AzTestRunner
|
||||
|
||||
void pause_on_completion()
|
||||
{
|
||||
system("pause");
|
||||
[[maybe_unused]] auto systemResult = system("pause");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -115,22 +115,22 @@ namespace AZ
|
||||
const aiMesh* mesh = scene->mMeshes[currentNode->mMeshes[sdkMeshIndex]];
|
||||
if(mesh->mTextureCoords[texCoordIndex])
|
||||
{
|
||||
if (mesh->mTextureCoordsNames[texCoordIndex].length > 0)
|
||||
if (mesh->HasTextureCoordsName(texCoordIndex))
|
||||
{
|
||||
if (!customNameFound)
|
||||
{
|
||||
name = mesh->mTextureCoordsNames[texCoordIndex].C_Str();
|
||||
name = mesh->GetTextureCoordsName(texCoordIndex)->C_Str();
|
||||
customNameFound = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
AZ_Warning(Utilities::WarningWindow,
|
||||
strcmp(name.c_str(), mesh->mTextureCoordsNames[texCoordIndex].C_Str()) == 0,
|
||||
strcmp(name.c_str(), mesh->GetTextureCoordsName(texCoordIndex)->C_Str()) == 0,
|
||||
"Node %s has conflicting mesh coordinate names at index %d, %s and %s. Using %s.",
|
||||
currentNode->mName.C_Str(),
|
||||
texCoordIndex,
|
||||
name.c_str(),
|
||||
mesh->mTextureCoordsNames[texCoordIndex].C_Str(),
|
||||
mesh->GetTextureCoordsName(texCoordIndex)->C_Str(),
|
||||
name.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,33 +8,41 @@
|
||||
"Name": "UserInterface_Compressed",
|
||||
"SuppressEngineReduce": true,
|
||||
"PixelFormat": "R8G8B8A8",
|
||||
"SourceColor": "Linear",
|
||||
"DestColor": "Linear"
|
||||
"SourceColor": "sRGB",
|
||||
"DestColor": "sRGB"
|
||||
},
|
||||
"PlatformsPresets": {
|
||||
"android": {
|
||||
"UUID": "{2828FBFE-BDF9-45A7-9370-F93822719CCF}",
|
||||
"Name": "UserInterface_Compressed",
|
||||
"SuppressEngineReduce": true,
|
||||
"PixelFormat": "ASTC_4x4"
|
||||
"PixelFormat": "ASTC_4x4",
|
||||
"SourceColor": "sRGB",
|
||||
"DestColor": "sRGB"
|
||||
},
|
||||
"ios": {
|
||||
"UUID": "{2828FBFE-BDF9-45A7-9370-F93822719CCF}",
|
||||
"Name": "UserInterface_Compressed",
|
||||
"SuppressEngineReduce": true,
|
||||
"PixelFormat": "ASTC_6x6"
|
||||
"PixelFormat": "ASTC_6x6",
|
||||
"SourceColor": "sRGB",
|
||||
"DestColor": "sRGB"
|
||||
},
|
||||
"mac": {
|
||||
"UUID": "{2828FBFE-BDF9-45A7-9370-F93822719CCF}",
|
||||
"Name": "UserInterface_Compressed",
|
||||
"SuppressEngineReduce": true,
|
||||
"PixelFormat": "BC1"
|
||||
"PixelFormat": "BC1",
|
||||
"SourceColor": "sRGB",
|
||||
"DestColor": "sRGB"
|
||||
},
|
||||
"provo": {
|
||||
"UUID": "{2828FBFE-BDF9-45A7-9370-F93822719CCF}",
|
||||
"Name": "UserInterface_Compressed",
|
||||
"SuppressEngineReduce": true,
|
||||
"PixelFormat": "BC1"
|
||||
"PixelFormat": "BC1",
|
||||
"SourceColor": "sRGB",
|
||||
"DestColor": "sRGB"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,33 +8,41 @@
|
||||
"Name": "UserInterface_Lossless",
|
||||
"SuppressEngineReduce": true,
|
||||
"PixelFormat": "R8G8B8A8",
|
||||
"SourceColor": "Linear",
|
||||
"DestColor": "Linear"
|
||||
"SourceColor": "sRGB",
|
||||
"DestColor": "sRGB"
|
||||
},
|
||||
"PlatformsPresets": {
|
||||
"android": {
|
||||
"UUID": "{83003128-F63E-422B-AEC2-68F0A947225F}",
|
||||
"Name": "UserInterface_Lossless",
|
||||
"SuppressEngineReduce": true,
|
||||
"PixelFormat": "R8G8B8A8"
|
||||
"PixelFormat": "R8G8B8A8",
|
||||
"SourceColor": "sRGB",
|
||||
"DestColor": "sRGB"
|
||||
},
|
||||
"ios": {
|
||||
"UUID": "{83003128-F63E-422B-AEC2-68F0A947225F}",
|
||||
"Name": "UserInterface_Lossless",
|
||||
"SuppressEngineReduce": true,
|
||||
"PixelFormat": "R8G8B8A8"
|
||||
"PixelFormat": "R8G8B8A8",
|
||||
"SourceColor": "sRGB",
|
||||
"DestColor": "sRGB"
|
||||
},
|
||||
"mac": {
|
||||
"UUID": "{83003128-F63E-422B-AEC2-68F0A947225F}",
|
||||
"Name": "UserInterface_Lossless",
|
||||
"SuppressEngineReduce": true,
|
||||
"PixelFormat": "R8G8B8A8"
|
||||
"PixelFormat": "R8G8B8A8",
|
||||
"SourceColor": "sRGB",
|
||||
"DestColor": "sRGB"
|
||||
},
|
||||
"provo": {
|
||||
"UUID": "{83003128-F63E-422B-AEC2-68F0A947225F}",
|
||||
"Name": "UserInterface_Lossless",
|
||||
"SuppressEngineReduce": true,
|
||||
"PixelFormat": "R8G8B8A8"
|
||||
"PixelFormat": "R8G8B8A8",
|
||||
"SourceColor": "sRGB",
|
||||
"DestColor": "sRGB"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
#define mallocAligned(sze) _aligned_malloc(sze, 16)
|
||||
#define freeAligned(ptr) _aligned_free(ptr)
|
||||
|
||||
AZ_PUSH_DISABLE_WARNING_GCC("-Wunused-value")
|
||||
|
||||
/* ####################################################################################################################
|
||||
*/
|
||||
|
||||
@@ -1279,3 +1281,5 @@ namespace ImageProcessingAtom
|
||||
FilterImage(filterIndex, filterOp, blurH, blurV, srcImg, srcMip, dstImg, dstMip, srcRect, dstRect);
|
||||
}
|
||||
}
|
||||
|
||||
AZ_POP_DISABLE_WARNING_GCC
|
||||
|
||||
@@ -1154,7 +1154,7 @@
|
||||
{
|
||||
"name": "thickness",
|
||||
"displayName": " Thickness",
|
||||
"description": "Normalized global thickness, the maxima between this value (multiplied by thickness map if enabled) and thickness from shadow map (if applicable) will be used as final thickness of pixel",
|
||||
"description": "In thick transmission mode: Normalized global thickness, the maxima between this value (multiplied by thickness map if enabled) and thickness from shadow map (if applicable) will be used as final thickness of pixel\n\nIn thin transmission mode: This value modulates the distance traversed by light inside an object.",
|
||||
"type": "float",
|
||||
"defaultValue": 0.5,
|
||||
"min": 0.0,
|
||||
@@ -1223,14 +1223,41 @@
|
||||
"min": 0.0,
|
||||
"softMax": 20.0
|
||||
},
|
||||
{
|
||||
"name": "shrinkFactor",
|
||||
"displayName": " Shrink Factor",
|
||||
"description": "Shrink (absolute) offset towards the normal opposite direction to ensure correct shadow map projection",
|
||||
"type": "float",
|
||||
"defaultValue": 0.005,
|
||||
"min": 0.0,
|
||||
"softMax": 0.05
|
||||
},
|
||||
{
|
||||
"name": "transmissionNdLBias",
|
||||
"displayName": " Angle Bias",
|
||||
"description": "cosine of angle to extend below (N . L = 0) in scattering through thin objects",
|
||||
"type": "float",
|
||||
"defaultValue": 0.1,
|
||||
"min": -1.0,
|
||||
"softMax": 1.0
|
||||
},
|
||||
{
|
||||
"name": "distanceAttenuation",
|
||||
"displayName": " Distance Attenuation",
|
||||
"description": "Attenuation of the transmission effect, used to hide artifacts due to low-res shadow maps\nFor directional lights: attenuation proportional to the distance from the object to the camera.\nFor other light sources: attenuation proportional to the distance from the object to the light source.",
|
||||
"type": "float",
|
||||
"defaultValue": 0.5,
|
||||
"min": 0.0,
|
||||
"softMax": 4.0
|
||||
},
|
||||
{
|
||||
"name": "transmissionScale",
|
||||
"displayName": " Scale",
|
||||
"description": "Strength of transmission",
|
||||
"type": "float",
|
||||
"defaultValue": 3.0,
|
||||
"defaultValue": 1.0,
|
||||
"min": 0.0,
|
||||
"softMax": 20.0
|
||||
"softMax": 5.0
|
||||
}
|
||||
],
|
||||
"detailLayerGroup": [
|
||||
@@ -1555,6 +1582,9 @@
|
||||
"power": "subsurfaceScattering.transmissionPower",
|
||||
"distortion": "subsurfaceScattering.transmissionDistortion",
|
||||
"attenuation": "subsurfaceScattering.transmissionAttenuation",
|
||||
"shrinkFactor": "subsurfaceScattering.shrinkFactor",
|
||||
"transmissionNdLBias": "subsurfaceScattering.transmissionNdLBias",
|
||||
"distanceAttenuation": "subsurfaceScattering.distanceAttenuation",
|
||||
"tintColor": "subsurfaceScattering.transmissionTint",
|
||||
"thickness": "subsurfaceScattering.thickness",
|
||||
"enabled": "subsurfaceScattering.enableSubsurfaceScattering",
|
||||
|
||||
@@ -93,7 +93,7 @@ ShaderResourceGroup MaterialSrg : SRG_PerMaterial
|
||||
|
||||
// Elements of m_transmissionParams:
|
||||
// Thick object mode: (attenuation coefficient, power, distortion, scale)
|
||||
// Thin object mode: (float3 scatter distance, scale)
|
||||
// Thin object mode: (shrinkFactor, transmissionNdLBias, distanceAttenuation, scale)
|
||||
float4 m_transmissionParams;
|
||||
|
||||
// (float3 TintColor, thickness)
|
||||
|
||||
@@ -243,6 +243,7 @@ PbrLightingOutput ForwardPassPS_Common(VSOutput IN, bool isFrontFace, out float
|
||||
surface.transmission.tint = transmissionTintThickness.rgb;
|
||||
surface.transmission.thickness = transmissionTintThickness.w;
|
||||
surface.transmission.transmissionParams = MaterialSrg::m_transmissionParams;
|
||||
surface.transmission.scatterDistance = MaterialSrg::m_scatterDistance;
|
||||
|
||||
// ------- Anisotropy -------
|
||||
|
||||
@@ -275,6 +276,17 @@ PbrLightingOutput ForwardPassPS_Common(VSOutput IN, bool isFrontFace, out float
|
||||
lightingData.diffuseAmbientOcclusion = GetOcclusionInput(MaterialSrg::m_diffuseOcclusionMap, MaterialSrg::m_sampler, IN.m_uv[MaterialSrg::m_diffuseOcclusionMapUvIndex], MaterialSrg::m_diffuseOcclusionFactor, o_diffuseOcclusion_useTexture);
|
||||
lightingData.specularOcclusion = GetOcclusionInput(MaterialSrg::m_specularOcclusionMap, MaterialSrg::m_sampler, IN.m_uv[MaterialSrg::m_specularOcclusionMapUvIndex], MaterialSrg::m_specularOcclusionFactor, o_specularOcclusion_useTexture);
|
||||
|
||||
// ------- Thin Object Light Transmission -------
|
||||
|
||||
// Shrink (absolute) offset towards the normal opposite direction to ensure correct shadow map projection
|
||||
lightingData.shrinkFactor = surface.transmission.transmissionParams.x;
|
||||
|
||||
// Angle offset for subsurface scattering through thin objects
|
||||
lightingData.transmissionNdLBias = surface.transmission.transmissionParams.y;
|
||||
|
||||
// Attenuation applied to hide artifacts due to low-res shadow maps
|
||||
lightingData.distanceAttenuation = surface.transmission.transmissionParams.z;
|
||||
|
||||
// ------- Clearcoat -------
|
||||
|
||||
// [GFX TODO][ATOM-14603]: Clean up the double uses of these clear coat flags
|
||||
|
||||
@@ -92,23 +92,34 @@ function ProcessEditor(context)
|
||||
|
||||
-- Update visibility for transmission...
|
||||
|
||||
local transmissionEnabled = TransmissionMode_None ~= context:GetMaterialPropertyValue_enum("subsurfaceScattering.transmissionMode")
|
||||
|
||||
local commonTrasmissionVisibility
|
||||
if(transmissionEnabled) then
|
||||
local thickTransmissionEnabled = TransmissionMode_ThickObject == context:GetMaterialPropertyValue_enum("subsurfaceScattering.transmissionMode")
|
||||
local thinTransmissionEnabled = TransmissionMode_ThinObject == context:GetMaterialPropertyValue_enum("subsurfaceScattering.transmissionMode")
|
||||
|
||||
local commonTrasmissionVisibility = MaterialPropertyVisibility_Hidden
|
||||
local thickTransmissionVisibility = MaterialPropertyVisibility_Hidden
|
||||
local thinTransmissionVisibility = MaterialPropertyVisibility_Hidden
|
||||
if (thickTransmissionEnabled or thinTransmissionEnabled) then
|
||||
commonTrasmissionVisibility = MaterialPropertyVisibility_Enabled
|
||||
else
|
||||
commonTrasmissionVisibility = MaterialPropertyVisibility_Hidden
|
||||
|
||||
if(thickTransmissionEnabled) then
|
||||
thickTransmissionVisibility = MaterialPropertyVisibility_Enabled
|
||||
else -- thin transmission enabled
|
||||
thinTransmissionVisibility = MaterialPropertyVisibility_Enabled
|
||||
end
|
||||
end
|
||||
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.thickness", commonTrasmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.thicknessMap", commonTrasmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.transmissionTint", commonTrasmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.transmissionPower", commonTrasmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.transmissionDistortion", commonTrasmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.transmissionAttenuation", commonTrasmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.transmissionPower", thickTransmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.transmissionDistortion", thickTransmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.transmissionAttenuation", thickTransmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.shrinkFactor", thinTransmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.transmissionNdLBias", thinTransmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.distanceAttenuation", thinTransmissionVisibility)
|
||||
context:SetMaterialPropertyVisibility("subsurfaceScattering.transmissionScale", commonTrasmissionVisibility)
|
||||
|
||||
UpdateTextureDependentPropertyVisibility(context, transmissionEnabled, "subsurfaceScattering.thicknessMap", "subsurfaceScattering.useThicknessMap", "subsurfaceScattering.thicknessMapUv")
|
||||
|
||||
UpdateTextureDependentPropertyVisibility(context, thickTransmissionEnabled or thinTransmissionEnabled, "subsurfaceScattering.thicknessMap", "subsurfaceScattering.useThicknessMap", "subsurfaceScattering.thicknessMapUv")
|
||||
|
||||
end
|
||||
|
||||
@@ -325,6 +325,7 @@ PbrLightingOutput SkinPS_Common(VSOutput IN)
|
||||
surface.transmission.tint = transmissionTintThickness.rgb;
|
||||
surface.transmission.thickness = transmissionTintThickness.w;
|
||||
surface.transmission.transmissionParams = MaterialSrg::m_transmissionParams;
|
||||
surface.transmission.scatterDistance = MaterialSrg::m_scatterDistance;
|
||||
|
||||
// ------- Lighting Data -------
|
||||
|
||||
@@ -341,6 +342,17 @@ PbrLightingOutput SkinPS_Common(VSOutput IN)
|
||||
lightingData.specularResponse = FresnelSchlickWithRoughness(lightingData.NdotV, surface.specularF0, surface.roughnessLinear);
|
||||
lightingData.diffuseResponse = 1.0 - lightingData.specularResponse;
|
||||
|
||||
// ------- Thin Object Light Transmission -------
|
||||
|
||||
// Shrink (absolute) offset towards the normal opposite direction to ensure correct shadow map projection
|
||||
lightingData.shrinkFactor = surface.transmission.transmissionParams.x;
|
||||
|
||||
// Angle offset for subsurface scattering through thin objects
|
||||
lightingData.transmissionNdLBias = surface.transmission.transmissionParams.y;
|
||||
|
||||
// Attenuation applied to hide artifacts due to low-res shadow maps
|
||||
lightingData.distanceAttenuation = surface.transmission.transmissionParams.z;
|
||||
|
||||
// ------- Occlusion -------
|
||||
|
||||
lightingData.diffuseAmbientOcclusion = GetOcclusionInput(MaterialSrg::m_diffuseOcclusionMap, MaterialSrg::m_sampler, IN.m_uv[MaterialSrg::m_diffuseOcclusionMapUvIndex], MaterialSrg::m_diffuseOcclusionFactor, o_diffuseOcclusion_useTexture);
|
||||
|
||||
@@ -568,7 +568,7 @@
|
||||
{
|
||||
"name": "thickness",
|
||||
"displayName": " Thickness",
|
||||
"description": "Normalized global thickness, the maxima between this value (multiplied by thickness map if enabled) and thickness from shadow map (if applicable) will be used as final thickness of pixel",
|
||||
"description": "In thick transmission mode: Normalized global thickness, the maxima between this value (multiplied by thickness map if enabled) and thickness from shadow map (if applicable) will be used as final thickness of pixel\n\nIn thin transmission mode: This value modulates the distance traversed by light inside an object.",
|
||||
"type": "float",
|
||||
"defaultValue": 0.5,
|
||||
"min": 0.0,
|
||||
@@ -637,14 +637,41 @@
|
||||
"min": 0.0,
|
||||
"softMax": 20.0
|
||||
},
|
||||
{
|
||||
"name": "shrinkFactor",
|
||||
"displayName": " Shrink Factor",
|
||||
"description": "Shrink (absolute) offset towards the normal opposite direction to ensure correct shadow map projection",
|
||||
"type": "float",
|
||||
"defaultValue": 0.005,
|
||||
"min": 0.0,
|
||||
"softMax": 0.05
|
||||
},
|
||||
{
|
||||
"name": "transmissionNdLBias",
|
||||
"displayName": " Angle Bias",
|
||||
"description": "cosine of angle to extend below (N . L = 0) in scattering through thin objects",
|
||||
"type": "float",
|
||||
"defaultValue": 0.1,
|
||||
"min": -1.0,
|
||||
"softMax": 1.0
|
||||
},
|
||||
{
|
||||
"name": "distanceAttenuation",
|
||||
"displayName": " Distance Attenuation",
|
||||
"description": "Attenuation of the transmission effect, used to hide artifacts due to low-res shadow maps\nFor directional lights: attenuation proportional to the distance from the object to the camera.\nFor other light sources: attenuation proportional to the distance from the object to the light source.",
|
||||
"type": "float",
|
||||
"defaultValue": 0.5,
|
||||
"min": 0.0,
|
||||
"softMax": 4.0
|
||||
},
|
||||
{
|
||||
"name": "transmissionScale",
|
||||
"displayName": " Scale",
|
||||
"description": "Strength of transmission",
|
||||
"type": "float",
|
||||
"defaultValue": 3.0,
|
||||
"defaultValue": 1.0,
|
||||
"min": 0.0,
|
||||
"softMax": 20.0
|
||||
"softMax": 5.0
|
||||
}
|
||||
],
|
||||
"wrinkleLayers": [
|
||||
@@ -1011,6 +1038,9 @@
|
||||
"power": "subsurfaceScattering.transmissionPower",
|
||||
"distortion": "subsurfaceScattering.transmissionDistortion",
|
||||
"attenuation": "subsurfaceScattering.transmissionAttenuation",
|
||||
"shrinkFactor": "subsurfaceScattering.shrinkFactor",
|
||||
"transmissionNdLBias": "subsurfaceScattering.transmissionNdLBias",
|
||||
"distanceAttenuation": "subsurfaceScattering.distanceAttenuation",
|
||||
"tintColor": "subsurfaceScattering.transmissionTint",
|
||||
"thickness": "subsurfaceScattering.thickness",
|
||||
"enabled": "subsurfaceScattering.enableSubsurfaceScattering",
|
||||
|
||||
@@ -22,6 +22,10 @@
|
||||
#include "MaterialInputs/UvSetCount.azsli"
|
||||
#include "MaterialInputs/DetailMapsInput.azsli"
|
||||
|
||||
// Use human skin profile for thin object transmission (if enabled)
|
||||
// Remove this line to use a custom profile based on the scatter color
|
||||
#define USE_HUMAN_SKIN_PROFILE
|
||||
|
||||
ShaderResourceGroup MaterialSrg : SRG_PerMaterial
|
||||
{
|
||||
// Auto-generate material SRG fields for common inputs
|
||||
@@ -64,7 +68,7 @@ ShaderResourceGroup MaterialSrg : SRG_PerMaterial
|
||||
|
||||
// Elements of m_transmissionParams:
|
||||
// Thick object mode: (attenuation coefficient, power, distortion, scale)
|
||||
// Thin object mode: (float3 scatter distance, scale)
|
||||
// Thin object mode: (shrinkFactor, transmissionNdLBias, distanceAttenuation, scale)
|
||||
float4 m_transmissionParams;
|
||||
|
||||
// (float3 TintColor, thickness)
|
||||
|
||||
@@ -16,24 +16,28 @@
|
||||
#include <Atom/Features/PBR/LightingOptions.azsli>
|
||||
|
||||
// Analytical integation (approximation) of diffusion profile over radius, could be replaced by other pre integrated kernels
|
||||
// such as sum of Gaussian
|
||||
// such as sum of Gaussian (see T(s))
|
||||
float3 TransmissionKernel(float t, float3 s)
|
||||
{
|
||||
float3 exponent = s * t;
|
||||
return 0.25 * (1.0 / exp(exponent) + 3.0 / exp(exponent / 3.0));
|
||||
}
|
||||
|
||||
float ThinObjectFalloff(const float3 surfaceNormal, const float3 dirToLight)
|
||||
// [specific profile for human skin]
|
||||
// Analytical integation (approximation) of diffusion profile over radius, could be precomputed in a LUT
|
||||
// From d'Eon and Luebke (https://developer.nvidia.com/gpugems/gpugems3/part-iii-rendering/chapter-14-advanced-techniques-realistic-real-time-skin, section 14.4.7)
|
||||
float3 T(float s)
|
||||
{
|
||||
const float ndl = saturate(dot(-surfaceNormal, dirToLight));
|
||||
|
||||
// ndl works decently well but it can produce a harsh discontinuity in the area just before
|
||||
// the shadow starts appearing on objects like cylinder and tubes.
|
||||
// Smoothing out ndl does a decent enough job of removing this artifact.
|
||||
return smoothstep(0, 1, ndl * ndl);
|
||||
// dipoles and multipoles are approximated with sums of a small number of Gaussians with variable weights and variances
|
||||
return float3(0.233, 0.455, 0.649) * exp(-s*s/0.0064) +
|
||||
float3(0.1, 0.336, 0.344) * exp(-s*s/0.0484) +
|
||||
float3(0.118, 0.198, 0.0) * exp(-s*s/0.187) +
|
||||
float3(0.113, 0.007, 0.007) * exp(-s*s/0.567) +
|
||||
float3(0.358, 0.004, 0.0) * exp(-s*s/1.99) +
|
||||
float3(0.078, 0.0, 0.0) * exp(-s*s/7.41);
|
||||
}
|
||||
|
||||
float3 GetBackLighting(Surface surface, LightingData lightingData, float3 lightIntensity, float3 dirToLight, float shadowRatio)
|
||||
float3 GetBackLighting(Surface surface, LightingData lightingData, float3 lightIntensity, float3 dirToLight, float transmissionDistance, float attenuationDistance)
|
||||
{
|
||||
float3 result = float3(0.0, 0.0, 0.0);
|
||||
|
||||
@@ -52,7 +56,7 @@ float3 GetBackLighting(Surface surface, LightingData lightingData, float3 lightI
|
||||
// https://colinbarrebrisebois.com/2011/03/07/gdc-2011-approximating-translucency-for-a-fast-cheap-and-convincing-subsurface-scattering-look/
|
||||
|
||||
{
|
||||
thickness = max(shadowRatio, surface.transmission.thickness);
|
||||
thickness = max(transmissionDistance, surface.transmission.thickness);
|
||||
float transmittance = pow( saturate( dot( lightingData.dirToCamera, -normalize( dirToLight + surface.normal * transmissionParams.z ) ) ), transmissionParams.y ) * transmissionParams.w;
|
||||
float lamberAttenuation = exp(-thickness * transmissionParams.x) * saturate(1.0 - thickness);
|
||||
result = transmittance * lamberAttenuation * lightIntensity;
|
||||
@@ -60,18 +64,39 @@ float3 GetBackLighting(Surface surface, LightingData lightingData, float3 lightI
|
||||
break;
|
||||
|
||||
case TransmissionMode::ThinObject:
|
||||
// Thin object mode, using thin-film assumption proposed by Jimenez J. et al, 2010, "Real-Time Realistic Skin Translucency"
|
||||
// Thin object mode, based on Jimenez J. et al, 2010, "Real-Time Realistic Skin Translucency"
|
||||
// http://www.iryoku.com/translucency/downloads/Real-Time-Realistic-Skin-Translucency.pdf
|
||||
|
||||
float litRatio = 1.0 - shadowRatio;
|
||||
if (litRatio)
|
||||
|
||||
{
|
||||
const float thickness = surface.transmission.thickness * transmissionParams.w;
|
||||
const float3 invScattering = rcp(transmissionParams.xyz);
|
||||
const float falloff = ThinObjectFalloff(surface.normal, dirToLight);
|
||||
result = TransmissionKernel(thickness, invScattering) * falloff * lightIntensity * litRatio;
|
||||
}
|
||||
// transmissionDistance < 0.0f means shadows are not enabled --> avoid unnecessary computation
|
||||
if (transmissionDistance < 0.0f)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
// Irradiance arround surface point.
|
||||
// Albedo at front (surface point) is used to approximate irradiance at the back of the object (observation 4 in [Jimenez J. et al, 2010])
|
||||
// Increase angle of influence to smooth transition regions
|
||||
float3 E = surface.albedo * saturate(lightingData.transmissionNdLBias + dot(-surface.normal, dirToLight));
|
||||
|
||||
// Transmission distance modulated by hardcoded constant C and the thickness exposed parameter (in this case modulating the distance traversed by the light inside the object)
|
||||
const float C = 300.0f;
|
||||
float s = transmissionDistance * C * surface.transmission.thickness;
|
||||
|
||||
// Use scattering color to weight thin object transmission color
|
||||
const float3 invScattering = rcp(max(surface.transmission.scatterDistance, float(0.00001)));
|
||||
|
||||
#ifndef USE_HUMAN_SKIN_PROFILE
|
||||
// Generic profile based on scatter color
|
||||
result = TransmissionKernel(s, invScattering) * lightIntensity * E * transmissionParams.w;
|
||||
#else // USE_HUMAN_SKIN_PROFILE
|
||||
// Profile specific to human skin
|
||||
result = T(s) * lightIntensity * E * transmissionParams.w;
|
||||
#endif
|
||||
|
||||
// Distance attenuation applied to hide artifacts due to low-res projected areas onto shadowmaps (might need some work in the future)
|
||||
result /= max(1.0, attenuationDistance * attenuationDistance * lightingData.distanceAttenuation);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+9
@@ -28,6 +28,15 @@ class LightingData
|
||||
// Direction light shadow coordinates
|
||||
float3 shadowCoords[ViewSrg::MaxCascadeCount];
|
||||
|
||||
// (N . L) to accept below (N . L = 0) in scattering through thin objects
|
||||
float transmissionNdLBias;
|
||||
|
||||
// Shrink (absolute) offset towards the normal opposite direction to ensure correct shadow map projection
|
||||
float shrinkFactor;
|
||||
|
||||
// Attenuation applied to hide artifacts due to low-res shadow maps
|
||||
float distanceAttenuation;
|
||||
|
||||
// Normalized direction from surface to camera
|
||||
float3 dirToCamera;
|
||||
|
||||
|
||||
+9
-2
@@ -135,8 +135,15 @@ void ApplyCapsuleLight(ViewSrg::CapsuleLight light, Surface surface, inout Light
|
||||
float3 closestIntersectionPoint = startPoint + closestT * startToEnd;
|
||||
float3 posToLight = closestIntersectionPoint - surface.position;
|
||||
|
||||
// Tranmission contribution
|
||||
lightingData.translucentBackLighting += GetBackLighting(surface, lightingData, lightIntensity, normalize(posToLight), 0.0);
|
||||
// Transmission contribution
|
||||
// We cannot compute the actual transmission distance so we want to:
|
||||
// - If transmission mode is thick object -> use transmission thickness parameter instead
|
||||
// - If transmission mode is thin object -> ignore back lighting
|
||||
// To detect and apply this behavior in the GetBackLighting function, we need to use a negative transmissionDistance
|
||||
const float transmissionDistance = -1.0f;
|
||||
// If the transmissionDistance is ignored then the attenuation distance (only used on thin objects) does not have any influence
|
||||
const float attenuationDistance = 0.0f;
|
||||
lightingData.translucentBackLighting += GetBackLighting(surface, lightingData, lightIntensity, normalize(posToLight), transmissionDistance, attenuationDistance);
|
||||
|
||||
// Calculate the offset from the nearest point on the reflection vector to the nearest point on the capsule light
|
||||
float3 posToClosestPointAlongReflection = dot(posToLight, reflectionDir) * reflectionDir;
|
||||
|
||||
+29
-14
@@ -18,7 +18,13 @@ void ApplyDirectionalLights(Surface surface, inout LightingData lightingData)
|
||||
// Shadowed check
|
||||
const uint shadowIndex = ViewSrg::m_shadowIndexDirectionalLight;
|
||||
float litRatio = 1.0f;
|
||||
float backShadowRatio = 0.0f;
|
||||
float camToSurfDist = distance(ViewSrg::m_worldPosition, surface.position);
|
||||
|
||||
// Distance travelled by the light inside the object. If not redefined to a non-negative value, it will take the following behavior:
|
||||
// - If transmission mode is thick object -> use transmission thickness parameter instead
|
||||
// - If transmission mode is thin object -> ignore back lighting
|
||||
float transmissionDistance = -1.0f;
|
||||
|
||||
if (o_enableShadows && shadowIndex < SceneSrg::m_directionalLightCount)
|
||||
{
|
||||
litRatio = DirectionalLightShadow::GetVisibility(
|
||||
@@ -30,7 +36,19 @@ void ApplyDirectionalLights(Surface surface, inout LightingData lightingData)
|
||||
#if ENABLE_TRANSMISSION
|
||||
if (o_transmission_mode == TransmissionMode::ThickObject)
|
||||
{
|
||||
backShadowRatio = DirectionalLightShadow::GetThickness(shadowIndex, lightingData.shadowCoords);
|
||||
transmissionDistance = DirectionalLightShadow::GetThickness(shadowIndex, lightingData.shadowCoords);
|
||||
}
|
||||
else if (o_transmission_mode == TransmissionMode::ThinObject)
|
||||
{
|
||||
// Fetch and use shrinked positions for thin object transmission to ensure they fall onto the object when querying
|
||||
DirectionalLightShadow::GetShadowCoords(
|
||||
shadowIndex,
|
||||
surface.position - lightingData.shrinkFactor * surface.vertexNormal,
|
||||
surface.normal,
|
||||
lightingData.shadowCoords);
|
||||
|
||||
// the depth from the shadow map
|
||||
transmissionDistance = DirectionalLightShadow::GetThickness(shadowIndex, lightingData.shadowCoords);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -52,23 +70,20 @@ void ApplyDirectionalLights(Surface surface, inout LightingData lightingData)
|
||||
// [GFX TODO][ATOM-2012] care of multiple directional light
|
||||
// Currently shadow check is done only for index == shadowIndex.
|
||||
float currentLitRatio = 1.0f;
|
||||
float currentBackShadowRatio = 1.0f;
|
||||
if (o_enableShadows)
|
||||
float currentTransmissionDistance = -1.0f;
|
||||
|
||||
if (o_enableShadows && index == shadowIndex)
|
||||
{
|
||||
currentLitRatio = (index == shadowIndex) ? litRatio : 1.;
|
||||
|
||||
currentBackShadowRatio = 1.0 - currentLitRatio;
|
||||
#if ENABLE_TRANSMISSION
|
||||
if (o_transmission_mode == TransmissionMode::ThickObject)
|
||||
{
|
||||
currentBackShadowRatio = (index == shadowIndex) ? backShadowRatio : 0.;
|
||||
}
|
||||
#endif
|
||||
// Add contribution only if current directional light is the active one for shadows
|
||||
currentLitRatio = litRatio;
|
||||
currentTransmissionDistance = transmissionDistance;
|
||||
}
|
||||
|
||||
// Transmission contribution
|
||||
lightingData.translucentBackLighting += GetBackLighting(surface, lightingData, light.m_rgbIntensityLux, dirToLight, currentTransmissionDistance, camToSurfDist);
|
||||
|
||||
lightingData.diffuseLighting += GetDiffuseLighting(surface, lightingData, light.m_rgbIntensityLux, dirToLight) * currentLitRatio;
|
||||
lightingData.specularLighting += GetSpecularLighting(surface, lightingData, light.m_rgbIntensityLux, dirToLight) * currentLitRatio;
|
||||
lightingData.translucentBackLighting += GetBackLighting(surface, lightingData, light.m_rgbIntensityLux, dirToLight, currentBackShadowRatio);
|
||||
}
|
||||
|
||||
// Add debug coloring for directional light shadow
|
||||
|
||||
+15
-10
@@ -76,9 +76,12 @@ void ApplyDiskLight(ViewSrg::DiskLight light, Surface surface, inout LightingDat
|
||||
|
||||
// shadow
|
||||
float litRatio = 1.0;
|
||||
|
||||
// How much is back face shadowed, it's set to the reverse of litRatio to share the same default value with thickness, which should be 0 if no shadow map available
|
||||
float backShadowRatio = 0.0;
|
||||
|
||||
// Distance travelled by the light inside the object. If not redefined to a non-negative value, it will take the following behavior:
|
||||
// - If transmission mode is thick object -> use transmission thickness parameter instead
|
||||
// - If transmission mode is thin object -> ignore back lighting
|
||||
float transmissionDistance = -1.0f;
|
||||
|
||||
if (o_enableShadows)
|
||||
{
|
||||
litRatio = ProjectedShadow::GetVisibility(
|
||||
@@ -88,14 +91,16 @@ void ApplyDiskLight(ViewSrg::DiskLight light, Surface surface, inout LightingDat
|
||||
-dirToConeTip,
|
||||
surface.vertexNormal);
|
||||
|
||||
// Use backShadowRatio to carry thickness from shadow map for thick mode
|
||||
backShadowRatio = 1.0 - litRatio;
|
||||
|
||||
// o_transmission_mode == NONE is not taken into account because GetBackLighting already ignores this case
|
||||
#if ENABLE_TRANSMISSION
|
||||
if (o_transmission_mode == TransmissionMode::ThickObject)
|
||||
{
|
||||
backShadowRatio = ProjectedShadow::GetThickness(
|
||||
light.m_shadowIndex,
|
||||
surface.position);
|
||||
transmissionDistance = ProjectedShadow::GetThickness(light.m_shadowIndex, surface.position);
|
||||
}
|
||||
else if (o_transmission_mode == TransmissionMode::ThinObject)
|
||||
{
|
||||
transmissionDistance = ProjectedShadow::GetThickness(light.m_shadowIndex, surface.position - lightingData.shrinkFactor * surface.vertexNormal);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -115,8 +120,8 @@ void ApplyDiskLight(ViewSrg::DiskLight light, Surface surface, inout LightingDat
|
||||
lightingData.diffuseLighting += GetDiffuseLighting(surface, lightingData, lightIntensity, posToLightDir) * litRatio;
|
||||
|
||||
// Transmission contribution
|
||||
lightingData.translucentBackLighting += GetBackLighting(surface, lightingData, lightIntensity, posToLightDir, backShadowRatio);
|
||||
|
||||
lightingData.translucentBackLighting += GetBackLighting(surface, lightingData, lightIntensity, posToLightDir, transmissionDistance, distanceToLight2);
|
||||
|
||||
// Adjust the light direction for specular based on disk size
|
||||
|
||||
// Calculate the reflection off the normal from the view direction
|
||||
|
||||
+11
-1
@@ -46,6 +46,16 @@ void AddSampleContribution(
|
||||
float3 intensityRgb = float3(intensity, intensity, intensity);
|
||||
|
||||
diffuseAcc += GetDiffuseLighting(surface, lightingData, intensityRgb, posToLightSampleDir);
|
||||
translucentAcc += GetBackLighting(surface, lightingData, intensityRgb, posToLightSampleDir, 0.0);
|
||||
|
||||
// Transmission contribution
|
||||
// We cannot compute the actual transmission distance so we want to:
|
||||
// - If transmission mode is thick object -> use transmission thickness parameter instead
|
||||
// - If transmission mode is thin object -> ignore back lighting
|
||||
// To detect and apply this behavior in the GetBackLighting function, we need to use a negative transmissionDistance
|
||||
const float transmissionDistance = -1.0f;
|
||||
// If the transmissionDistance is ignored then the attenuation distance (only used on thin objects) does not have any influence
|
||||
const float attenuationDistance = 0.0f;
|
||||
translucentAcc += GetBackLighting(surface, lightingData, intensityRgb, posToLightSampleDir, transmissionDistance, attenuationDistance);
|
||||
|
||||
specularAcc += GetSpecularLighting(surface, lightingData, intensityRgb, posToLightSampleDir);
|
||||
}
|
||||
|
||||
+15
-10
@@ -67,6 +67,7 @@ uint ComputeShadowIndex(const ViewSrg::PointLight light, const Surface surface)
|
||||
void ApplyPointLight(ViewSrg::PointLight light, Surface surface, inout LightingData lightingData)
|
||||
{
|
||||
float3 posToLight = light.m_position - surface.position;
|
||||
float posToLightDist = length(posToLight);
|
||||
float d2 = dot(posToLight, posToLight); // light distance squared
|
||||
float falloff = d2 * light.m_invAttenuationRadiusSquared;
|
||||
|
||||
@@ -84,8 +85,11 @@ void ApplyPointLight(ViewSrg::PointLight light, Surface surface, inout LightingD
|
||||
// shadow
|
||||
float litRatio = 1.0;
|
||||
|
||||
// How much is back face shadowed, it's set to the reverse of litRatio to share the same default value with thickness, which should be 0 if no shadow map available
|
||||
float backShadowRatio = 0.0;
|
||||
// Distance travelled by the light inside the object. If not redefined to a non-negative value, it will take the following behavior:
|
||||
// - If transmission mode is thick object -> use transmission thickness parameter instead
|
||||
// - If transmission mode is thin object -> ignore back lighting
|
||||
float transmissionDistance = -1.0f;
|
||||
|
||||
if (o_enableShadows)
|
||||
{
|
||||
const float3 lightDir = normalize(light.m_position - surface.position);
|
||||
@@ -96,16 +100,17 @@ void ApplyPointLight(ViewSrg::PointLight light, Surface surface, inout LightingD
|
||||
surface.position,
|
||||
lightDir,
|
||||
surface.vertexNormal);
|
||||
|
||||
// Use backShadowRatio to carry thickness from shadow map for thick mode
|
||||
backShadowRatio = 1.0 - litRatio;
|
||||
|
||||
#if ENABLE_TRANSMISSION
|
||||
// o_transmission_mode == NONE is not taken into account because GetBackLighting already ignores this case
|
||||
if (o_transmission_mode == TransmissionMode::ThickObject)
|
||||
{
|
||||
backShadowRatio = ProjectedShadow::GetThickness(
|
||||
shadowIndex,
|
||||
surface.position);
|
||||
}
|
||||
transmissionDistance = ProjectedShadow::GetThickness(shadowIndex, surface.position);
|
||||
}
|
||||
else if (o_transmission_mode == TransmissionMode::ThinObject)
|
||||
{
|
||||
transmissionDistance = ProjectedShadow::GetThickness(shadowIndex, surface.position - lightingData.shrinkFactor * surface.vertexNormal);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -113,7 +118,7 @@ void ApplyPointLight(ViewSrg::PointLight light, Surface surface, inout LightingD
|
||||
lightingData.diffuseLighting += GetDiffuseLighting(surface, lightingData, lightIntensity, normalize(posToLight)) * litRatio;
|
||||
|
||||
// Transmission contribution
|
||||
lightingData.translucentBackLighting += GetBackLighting(surface, lightingData, lightIntensity, normalize(posToLight), backShadowRatio);
|
||||
lightingData.translucentBackLighting += GetBackLighting(surface, lightingData, lightIntensity, normalize(posToLight), transmissionDistance, posToLightDist);
|
||||
|
||||
// Adjust the light direcion for specular based on bulb size
|
||||
|
||||
|
||||
@@ -148,13 +148,21 @@ void ApplyQuadLight(ViewSrg::QuadLight light, Surface surface, inout LightingDat
|
||||
GetDiffuseLighting(surface, lightingData, intensity, dirToLightCenter)
|
||||
);
|
||||
|
||||
// Transmission contribution
|
||||
// We cannot compute the actual transmission distance so we want to:
|
||||
// - If transmission mode is thick object -> use transmission thickness parameter instead
|
||||
// - If transmission mode is thin object -> ignore back lighting
|
||||
// To detect and apply this behavior in the GetBackLighting function, we need to use a negative transmissionDistance
|
||||
const float transmissionDistance = -1.0f;
|
||||
// If the transmissionDistance is ignored then the attenuation distance (only used on thin objects) does not have any influence
|
||||
const float attenuationDistance = 0.0f;
|
||||
lightingData.translucentBackLighting +=
|
||||
(
|
||||
GetBackLighting(surface, lightingData, intensity, p0, 0.0) +
|
||||
GetBackLighting(surface, lightingData, intensity, p1, 0.0) +
|
||||
GetBackLighting(surface, lightingData, intensity, p2, 0.0) +
|
||||
GetBackLighting(surface, lightingData, intensity, p3, 0.0) +
|
||||
GetBackLighting(surface, lightingData, intensity, dirToLightCenter, 0.0)
|
||||
GetBackLighting(surface, lightingData, intensity, p0, transmissionDistance, attenuationDistance) +
|
||||
GetBackLighting(surface, lightingData, intensity, p1, transmissionDistance, attenuationDistance) +
|
||||
GetBackLighting(surface, lightingData, intensity, p2, transmissionDistance, attenuationDistance) +
|
||||
GetBackLighting(surface, lightingData, intensity, p3, transmissionDistance, attenuationDistance) +
|
||||
GetBackLighting(surface, lightingData, intensity, dirToLightCenter, transmissionDistance, attenuationDistance)
|
||||
);
|
||||
|
||||
// Calculate specular by choosing a single representative point on the light's surface based on the reflection ray
|
||||
|
||||
+3
-1
@@ -14,7 +14,8 @@ class TransmissionSurfaceData
|
||||
{
|
||||
float3 tint;
|
||||
float thickness; //!< pre baked local thickness, used for transmission
|
||||
float4 transmissionParams; //!< parameters: thick mode->(attenuation coefficient, power, distortion, scale), thin mode: (float3 scatter distance, scale)
|
||||
float4 transmissionParams; //!< parameters: thick mode->(attenuation coefficient, power, distortion, scale), thin mode: (shrinkFactor, transmissionNdLBias, distanceAttenuation, scale)
|
||||
float3 scatterDistance; //!< scatter distance (same as in MaterialSrg) >
|
||||
|
||||
void InitializeToZero();
|
||||
};
|
||||
@@ -24,6 +25,7 @@ void TransmissionSurfaceData::InitializeToZero()
|
||||
tint = float3(0.0f, 0.0f, 0.0f);
|
||||
thickness = 0.0f;
|
||||
transmissionParams = float4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
scatterDistance = float3(0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user