Merge branch 'development' into bug-import-restrictions-95
This commit is contained in:
+1
-8
@@ -2,18 +2,14 @@
|
||||
.vs/
|
||||
.vscode/
|
||||
__pycache__
|
||||
AssetProcessorTemp/**
|
||||
[Bb]uild/
|
||||
[Oo]ut/**
|
||||
CMakeUserPresets.json
|
||||
[Cc]ache/
|
||||
/[Ii]nstall/
|
||||
Editor/EditorEventLog.xml
|
||||
Editor/EditorLayout.xml
|
||||
**/*egg-info/**
|
||||
**/*egg-link
|
||||
**/[Rr]estricted
|
||||
UserSettings.xml
|
||||
[Uu]ser/
|
||||
FrameCapture/**
|
||||
.DS_Store
|
||||
@@ -22,9 +18,6 @@ client*.cfg
|
||||
server*.cfg
|
||||
.mayaSwatches/
|
||||
_savebackup/
|
||||
#Output folder for test results when running Automated Tests
|
||||
TestResults/**
|
||||
*.swatches
|
||||
/imgui.ini
|
||||
/scripts/project_manager/logs/
|
||||
/AutomatedTesting/Gem/PythonTests/scripting/TestResults
|
||||
|
||||
|
||||
@@ -27,5 +27,4 @@ else()
|
||||
|
||||
set_property(GLOBAL APPEND PROPERTY LY_PROJECTS_TARGET_NAME ${project_target_name})
|
||||
|
||||
add_subdirectory(Gem)
|
||||
endif()
|
||||
@@ -6,6 +6,9 @@
|
||||
#
|
||||
#
|
||||
|
||||
set(gem_path ${CMAKE_CURRENT_LIST_DIR})
|
||||
set(gem_json ${gem_path}/gem.json)
|
||||
o3de_restricted_path(${gem_json} gem_restricted_path gem_parent_relative_path)
|
||||
|
||||
add_subdirectory(Code)
|
||||
add_subdirectory(PythonTests)
|
||||
add_subdirectory(PythonCoverage)
|
||||
add_subdirectory(PythonTests)
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
#
|
||||
|
||||
ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME})
|
||||
o3de_pal_dir(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME} ${gem_restricted_path} ${gem_path} ${gem_parent_relative_path})
|
||||
|
||||
ly_add_target(
|
||||
NAME AutomatedTesting ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
|
||||
|
||||
+5
-5
@@ -19,8 +19,8 @@
|
||||
|
||||
<RemoteProcedure Name="AutonomousToAuthorityNoParams" InvokeFrom="Autonomous" HandleOn="Authority" IsPublic="false" IsReliable="false" GenerateEventBindings="true" Description="" />
|
||||
|
||||
<RemoteProcedure Name="AuthorityToAutonomous" InvokeFrom="Authority" HandleOn="Autonomous" IsPublic="false" IsReliable="false" GenerateEventBindings="true" Description="" >
|
||||
<Param Type="float" Name="SomeFloat" />
|
||||
<RemoteProcedure Name="AuthorityToAutonomous_PlayerNumber" InvokeFrom="Authority" HandleOn="Autonomous" IsPublic="false" IsReliable="true" GenerateEventBindings="true" Description="" >
|
||||
<Param Type="int" Name="player_number" />
|
||||
</RemoteProcedure>
|
||||
|
||||
<RemoteProcedure Name="AuthorityToAutonomousNoParams" InvokeFrom="Authority" HandleOn="Autonomous" IsPublic="false" IsReliable="false" GenerateEventBindings="true" Description="" />
|
||||
@@ -29,10 +29,10 @@
|
||||
<Param Type="float" Name="SomeFloat" />
|
||||
</RemoteProcedure>
|
||||
|
||||
<RemoteProcedure Name="AuthorityToClientNoParams" InvokeFrom="Authority" HandleOn="Client" IsPublic="false" IsReliable="false" GenerateEventBindings="true" Description="" />
|
||||
<RemoteProcedure Name="AuthorityToClientNoParams_PlayFx" InvokeFrom="Authority" HandleOn="Client" IsPublic="false" IsReliable="true" GenerateEventBindings="true" Description="" />
|
||||
|
||||
<RemoteProcedure Name="ServerToAuthority" InvokeFrom="Server" HandleOn="Authority" IsPublic="false" IsReliable="false" GenerateEventBindings="true" Description="" >
|
||||
<Param Type="float" Name="SomeFloat" />
|
||||
<RemoteProcedure Name="ServerToAuthority_DealDamage" InvokeFrom="Server" HandleOn="Authority" IsPublic="false" IsReliable="true" GenerateEventBindings="true" Description="" >
|
||||
<Param Type="float" Name="damage" />
|
||||
</RemoteProcedure>
|
||||
|
||||
<RemoteProcedure Name="ServerToAuthorityNoParam" InvokeFrom="Server" HandleOn="Authority" IsPublic="false" IsReliable="false" GenerateEventBindings="true" Description="" />
|
||||
|
||||
@@ -6,4 +6,8 @@
|
||||
#
|
||||
#
|
||||
|
||||
set(gem_path ${CMAKE_CURRENT_LIST_DIR})
|
||||
set(gem_json ${gem_path}/gem.json)
|
||||
o3de_restricted_path(${gem_json} gem_restricted_path gem_parent_relative_path)
|
||||
|
||||
add_subdirectory(Code)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
#
|
||||
|
||||
ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME} ${o3de_gem_restricted_path} ${o3de_gem_path} ${o3de_gem_name})
|
||||
o3de_pal_dir(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME} ${gem_restricted_path} ${gem_path} ${gem_parent_relative_path})
|
||||
include(${pal_dir}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
|
||||
|
||||
if(PAL_TRAIT_PYTHONCOVERAGE_SUPPORTED)
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"license": "Apache-2.0 Or MIT",
|
||||
"license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt",
|
||||
"origin": "Open 3D Engine - o3de.org",
|
||||
"origin_url": "https://github.com/o3de/o3de",
|
||||
"type": "Tool",
|
||||
"summary": "A tool for generating gem coverage for Python tests.",
|
||||
"canonical_tags": [
|
||||
@@ -13,5 +14,8 @@
|
||||
"PythonCoverage"
|
||||
],
|
||||
"icon_path": "preview.png",
|
||||
"requirements": ""
|
||||
"requirements": "",
|
||||
"documentation_url": "",
|
||||
"dependencies": [
|
||||
]
|
||||
}
|
||||
|
||||
@@ -4,10 +4,18 @@ For complete copyright and license terms please see the LICENSE at the root of t
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
import logging
|
||||
import os
|
||||
import pytest
|
||||
|
||||
import ly_test_tools.environment.file_system as file_system
|
||||
import editor_python_test_tools.hydra_test_utils as hydra
|
||||
|
||||
from ly_test_tools.o3de.editor_test import EditorSharedTest, EditorTestSuite
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
TEST_DIRECTORY = os.path.join(os.path.dirname(__file__), "tests")
|
||||
|
||||
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@@ -114,3 +122,73 @@ class TestAutomation(EditorTestSuite):
|
||||
|
||||
class ShaderAssetBuilder_RecompilesShaderAsChainOfDependenciesChanges(EditorSharedTest):
|
||||
from Atom.tests import hydra_ShaderAssetBuilder_RecompilesShaderAsChainOfDependenciesChanges as test_module
|
||||
|
||||
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_generic'])
|
||||
class TestMaterialEditorBasicTests(object):
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_teardown(self, request, workspace, project):
|
||||
def delete_files():
|
||||
file_system.delete(
|
||||
[
|
||||
os.path.join(workspace.paths.project(), "Materials", "test_material.material"),
|
||||
os.path.join(workspace.paths.project(), "Materials", "test_material_1.material"),
|
||||
os.path.join(workspace.paths.project(), "Materials", "test_material_2.material"),
|
||||
],
|
||||
True,
|
||||
True,
|
||||
)
|
||||
# Cleanup our newly created materials
|
||||
delete_files()
|
||||
|
||||
def teardown():
|
||||
# Cleanup our newly created materials
|
||||
delete_files()
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
@pytest.mark.parametrize("exe_file_name", ["MaterialEditor"])
|
||||
@pytest.mark.test_case_id("C34448113") # Creating a New Asset.
|
||||
@pytest.mark.test_case_id("C34448114") # Opening an Existing Asset.
|
||||
@pytest.mark.test_case_id("C34448115") # Closing Selected Material.
|
||||
@pytest.mark.test_case_id("C34448116") # Closing All Materials.
|
||||
@pytest.mark.test_case_id("C34448117") # Closing all but Selected Material.
|
||||
@pytest.mark.test_case_id("C34448118") # Saving Material.
|
||||
@pytest.mark.test_case_id("C34448119") # Saving as a New Material.
|
||||
@pytest.mark.test_case_id("C34448120") # Saving as a Child Material.
|
||||
@pytest.mark.test_case_id("C34448121") # Saving all Open Materials.
|
||||
def test_MaterialEditorBasicTests(
|
||||
self, request, workspace, project, launcher_platform, generic_launcher, exe_file_name):
|
||||
|
||||
expected_lines = [
|
||||
"Material opened: True",
|
||||
"Test asset doesn't exist initially: True",
|
||||
"New asset created: True",
|
||||
"New Material opened: True",
|
||||
"Material closed: True",
|
||||
"All documents closed: True",
|
||||
"Close All Except Selected worked as expected: True",
|
||||
"Actual Document saved with changes: True",
|
||||
"Document saved as copy is saved with changes: True",
|
||||
"Document saved as child is saved with changes: True",
|
||||
"Save All worked as expected: True",
|
||||
]
|
||||
unexpected_lines = [
|
||||
"Traceback (most recent call last):"
|
||||
]
|
||||
|
||||
hydra.launch_and_validate_results(
|
||||
request,
|
||||
TEST_DIRECTORY,
|
||||
generic_launcher,
|
||||
"hydra_AtomMaterialEditor_BasicTests.py",
|
||||
run_python="--runpython",
|
||||
timeout=43,
|
||||
expected_lines=expected_lines,
|
||||
unexpected_lines=unexpected_lines,
|
||||
halt_on_unexpected=True,
|
||||
null_renderer=True,
|
||||
log_file_name="MaterialEditor.log",
|
||||
enable_prefab_system=False,
|
||||
)
|
||||
|
||||
@@ -83,77 +83,6 @@ class TestAtomEditorComponentsMain(object):
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_generic'])
|
||||
@pytest.mark.system
|
||||
class TestMaterialEditorBasicTests(object):
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_teardown(self, request, workspace, project):
|
||||
def delete_files():
|
||||
file_system.delete(
|
||||
[
|
||||
os.path.join(workspace.paths.project(), "Materials", "test_material.material"),
|
||||
os.path.join(workspace.paths.project(), "Materials", "test_material_1.material"),
|
||||
os.path.join(workspace.paths.project(), "Materials", "test_material_2.material"),
|
||||
],
|
||||
True,
|
||||
True,
|
||||
)
|
||||
# Cleanup our newly created materials
|
||||
delete_files()
|
||||
|
||||
def teardown():
|
||||
# Cleanup our newly created materials
|
||||
delete_files()
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
@pytest.mark.parametrize("exe_file_name", ["MaterialEditor"])
|
||||
@pytest.mark.test_case_id("C34448113") # Creating a New Asset.
|
||||
@pytest.mark.test_case_id("C34448114") # Opening an Existing Asset.
|
||||
@pytest.mark.test_case_id("C34448115") # Closing Selected Material.
|
||||
@pytest.mark.test_case_id("C34448116") # Closing All Materials.
|
||||
@pytest.mark.test_case_id("C34448117") # Closing all but Selected Material.
|
||||
@pytest.mark.test_case_id("C34448118") # Saving Material.
|
||||
@pytest.mark.test_case_id("C34448119") # Saving as a New Material.
|
||||
@pytest.mark.test_case_id("C34448120") # Saving as a Child Material.
|
||||
@pytest.mark.test_case_id("C34448121") # Saving all Open Materials.
|
||||
def test_MaterialEditorBasicTests(
|
||||
self, request, workspace, project, launcher_platform, generic_launcher, exe_file_name):
|
||||
|
||||
expected_lines = [
|
||||
"Material opened: True",
|
||||
"Test asset doesn't exist initially: True",
|
||||
"New asset created: True",
|
||||
"New Material opened: True",
|
||||
"Material closed: True",
|
||||
"All documents closed: True",
|
||||
"Close All Except Selected worked as expected: True",
|
||||
"Actual Document saved with changes: True",
|
||||
"Document saved as copy is saved with changes: True",
|
||||
"Document saved as child is saved with changes: True",
|
||||
"Save All worked as expected: True",
|
||||
]
|
||||
unexpected_lines = [
|
||||
"Traceback (most recent call last):"
|
||||
]
|
||||
|
||||
hydra.launch_and_validate_results(
|
||||
request,
|
||||
TEST_DIRECTORY,
|
||||
generic_launcher,
|
||||
"hydra_AtomMaterialEditor_BasicTests.py",
|
||||
run_python="--runpython",
|
||||
timeout=120,
|
||||
expected_lines=expected_lines,
|
||||
unexpected_lines=unexpected_lines,
|
||||
halt_on_unexpected=True,
|
||||
null_renderer=True,
|
||||
log_file_name="MaterialEditor.log",
|
||||
enable_prefab_system=False,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
class TestAutomation(EditorTestSuite):
|
||||
|
||||
@@ -162,6 +162,13 @@ def select_model_config(configname):
|
||||
azlmbr.materialeditor.MaterialViewportRequestBus(azlmbr.bus.Broadcast, "SelectModelPresetByName", configname)
|
||||
|
||||
|
||||
def destroy_main_window():
|
||||
"""
|
||||
Closes the Material Editor window
|
||||
"""
|
||||
azlmbr.atomtools.AtomToolsMainWindowFactoryRequestBus(azlmbr.bus.Broadcast, "DestroyMainWindow")
|
||||
|
||||
|
||||
def wait_for_condition(function, timeout_in_seconds=1.0):
|
||||
# type: (function, float) -> bool
|
||||
"""
|
||||
|
||||
@@ -186,6 +186,11 @@ def run():
|
||||
material_editor.set_property(document2_id, property2_name, initial_color)
|
||||
material_editor.save_all()
|
||||
material_editor.close_all_documents()
|
||||
material_editor.wait_for_condition(lambda:
|
||||
(not material_editor.is_open(document1_id)) and
|
||||
(not material_editor.is_open(document2_id)) and
|
||||
(not material_editor.is_open(document3_id)), 2.0)
|
||||
material_editor.destroy_main_window()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
#
|
||||
|
||||
ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME})
|
||||
o3de_pal_dir(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME} ${gem_restricted_path} ${gem_path} ${gem_parent_relative_path})
|
||||
|
||||
include(${pal_dir}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) # for PAL_TRAIT_BLAST Traits
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# Automated Tests
|
||||
################################################################################
|
||||
|
||||
ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME})
|
||||
o3de_pal_dir(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME} ${gem_restricted_path} ${gem_path} ${gem_parent_relative_path})
|
||||
|
||||
include(${pal_dir}/PAL_traits_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
|
||||
|
||||
|
||||
+228
-39
@@ -8,7 +8,8 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
# Built-in Imports
|
||||
from __future__ import annotations
|
||||
from typing import List, Tuple, Union
|
||||
|
||||
from enum import Enum
|
||||
import warnings
|
||||
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr
|
||||
@@ -21,14 +22,25 @@ import azlmbr.legacy.general as general
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
|
||||
class EditorEntityType(Enum):
|
||||
GAME = azlmbr.entity.EntityType().Game
|
||||
LEVEL = azlmbr.entity.EntityType().Level
|
||||
|
||||
|
||||
class EditorComponent:
|
||||
"""
|
||||
EditorComponent class used to set and get the component property value using path
|
||||
EditorComponent object is returned from either of
|
||||
EditorEntity.add_component() or Entity.add_components() or EditorEntity.get_components_of_type()
|
||||
which also assigns self.id and self.type_id to the EditorComponent object.
|
||||
self.type_id is the UUID for the component type as provided by an ebus call.
|
||||
"""
|
||||
|
||||
def __init__(self, type_id: uuid):
|
||||
self.type_id = type_id
|
||||
self.id = None
|
||||
self.property_tree_editor = None
|
||||
|
||||
def get_component_name(self) -> str:
|
||||
"""
|
||||
Used to get name of component
|
||||
@@ -38,9 +50,9 @@ class EditorComponent:
|
||||
assert len(type_names) != 0, "Component object does not have type id"
|
||||
return type_names[0]
|
||||
|
||||
def get_property_tree(self):
|
||||
def get_property_tree(self, force_get: bool = False):
|
||||
"""
|
||||
Used to get the property tree object of component that has following functions associated with it:
|
||||
Used to get and cache the property tree editor of component that has following functions associated with it:
|
||||
1. prop_tree.is_container(path)
|
||||
2. prop_tree.get_container_count(path)
|
||||
3. prop_tree.reset_container(path)
|
||||
@@ -48,17 +60,161 @@ class EditorComponent:
|
||||
5. prop_tree.remove_container_item(path, key)
|
||||
6. prop_tree.update_container_item(path, key, value)
|
||||
7. prop_tree.get_container_item(path, key)
|
||||
:return: Property tree object of a component
|
||||
:param force_get: Force a fresh property tree editor rather than the cached self.property_tree_editor
|
||||
:return: Property tree editor of the component
|
||||
"""
|
||||
if (not force_get) and (self.property_tree_editor is not None):
|
||||
return self.property_tree_editor
|
||||
|
||||
build_prop_tree_outcome = editor.EditorComponentAPIBus(
|
||||
bus.Broadcast, "BuildComponentPropertyTreeEditor", self.id
|
||||
)
|
||||
assert (
|
||||
build_prop_tree_outcome.IsSuccess()
|
||||
), f"Failure: Could not build property tree of component: '{self.get_component_name()}'"
|
||||
), f"Failure: Could not build property tree editor of component: '{self.get_component_name()}'"
|
||||
prop_tree = build_prop_tree_outcome.GetValue()
|
||||
Report.info(prop_tree.build_paths_list())
|
||||
return prop_tree
|
||||
self.property_tree_editor = prop_tree
|
||||
return self.property_tree_editor
|
||||
|
||||
def is_property_container(self, component_property_path: str) -> bool:
|
||||
"""
|
||||
Used to determine if a component property is a container.
|
||||
Containers are a collection of same typed values that can expand/shrink to contain more or less.
|
||||
There are two types of containers; indexed and associative.
|
||||
Indexed containers use integer key and are something like a linked list
|
||||
Associative containers utilize keys of the same type which could be any supported type.
|
||||
:param component_property_path: String of component property. (e.g. 'Settings|Visible')
|
||||
:return: Boolean True if the property is a container False if it is not.
|
||||
"""
|
||||
if self.property_tree_editor is None:
|
||||
self.get_property_tree()
|
||||
result = self.property_tree_editor.is_container(component_property_path)
|
||||
if not result:
|
||||
Report.info(f"{self.get_component_name()}: '{component_property_path}' is not a container")
|
||||
return result
|
||||
|
||||
def get_container_count(self, component_property_path: str) -> int:
|
||||
"""
|
||||
Used to get the count of items in the container.
|
||||
:param component_property_path: String of component property. (e.g. 'Settings|Visible')
|
||||
:return: Count of items in the container as unsigned integer
|
||||
"""
|
||||
assert (
|
||||
self.is_property_container(component_property_path)
|
||||
), f"Failure: '{component_property_path}' is not a property container"
|
||||
container_count_outcome = self.property_tree_editor.get_container_count(component_property_path)
|
||||
assert (
|
||||
container_count_outcome.IsSuccess()
|
||||
), f"Failure: get_container_count did not return success for '{component_property_path}'"
|
||||
return container_count_outcome.GetValue()
|
||||
|
||||
def reset_container(self, component_property_path: str):
|
||||
"""
|
||||
Used to reset a container to empty
|
||||
:param component_property_path: String of component property. (e.g. 'Settings|Visible')
|
||||
:return: None
|
||||
"""
|
||||
assert (
|
||||
self.is_property_container(component_property_path)
|
||||
), f"Failure: '{component_property_path}' is not a property container"
|
||||
reset_outcome = self.property_tree_editor.reset_container(component_property_path)
|
||||
assert (
|
||||
reset_outcome.IsSuccess()
|
||||
), f"Failure: could not reset_container on '{component_property_path}'"
|
||||
|
||||
def append_container_item(self, component_property_path: str, value: any):
|
||||
"""
|
||||
Used to append a value to an indexed container item without providing an index key.
|
||||
Append will fail on an associative container
|
||||
:param component_property_path: String of component property. (e.g. 'Settings|Visible')
|
||||
:param value: Value to be set
|
||||
:return: None
|
||||
"""
|
||||
assert (
|
||||
self.is_property_container(component_property_path)
|
||||
), f"Failure: '{component_property_path}' is not a property container"
|
||||
append_outcome = self.property_tree_editor.append_container_item(component_property_path, value)
|
||||
assert (
|
||||
append_outcome.IsSuccess()
|
||||
), f"Failure: could not append_container_item to '{component_property_path}'"
|
||||
|
||||
def add_container_item(self, component_property_path: str, key: any, value: any):
|
||||
"""
|
||||
Used to add a container item at a specified key.
|
||||
There are two types of containers; indexed and associative.
|
||||
Indexed containers use integer key.
|
||||
Associative containers utilize keys of the same type which could be any supported type.
|
||||
:param component_property_path: String of component property. (e.g. 'Settings|Visible')
|
||||
:param key: Zero index integer key or any supported type for associative container
|
||||
:param value: Value to be set
|
||||
:return: None
|
||||
"""
|
||||
assert (
|
||||
self.is_property_container(component_property_path)
|
||||
), f"Failure: '{component_property_path}' is not a property container"
|
||||
add_outcome = self.property_tree_editor.add_container_item(component_property_path, key, value)
|
||||
assert (
|
||||
add_outcome.IsSuccess()
|
||||
), f"Failure: could not add_container_item '{key}' to '{component_property_path}'"
|
||||
|
||||
def get_container_item(self, component_property_path: str, key: any) -> any:
|
||||
"""
|
||||
Used to retrieve a container item value at the specified key.
|
||||
There are two types of containers; indexed and associative.
|
||||
Indexed containers use integer key.
|
||||
Associative containers utilize keys of the same type which could be any supported type.
|
||||
:param component_property_path: String of component property. (e.g. 'Settings|Visible')
|
||||
:param key: Zero index integer key or any supported type for associative container
|
||||
:return: Value stored at the key specified
|
||||
"""
|
||||
assert (
|
||||
self.is_property_container(component_property_path)
|
||||
), f"Failure: '{component_property_path}' is not a property container"
|
||||
get_outcome = self.property_tree_editor.get_container_item(component_property_path, key)
|
||||
assert (
|
||||
get_outcome.IsSuccess()
|
||||
), (
|
||||
f"Failure: could not get a value for {self.get_component_name()}: '{component_property_path}' [{key}]. "
|
||||
f"Error returned by get_container_item: {get_outcome.GetError()}")
|
||||
return get_outcome.GetValue()
|
||||
|
||||
def remove_container_item(self, component_property_path: str, key: any):
|
||||
"""
|
||||
Used to remove a container item value at the specified key.
|
||||
There are two types of containers; indexed and associative.
|
||||
Indexed containers use integer key.
|
||||
Associative containers utilize keys of the same type which could be any supported type.
|
||||
:param component_property_path: String of component property. (e.g. 'Settings|Visible')
|
||||
:param key: Zero index integer key or any supported type for associative container
|
||||
:return: None
|
||||
"""
|
||||
assert (
|
||||
self.is_property_container(component_property_path)
|
||||
), f"Failure: '{component_property_path}' is not a property container"
|
||||
remove_outcome = self.property_tree_editor.remove_container_item(component_property_path, key)
|
||||
assert (
|
||||
remove_outcome.IsSuccess()
|
||||
), f"Failure: could not remove_container_item '{key}' from '{component_property_path}'"
|
||||
|
||||
def update_container_item(self, component_property_path: str, key: any, value: any):
|
||||
"""
|
||||
Used to update a container item at a specified key.
|
||||
There are two types of containers; indexed and associative.
|
||||
Indexed containers use integer key.
|
||||
Associative containers utilize keys of the same type which could be any supported type.
|
||||
:param component_property_path: String of component property. (e.g. 'Settings|Visible')
|
||||
:param key: Zero index integer key or any supported type for associative container
|
||||
:param value: Value to be set
|
||||
:return: None
|
||||
"""
|
||||
assert (
|
||||
self.is_property_container(component_property_path)
|
||||
), f"Failure: '{component_property_path}' is not a property container"
|
||||
update_outcome = self.property_tree_editor.update_container_item(component_property_path, key, value)
|
||||
assert (
|
||||
update_outcome.IsSuccess()
|
||||
), f"Failure: could not update '{key}' in '{component_property_path}'"
|
||||
|
||||
def get_component_property_value(self, component_property_path: str):
|
||||
"""
|
||||
@@ -94,23 +250,36 @@ class EditorComponent:
|
||||
"""
|
||||
return editor.EditorComponentAPIBus(bus.Broadcast, "IsComponentEnabled", self.id)
|
||||
|
||||
def set_enabled(self, new_state: bool):
|
||||
"""
|
||||
Used to set the component enabled state
|
||||
:param new_state: Boolean enabled True, disabled False
|
||||
:return: None
|
||||
"""
|
||||
if new_state:
|
||||
editor.EditorComponentAPIBus(bus.Broadcast, "EnableComponents", [self.id])
|
||||
else:
|
||||
editor.EditorComponentAPIBus(bus.Broadcast, "DisableComponents", [self.id])
|
||||
|
||||
def disable_component(self):
|
||||
"""
|
||||
Used to disable the component using its id value.
|
||||
Deprecation warning! Use set_enabled(False) instead as this method is in deprecation
|
||||
:return: None
|
||||
"""
|
||||
warnings.warn("disable_component is deprecated, use set_enabled(False) instead.", DeprecationWarning)
|
||||
editor.EditorComponentAPIBus(bus.Broadcast, "DisableComponents", [self.id])
|
||||
|
||||
@staticmethod
|
||||
def get_type_ids(component_names: list) -> list:
|
||||
def get_type_ids(component_names: list, entity_type: EditorEntityType = EditorEntityType.GAME) -> list:
|
||||
"""
|
||||
Used to get type ids of given components list
|
||||
:param: component_names: List of components to get type ids
|
||||
:return: List of type ids of given components.
|
||||
:param component_names: List of components to get type ids
|
||||
:param entity_type: Entity_Type enum value Entity_Type.GAME is the default
|
||||
:return: List of type ids of given components. Type id is a UUID as provided by the ebus call
|
||||
"""
|
||||
type_ids = editor.EditorComponentAPIBus(
|
||||
bus.Broadcast, "FindComponentTypeIdsByEntityType", component_names, azlmbr.entity.EntityType().Game
|
||||
)
|
||||
bus.Broadcast, "FindComponentTypeIdsByEntityType", component_names, entity_type.value)
|
||||
return type_ids
|
||||
|
||||
|
||||
@@ -131,7 +300,7 @@ class EditorEntity:
|
||||
"""
|
||||
Entity class is used to create and interact with Editor Entities.
|
||||
Example: To create Editor Entity, Use the code:
|
||||
test_entity = Entity.create_editor_entity("TestEntity")
|
||||
test_entity = EditorEntity.create_editor_entity("TestEntity")
|
||||
# This creates a python object with 'test_entity' linked to entity name "TestEntity" in Editor.
|
||||
# To add component, use:
|
||||
test_entity.add_component(<COMPONENT_NAME>)
|
||||
@@ -276,10 +445,9 @@ class EditorEntity:
|
||||
:return: List of newly added components to the entity
|
||||
"""
|
||||
components = []
|
||||
type_ids = EditorComponent.get_type_ids(component_names)
|
||||
type_ids = EditorComponent.get_type_ids(component_names, EditorEntityType.GAME)
|
||||
for type_id in type_ids:
|
||||
new_comp = EditorComponent()
|
||||
new_comp.type_id = type_id
|
||||
new_comp = EditorComponent(type_id)
|
||||
add_component_outcome = editor.EditorComponentAPIBus(
|
||||
bus.Broadcast, "AddComponentsOfType", self.id, [type_id]
|
||||
)
|
||||
@@ -291,6 +459,27 @@ class EditorEntity:
|
||||
self.components.append(new_comp)
|
||||
return components
|
||||
|
||||
def remove_component(self, component_name: str) -> None:
|
||||
"""
|
||||
Used to remove a component from Entity
|
||||
:param component_name: String of component name to remove
|
||||
:return: None
|
||||
"""
|
||||
self.remove_components([component_name])
|
||||
|
||||
def remove_components(self, component_names: list):
|
||||
"""
|
||||
Used to remove a list of components from Entity
|
||||
:param component_names: List of component names to remove
|
||||
:return: None
|
||||
"""
|
||||
type_ids = EditorComponent.get_type_ids(component_names, EditorEntityType.GAME)
|
||||
for type_id in type_ids:
|
||||
remove_outcome = editor.EditorComponentAPIBus(bus.Broadcast, "RemoveComponents", self.id, [type_id])
|
||||
assert (
|
||||
remove_outcome.IsSuccess()
|
||||
), f"Failure: could not remove component from '{self.get_name()}'"
|
||||
|
||||
def get_components_of_type(self, component_names: list) -> List[EditorComponent]:
|
||||
"""
|
||||
Used to get components of type component_name that already exists on Entity
|
||||
@@ -298,10 +487,9 @@ class EditorEntity:
|
||||
:return: List of Entity Component objects of given component name
|
||||
"""
|
||||
component_list = []
|
||||
type_ids = EditorComponent.get_type_ids(component_names)
|
||||
type_ids = EditorComponent.get_type_ids(component_names, EditorEntityType.GAME)
|
||||
for type_id in type_ids:
|
||||
component = EditorComponent()
|
||||
component.type_id = type_id
|
||||
component = EditorComponent(type_id)
|
||||
get_component_of_type_outcome = editor.EditorComponentAPIBus(
|
||||
bus.Broadcast, "GetComponentOfType", self.id, type_id
|
||||
)
|
||||
@@ -319,7 +507,7 @@ class EditorEntity:
|
||||
:param component_name: Name of component to check for
|
||||
:return: True, if entity has specified component. Else, False
|
||||
"""
|
||||
type_ids = EditorComponent.get_type_ids([component_name])
|
||||
type_ids = EditorComponent.get_type_ids([component_name], EditorEntityType.GAME)
|
||||
return editor.EditorComponentAPIBus(bus.Broadcast, "HasComponentOfType", self.id, type_ids[0])
|
||||
|
||||
def get_start_status(self) -> int:
|
||||
@@ -359,6 +547,21 @@ class EditorEntity:
|
||||
set_status = self.get_start_status()
|
||||
assert set_status == status_to_set, f"Failed to set start status of {desired_start_status} to {self.get_name}"
|
||||
|
||||
def is_locked(self) -> bool:
|
||||
"""
|
||||
Used to get the locked status of the entity
|
||||
:return: Boolean True if locked False if not locked
|
||||
"""
|
||||
return editor.EditorEntityInfoRequestBus(bus.Event, "IsLocked", self.id)
|
||||
|
||||
def set_lock_state(self, is_locked: bool) -> None:
|
||||
"""
|
||||
Sets the lock state on the object to locked or not locked.
|
||||
:param is_locked: True for locking, False to unlock.
|
||||
:return: None
|
||||
"""
|
||||
editor.EditorEntityAPIBus(bus.Event, "SetLockState", self.id, is_locked)
|
||||
|
||||
def delete(self) -> None:
|
||||
"""
|
||||
Used to delete the Entity.
|
||||
@@ -488,18 +691,6 @@ class EditorLevelEntity:
|
||||
EditorLevelComponentAPIBus requests.
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def get_type_ids(component_names: list) -> list:
|
||||
"""
|
||||
Used to get type ids of given components list for EntityType Level
|
||||
:param: component_names: List of components to get type ids
|
||||
:return: List of type ids of given components.
|
||||
"""
|
||||
type_ids = editor.EditorComponentAPIBus(
|
||||
bus.Broadcast, "FindComponentTypeIdsByEntityType", component_names, azlmbr.entity.EntityType().Level
|
||||
)
|
||||
return type_ids
|
||||
|
||||
@staticmethod
|
||||
def add_component(component_name: str) -> EditorComponent:
|
||||
"""
|
||||
@@ -518,10 +709,9 @@ class EditorLevelEntity:
|
||||
:return: List of newly added components to the level
|
||||
"""
|
||||
components = []
|
||||
type_ids = EditorLevelEntity.get_type_ids(component_names)
|
||||
type_ids = EditorComponent.get_type_ids(component_names, EditorEntityType.LEVEL)
|
||||
for type_id in type_ids:
|
||||
new_comp = EditorComponent()
|
||||
new_comp.type_id = type_id
|
||||
new_comp = EditorComponent(type_id)
|
||||
add_component_outcome = editor.EditorLevelComponentAPIBus(
|
||||
bus.Broadcast, "AddComponentsOfType", [type_id]
|
||||
)
|
||||
@@ -540,10 +730,9 @@ class EditorLevelEntity:
|
||||
:return: List of Level Component objects of given component name
|
||||
"""
|
||||
component_list = []
|
||||
type_ids = EditorLevelEntity.get_type_ids(component_names)
|
||||
type_ids = EditorComponent.get_type_ids(component_names, EditorEntityType.LEVEL)
|
||||
for type_id in type_ids:
|
||||
component = EditorComponent()
|
||||
component.type_id = type_id
|
||||
component = EditorComponent(type_id)
|
||||
get_component_of_type_outcome = editor.EditorLevelComponentAPIBus(
|
||||
bus.Broadcast, "GetComponentOfType", type_id
|
||||
)
|
||||
@@ -562,7 +751,7 @@ class EditorLevelEntity:
|
||||
:param component_name: Name of component to check for
|
||||
:return: True, if level has specified component. Else, False
|
||||
"""
|
||||
type_ids = EditorLevelEntity.get_type_ids([component_name])
|
||||
type_ids = EditorComponent.get_type_ids([component_name], EditorEntityType.LEVEL)
|
||||
return editor.EditorLevelComponentAPIBus(bus.Broadcast, "HasComponentOfType", type_ids[0])
|
||||
|
||||
@staticmethod
|
||||
@@ -572,5 +761,5 @@ class EditorLevelEntity:
|
||||
:param component_name: Name of component to check for
|
||||
:return: integer count of occurences of level component attached to level or zero if none are present
|
||||
"""
|
||||
type_ids = EditorLevelEntity.get_type_ids([component_name])
|
||||
type_ids = EditorComponent.get_type_ids([component_name], EditorEntityType.LEVEL)
|
||||
return editor.EditorLevelComponentAPIBus(bus.Broadcast, "CountComponentsOfType", type_ids[0])
|
||||
|
||||
+10
-3
@@ -5,15 +5,22 @@ For complete copyright and license terms please see the LICENSE at the root of t
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
from typing import List
|
||||
from math import isclose
|
||||
import collections.abc
|
||||
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.editor as editor
|
||||
import azlmbr.entity as entity
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.object
|
||||
|
||||
from typing import List
|
||||
from math import isclose
|
||||
import collections.abc
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
|
||||
def open_base_level():
|
||||
helper.init_idle()
|
||||
helper.open_level("Prefab", "Base")
|
||||
|
||||
|
||||
def find_entity_by_name(entity_name):
|
||||
|
||||
+49
-23
@@ -100,6 +100,49 @@ class TestHelper:
|
||||
TestHelper.wait_for_condition(lambda : general.is_in_game_mode(), 1.0)
|
||||
Report.critical_result(msgtuple_success_fail, general.is_in_game_mode())
|
||||
|
||||
@staticmethod
|
||||
def find_line(window, line, print_infos):
|
||||
"""
|
||||
Looks for an expected line in a list of tracer log lines
|
||||
:param window: The log's window name. For example, logs printed via script-canvas use the "Script" window.
|
||||
:param line: The log message to search for.
|
||||
:param print_infos: A list of PrintInfos collected by Tracer to search. Example options: your_tracer.warnings, your_tracer.errors, your_tracer.asserts, or your_tracer.prints
|
||||
|
||||
:return: True if the line is found, otherwise false.
|
||||
"""
|
||||
for printInfo in print_infos:
|
||||
if printInfo.window == window.strip() and printInfo.message.strip() == line:
|
||||
return True
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
def succeed_if_log_line_found(window, line, print_infos, time_out):
|
||||
"""
|
||||
Looks for a line in a list of tracer log lines and reports success if found.
|
||||
:param window: The log's window name. For example, logs printed via script-canvas use the "Script" window.
|
||||
:param line: The log message we're hoping to find.
|
||||
:param print_infos: A list of PrintInfos collected by Tracer to search. Example options: your_tracer.warnings, your_tracer.errors, your_tracer.asserts, or your_tracer.prints
|
||||
:param time_out: The total amount of time to wait before giving up looking for the expected line.
|
||||
|
||||
:return: No return value, but if the message is found, a successful critical result is reported; otherwise failure.
|
||||
"""
|
||||
TestHelper.wait_for_condition(lambda : TestHelper.find_line(window, line, print_infos), time_out)
|
||||
Report.critical_result(("Found expected line: " + line, "Failed to find expected line: " + line), TestHelper.find_line(window, line, print_infos))
|
||||
|
||||
@staticmethod
|
||||
def fail_if_log_line_found(window, line, print_infos, time_out):
|
||||
"""
|
||||
Reports a failure if a log line in a list of tracer log lines is found.
|
||||
:param window: The log's window name. For example, logs printed via script-canvas use the "Script" window.
|
||||
:param line: The log message we're hoping to not find.
|
||||
:param print_infos: A list of PrintInfos collected by Tracer to search. Example options: your_tracer.warnings, your_tracer.errors, your_tracer.asserts, or your_tracer.prints
|
||||
:param time_out: The total amount of time to wait before giving up looking for the unexpected line. If time runs out and we don't see the unexpected line then report a success.
|
||||
|
||||
:return: No return value, but if the line is found, a failed critical result is reported; otherwise success.
|
||||
"""
|
||||
TestHelper.wait_for_condition(lambda : TestHelper.find_line(window, line, print_infos), time_out)
|
||||
Report.critical_result(("Unexpected line not found: " + line, "Unexpected line found: " + line), not TestHelper.find_line(window, line, print_infos))
|
||||
|
||||
@staticmethod
|
||||
def multiplayer_enter_game_mode(msgtuple_success_fail: Tuple[str, str], sv_default_player_spawn_asset: str) -> None:
|
||||
"""
|
||||
@@ -108,23 +151,6 @@ class TestHelper:
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
# looks for an expected line in a list of tracers lines
|
||||
# lines: the tracer list of lines to search. options are section_tracer.warnings, section_tracer.errors, section_tracer.asserts, section_tracer.prints
|
||||
# return: true if the line is found, otherwise false
|
||||
def find_expected_line(expected_line, lines):
|
||||
found_lines = [printInfo.message.strip() for printInfo in lines]
|
||||
return expected_line in found_lines
|
||||
|
||||
def wait_for_critical_expected_line(expected_line, lines, time_out):
|
||||
TestHelper.wait_for_condition(lambda : find_expected_line(expected_line, lines), time_out)
|
||||
Report.critical_result(("Found expected line: " + expected_line, "Failed to find expected line: " + expected_line), find_expected_line(expected_line, lines))
|
||||
|
||||
def wait_for_critical_unexpected_line(unexpected_line, lines, time_out):
|
||||
TestHelper.wait_for_condition(lambda : find_expected_line(unexpected_line, lines), time_out)
|
||||
Report.critical_result(("Unexpected line not found: " + unexpected_line, "Unexpected line found: " + unexpected_line), not find_expected_line(unexpected_line, lines))
|
||||
|
||||
|
||||
Report.info("Entering game mode")
|
||||
if sv_default_player_spawn_asset :
|
||||
general.set_cvar("sv_defaultPlayerSpawnAsset", sv_default_player_spawn_asset)
|
||||
@@ -135,20 +161,20 @@ class TestHelper:
|
||||
multiplayer.PythonEditorFuncs_enter_game_mode()
|
||||
|
||||
# make sure the server launcher binary exists
|
||||
wait_for_critical_unexpected_line("LaunchEditorServer failed! The ServerLauncher binary is missing!", section_tracer.errors, 0.5)
|
||||
TestHelper.fail_if_log_line_found("MultiplayerEditor", "LaunchEditorServer failed! The ServerLauncher binary is missing!", section_tracer.errors, 0.5)
|
||||
|
||||
# make sure the server launcher is running
|
||||
waiter.wait_for(lambda: process_utils.process_exists("AutomatedTesting.ServerLauncher", ignore_extensions=True), timeout=5.0, exc=AssertionError("AutomatedTesting.ServerLauncher has NOT launched!"), interval=1.0)
|
||||
|
||||
wait_for_critical_expected_line("MultiplayerEditorConnection: Editor-server activation has found and connected to the editor.", section_tracer.prints, 15.0)
|
||||
TestHelper.succeed_if_log_line_found("EditorServer", "MultiplayerEditorConnection: Editor-server activation has found and connected to the editor.", section_tracer.prints, 15.0)
|
||||
|
||||
wait_for_critical_expected_line("Editor is sending the editor-server the level data packet.", section_tracer.prints, 5.0)
|
||||
TestHelper.succeed_if_log_line_found("MultiplayerEditor", "Editor is sending the editor-server the level data packet.", section_tracer.prints, 5.0)
|
||||
|
||||
wait_for_critical_expected_line("Logger: Editor Server completed receiving the editor's level assets, responding to Editor...", section_tracer.prints, 5.0)
|
||||
TestHelper.succeed_if_log_line_found("EditorServer", "Logger: Editor Server completed receiving the editor's level assets, responding to Editor...", section_tracer.prints, 5.0)
|
||||
|
||||
wait_for_critical_expected_line("Editor-server ready. Editor has successfully connected to the editor-server's network simulation.", section_tracer.prints, 5.0)
|
||||
TestHelper.succeed_if_log_line_found("MultiplayerEditorConnection", "Editor-server ready. Editor has successfully connected to the editor-server's network simulation.", section_tracer.prints, 5.0)
|
||||
|
||||
wait_for_critical_unexpected_line(f"MultiplayerSystemComponent: SpawnDefaultPlayerPrefab failed. Missing sv_defaultPlayerSpawnAsset at path '{sv_default_player_spawn_asset.lower()}'.", section_tracer.prints, 0.5)
|
||||
TestHelper.fail_if_log_line_found("EditorServer", f"MultiplayerSystemComponent: SpawnDefaultPlayerPrefab failed. Missing sv_defaultPlayerSpawnAsset at path '{sv_default_player_spawn_asset.lower()}'.", section_tracer.prints, 0.5)
|
||||
|
||||
TestHelper.wait_for_condition(lambda : multiplayer.PythonEditorFuncs_is_in_game_mode(), 5.0)
|
||||
Report.critical_result(msgtuple_success_fail, multiplayer.PythonEditorFuncs_is_in_game_mode())
|
||||
|
||||
@@ -32,3 +32,6 @@ class TestAutomation(TestAutomationBase):
|
||||
from .tests import Multiplayer_AutoComponent_NetworkInput as test_module
|
||||
self._run_prefab_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Multiplayer_AutoComponent_RPC(self, request, workspace, editor, launcher_platform):
|
||||
from .tests import Multiplayer_AutoComponent_RPC as test_module
|
||||
self._run_prefab_test(request, workspace, editor, test_module)
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
|
||||
# Test Case Title : Check that the four network RPCs can be sent and received
|
||||
|
||||
|
||||
# fmt: off
|
||||
class TestSuccessFailTuples():
|
||||
enter_game_mode = ("Entered game mode", "Failed to enter game mode")
|
||||
exit_game_mode = ("Exited game mode", "Couldn't exit game mode")
|
||||
find_network_player = ("Found network player", "Couldn't find network player")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Multiplayer_AutoComponent_RPC():
|
||||
r"""
|
||||
Summary:
|
||||
Runs a test to make sure that RPCs can be sent and received via script canvas
|
||||
|
||||
Level Description:
|
||||
- Dynamic
|
||||
1. Although the level is nearly empty, when the server and editor connect the server will spawn and replicate the player network prefab.
|
||||
a. The player network prefab has a NetworkTestPlayerComponent.AutoComponent and a script canvas attached which sends and receives various RPCs.
|
||||
Print logs occur upon sending and receiving the RPCs; we are testing to make sure the expected events and values are received.
|
||||
- Static
|
||||
1. NetLevelEntity. This is a networked entity which has a script attached. Used for cross-entity communication. The net-player prefab will send this level entity Server->Authority RPCs
|
||||
|
||||
|
||||
Expected Outcome:
|
||||
We should see editor logs stating that RPCs have been sent and received.
|
||||
However, if the script receives unexpected values for the Process event we will see print logs for bad data as well.
|
||||
|
||||
:return:
|
||||
"""
|
||||
import azlmbr.legacy.general as general
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import Tracer
|
||||
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from ly_remote_console.remote_console_commands import RemoteConsole as RemoteConsole
|
||||
|
||||
level_name = "AutoComponent_RPC"
|
||||
player_prefab_name = "Player"
|
||||
player_prefab_path = f"levels/multiplayer/{level_name}/{player_prefab_name}.network.spawnable"
|
||||
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Open Level
|
||||
helper.open_level("Multiplayer", level_name)
|
||||
|
||||
with Tracer() as section_tracer:
|
||||
# 2) Enter game mode
|
||||
helper.multiplayer_enter_game_mode(TestSuccessFailTuples.enter_game_mode, player_prefab_path.lower())
|
||||
|
||||
# 3) Make sure the network player was spawned
|
||||
player_id = general.find_game_entity(player_prefab_name)
|
||||
Report.critical_result(TestSuccessFailTuples.find_network_player, player_id.IsValid())
|
||||
|
||||
# 4) Check the editor logs for expected and unexpected log output
|
||||
PLAYERID_RPC_WAIT_TIME_SECONDS = 1.0 # The player id is sent from the server as soon as the player script is spawned. 1 second should be more than enough time to send/receive that RPC.
|
||||
helper.succeed_if_log_line_found('EditorServer', 'Script: AutoComponent_RPC: Sending client PlayerNumber 1', section_tracer.prints, PLAYERID_RPC_WAIT_TIME_SECONDS)
|
||||
helper.succeed_if_log_line_found('Script', "AutoComponent_RPC: I'm Player #1", section_tracer.prints, PLAYERID_RPC_WAIT_TIME_SECONDS)
|
||||
|
||||
# Uncomment once editor game-play mode supports level entities with net-binding
|
||||
#PLAYFX_RPC_WAIT_TIME_SECONDS = 1.1 # The server will send an RPC to play an fx on the client every second.
|
||||
#helper.succeed_if_log_line_found('EditorServer', "Script: AutoComponent_RPC_NetLevelEntity Activated on entity: NetLevelEntity", section_tracer.prints, PLAYFX_RPC_WAIT_TIME_SECONDS)
|
||||
#helper.succeed_if_log_line_found('EditorServer', "Script: AutoComponent_RPC_NetLevelEntity: Authority sending RPC to play some fx.", section_tracer.prints, PLAYFX_RPC_WAIT_TIME_SECONDS)
|
||||
#helper.succeed_if_log_line_found('Script', "AutoComponent_RPC_NetLevelEntity: I'm a client playing some superficial fx.", section_tracer.prints, PLAYFX_RPC_WAIT_TIME_SECONDS)
|
||||
|
||||
|
||||
# Exit game mode
|
||||
helper.exit_game_mode(TestSuccessFailTuples.exit_game_mode)
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test(Multiplayer_AutoComponent_RPC)
|
||||
+1
-1
@@ -127,7 +127,7 @@ def Collider_SameCollisionGroupSameCustomLayerCollide():
|
||||
# Main Script
|
||||
# 1) Load the level
|
||||
helper.init_idle()
|
||||
helper.open_level("physics", "Collider_SameCollisionGroupSameCustomLayerCollide")
|
||||
helper.open_level("Physics", "Collider_SameCollisionGroupSameCustomLayerCollide")
|
||||
|
||||
# 2) Enter Game Mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
+1
-1
@@ -162,7 +162,7 @@ def ForceRegion_MultipleForcesInSameComponentCombineForces():
|
||||
helper.init_idle()
|
||||
|
||||
# 1) Load Level
|
||||
helper.open_level("physics", "ForceRegion_MultipleForcesInSameComponentCombineForces")
|
||||
helper.open_level("Physics", "ForceRegion_MultipleForcesInSameComponentCombineForces")
|
||||
|
||||
# 2) Enter Game Mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
+2
-2
@@ -229,8 +229,8 @@ def Material_DefaultLibraryUpdatedAcrossLevels_after():
|
||||
for test in test_list:
|
||||
# 1) Open the correct level is open
|
||||
helper.open_level(
|
||||
"physics",
|
||||
f"Material_DefaultLibraryUpdatedAcrossLevels\\{test.level}"
|
||||
"Physics",
|
||||
os.path.join("Material_DefaultLibraryUpdatedAcrossLevels", str(test.level))
|
||||
)
|
||||
|
||||
# 2) Enter Game Mode
|
||||
|
||||
+1
-1
@@ -189,7 +189,7 @@ def Material_DefaultLibraryUpdatedAcrossLevels_before():
|
||||
# 1) Open the correct level is open
|
||||
helper.open_level(
|
||||
"Physics",
|
||||
f"Material_DefaultLibraryUpdatedAcrossLevels\\{test.level}"
|
||||
os.path.join("Material_DefaultLibraryUpdatedAcrossLevels", str(test.level))
|
||||
)
|
||||
|
||||
# 2) Enter Game Mode
|
||||
|
||||
+2
-4
@@ -252,10 +252,8 @@ def Material_LibraryUpdatedAcrossLevels():
|
||||
for test in test_list:
|
||||
# 1) Open the correct level for the test
|
||||
helper.open_level(
|
||||
"physics",
|
||||
"Material_LibraryUpdatedAcrossLevels\\Material_LibraryUpdatedAcrossLevels_{}".format(
|
||||
test.level_index
|
||||
),
|
||||
"Physics",
|
||||
os.path.join("Material_LibraryUpdatedAcrossLevels", str(test.level_index))
|
||||
)
|
||||
|
||||
# 2) Open Game Mode
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ def ScriptCanvas_SpawnEntityWithPhysComponents():
|
||||
# Main Script
|
||||
helper.init_idle()
|
||||
# 1) Open Level
|
||||
helper.open_level("physics", "ScriptCanvas_SpawnEntityWithPhysComponents")
|
||||
helper.open_level("Physics", "ScriptCanvas_SpawnEntityWithPhysComponents")
|
||||
|
||||
# 2) Enter Game Mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
|
||||
@@ -12,12 +12,36 @@ import sys
|
||||
import os
|
||||
import pytest
|
||||
import logging
|
||||
import sqlite3
|
||||
pytest.importorskip('ly_test_tools')
|
||||
|
||||
import ly_test_tools.environment.file_system as file_system
|
||||
import ly_test_tools.log.log_monitor
|
||||
import ly_test_tools.environment.waiter as waiter
|
||||
|
||||
def detect_product(sql_connection, platform, target):
|
||||
cur = sql_connection.cursor()
|
||||
product_target = f'{platform}/{target}'
|
||||
print(f'Detecting {product_target} in assetdb.sqlite')
|
||||
hits = 0
|
||||
for row in cur.execute(f'select ProductID from Products where ProductName is "{product_target}"'):
|
||||
hits = hits + 1
|
||||
assert hits == 1
|
||||
|
||||
|
||||
def find_products(cache_folder, platform):
|
||||
con = sqlite3.connect(os.path.join(cache_folder, 'assetdb.sqlite'))
|
||||
detect_product(con, platform, 'gem/pythontests/pythonassetbuilder/test_asset.mock_asset')
|
||||
detect_product(con, platform, 'gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_z_positive_1.azmodel')
|
||||
detect_product(con, platform, 'gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_z_negative_1.azmodel')
|
||||
detect_product(con, platform, 'gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_y_positive_1.azmodel')
|
||||
detect_product(con, platform, 'gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_y_negative_1.azmodel')
|
||||
detect_product(con, platform, 'gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_x_positive_1.azmodel')
|
||||
detect_product(con, platform, 'gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_x_negative_1.azmodel')
|
||||
detect_product(con, platform, 'gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_center_1.azmodel')
|
||||
con.close()
|
||||
|
||||
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.parametrize('launcher_platform', ['windows_editor'])
|
||||
@pytest.mark.parametrize('project', ['AutomatedTesting'])
|
||||
@@ -25,16 +49,7 @@ import ly_test_tools.environment.waiter as waiter
|
||||
class TestPythonAssetProcessing(object):
|
||||
def test_DetectPythonCreatedAsset(self, request, editor, level, launcher_platform):
|
||||
unexpected_lines = []
|
||||
expected_lines = [
|
||||
'Mock asset exists',
|
||||
'AssetId found for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_z_positive_1.azmodel) found',
|
||||
'AssetId found for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_z_negative_1.azmodel) found',
|
||||
'AssetId found for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_y_positive_1.azmodel) found',
|
||||
'AssetId found for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_y_negative_1.azmodel) found',
|
||||
'AssetId found for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_x_positive_1.azmodel) found',
|
||||
'AssetId found for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_x_negative_1.azmodel) found',
|
||||
'AssetId found for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_center_1.azmodel) found'
|
||||
]
|
||||
expected_lines = []
|
||||
timeout = 180
|
||||
halt_on_unexpected = False
|
||||
test_directory = os.path.join(os.path.dirname(__file__))
|
||||
@@ -50,3 +65,9 @@ class TestPythonAssetProcessing(object):
|
||||
exc=("Log file '{}' was never opened by another process.".format(editorlog_file)),
|
||||
interval=1)
|
||||
log_monitor.monitor_log_for_lines(expected_lines, unexpected_lines, halt_on_unexpected, timeout)
|
||||
|
||||
cache_folder = editor.workspace.paths.cache()
|
||||
platform = editor.workspace.asset_processor_platform
|
||||
if platform == 'windows':
|
||||
platform = 'pc'
|
||||
find_products(cache_folder, platform)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
#
|
||||
|
||||
ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME})
|
||||
o3de_pal_dir(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME} ${gem_restricted_path} ${gem_path} ${gem_parent_relative_path})
|
||||
|
||||
include(${pal_dir}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) # for PAL_TRAIT_WHITEBOX Traits
|
||||
|
||||
|
||||
@@ -3,8 +3,6 @@ Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
Fixture for clearing out 'MoveOutput' folders from \dev and \dev\PROJECT
|
||||
"""
|
||||
|
||||
# Import builtin libraries
|
||||
|
||||
+11
-7
@@ -93,15 +93,19 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AssetPipelineTests.AssetBundler
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/asset_bundler_batch_tests.py
|
||||
NAME AssetPipelineTests.AssetBuilder
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/asset_builder_tests.py
|
||||
EXCLUDE_TEST_RUN_TARGET_FROM_IDE
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
AZ::AssetBundlerBatch
|
||||
)
|
||||
|
||||
set(SUPPORTED_PLATFORMS "Windows" "Mac")
|
||||
if (NOT "${PAL_PLATFORM_NAME}" IN_LIST SUPPORTED_PLATFORMS)
|
||||
return()
|
||||
endif()
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AssetPipelineTests.BundleMode
|
||||
@@ -117,16 +121,16 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AssetPipelineTests.AssetBuilder
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/asset_builder_tests.py
|
||||
NAME AssetPipelineTests.AssetBundler
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/asset_bundler_batch_tests.py
|
||||
EXCLUDE_TEST_RUN_TARGET_FROM_IDE
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
AZ::AssetBundlerBatch
|
||||
)
|
||||
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AssetPipelineTests.MissingDependency
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/missing_dependency_tests.py
|
||||
@@ -136,5 +140,5 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessorBatch
|
||||
)
|
||||
|
||||
|
||||
endif()
|
||||
|
||||
+5
-5
@@ -108,7 +108,7 @@ class TestsAssetBundlerBatch_WindowsAndMac(object):
|
||||
"""
|
||||
helper = bundler_batch_helper
|
||||
seed_list = os.path.join(workspace.paths.engine_root(), "Assets", "Engine", "SeedAssetList.seed") # Engine seed list
|
||||
asset = r"levels\testdependencieslevel\level.pak"
|
||||
asset = r"levels\testdependencieslevel\testdependencieslevel.spawnable"
|
||||
|
||||
# Create Asset list
|
||||
helper.call_assetLists(
|
||||
@@ -191,7 +191,7 @@ class TestsAssetBundlerBatch_WindowsAndMac(object):
|
||||
"""
|
||||
helper = bundler_batch_helper
|
||||
seed_list = os.path.join(workspace.paths.engine_root(), "Assets", "Engine", "SeedAssetList.seed") # Engine seed list
|
||||
asset = r"levels\testdependencieslevel\level.pak"
|
||||
asset = r"levels\testdependencieslevel\testdependencieslevel.spawnable"
|
||||
|
||||
# Useful bundle locations / names (2 for comparing contents)
|
||||
# fmt:off
|
||||
@@ -924,7 +924,7 @@ class TestsAssetBundlerBatch_WindowsAndMac(object):
|
||||
# Create a seed file
|
||||
helper.call_seeds(
|
||||
seedListFile=helper["seed_list_file"],
|
||||
addSeed=r"levels\testdependencieslevel\level.pak",
|
||||
addSeed=r"levels\testdependencieslevel\testdependencieslevel.spawnable",
|
||||
platform="pc",
|
||||
)
|
||||
|
||||
@@ -947,9 +947,9 @@ class TestsAssetBundlerBatch_WindowsAndMac(object):
|
||||
# Specifying platform but not "add" or "remove" should fail
|
||||
result, _ = helper.call_assetLists(
|
||||
assetListFile=helper["asset_info_file_request"],
|
||||
allowOverwrites="",
|
||||
seedListFile=helper["seed_list_file"],
|
||||
platform="pc",
|
||||
allowOverwrites="",
|
||||
)
|
||||
assert result, "Overwriting with override threw an error"
|
||||
|
||||
@@ -982,7 +982,7 @@ class TestsAssetBundlerBatch_WindowsAndMac(object):
|
||||
request.addfinalizer(lambda: fs.delete([bundle_result_path], True, False))
|
||||
|
||||
bundles_folder = os.path.join(workspace.paths.project(), "Bundles")
|
||||
level_pak = r"levels\testdependencieslevel\level.pak"
|
||||
level_pak = r"levels\testdependencieslevel\testdependencieslevel.spawnable"
|
||||
bundle_request_path = os.path.join(bundles_folder, "bundle.pak")
|
||||
bundle_result_path = os.path.join(bundles_folder,
|
||||
helper.platform_file_name("bundle.pak", workspace.asset_processor_platform))
|
||||
|
||||
+6
-6
@@ -169,17 +169,17 @@ class TestsAssetRelocator_WindowsAndMac(object):
|
||||
|
||||
@pytest.mark.test_case_id("C21968388")
|
||||
@pytest.mark.assetpipeline
|
||||
def test_WindowsMacPlatforms_MoveCorruptedSliceFile_MoveSuccess(self, request, workspace, ap_setup_fixture,
|
||||
def test_WindowsMacPlatforms_MoveCorruptedPrefabFile_MoveSuccess(self, request, workspace, ap_setup_fixture,
|
||||
asset_processor):
|
||||
"""
|
||||
Asset with UUID/AssetId reference in non-standard format is
|
||||
successfully scanned and relocated to the MoveOutput folder.
|
||||
This test uses a pre-corrupted .slice file.
|
||||
This test uses a pre-corrupted .prefab file.
|
||||
|
||||
Test Steps:
|
||||
1. Create temporary testing environment with a corrupted slice
|
||||
2. Attempt to move the corrupted slice
|
||||
3. Verify that corrupted slice was moved successfully
|
||||
1. Create temporary testing environment with a corrupted prefab
|
||||
2. Attempt to move the corrupted prefab
|
||||
3. Verify that corrupted prefab was moved successfully
|
||||
"""
|
||||
|
||||
env = ap_setup_fixture
|
||||
@@ -187,7 +187,7 @@ class TestsAssetRelocator_WindowsAndMac(object):
|
||||
asset_folder = "C21968388"
|
||||
source_dir, _ = asset_processor.prepare_test_environment(env["tests_dir"], asset_folder)
|
||||
|
||||
filename = "DependencyScannerAsset.slice"
|
||||
filename = "DependencyScannerAsset.prefab"
|
||||
file_path = os.path.join(source_dir, filename)
|
||||
dst_rel_path = os.path.join("MoveOutput", filename)
|
||||
dst_full_path = os.path.join(source_dir, dst_rel_path)
|
||||
|
||||
+908
@@ -0,0 +1,908 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "DependencyScannerAsset",
|
||||
"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_[274004659287]": {
|
||||
"Id": "Entity_[274004659287]",
|
||||
"Name": "DependencyScannerAsset",
|
||||
"Components": {
|
||||
"Component_[10849460799799271301]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 10849460799799271301
|
||||
},
|
||||
"Component_[11098142762746045658]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 11098142762746045658
|
||||
},
|
||||
"Component_[11154538629717040387]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 11154538629717040387,
|
||||
"Child Entity Order": [
|
||||
"Entity_[305822185575]",
|
||||
"Entity_[278299626583]",
|
||||
"Entity_[282594593879]",
|
||||
"Entity_[286889561175]",
|
||||
"Entity_[291184528471]"
|
||||
]
|
||||
},
|
||||
"Component_[1365196255752273753]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 1365196255752273753
|
||||
},
|
||||
"Component_[280906579560376421]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 280906579560376421
|
||||
},
|
||||
"Component_[4629965429001113748]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 4629965429001113748
|
||||
},
|
||||
"Component_[4876910656129741263]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 4876910656129741263
|
||||
},
|
||||
"Component_[5763306492614623496]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5763306492614623496,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 7514977506847036117
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[7327709568605458460]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 7327709568605458460
|
||||
},
|
||||
"Component_[7514977506847036117]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 7514977506847036117,
|
||||
"Parent Entity": "ContainerEntity"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[278299626583]": {
|
||||
"Id": "Entity_[278299626583]",
|
||||
"Name": "AssetIDMatch",
|
||||
"Components": {
|
||||
"Component_[10285740519857855186]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 10285740519857855186
|
||||
},
|
||||
"Component_[11273731016303624898]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 11273731016303624898,
|
||||
"Parent Entity": "Entity_[274004659287]"
|
||||
},
|
||||
"Component_[1136790983026972010]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 1136790983026972010
|
||||
},
|
||||
"Component_[12777313618328131055]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 12777313618328131055
|
||||
},
|
||||
"Component_[13256044902558773795]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 13256044902558773795
|
||||
},
|
||||
"Component_[15834551022302435776]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 15834551022302435776,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 11273731016303624898
|
||||
},
|
||||
{
|
||||
"ComponentId": 9671522714018290727,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[16345420368214930095]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 16345420368214930095
|
||||
},
|
||||
"Component_[5309075942188429052]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 5309075942188429052
|
||||
},
|
||||
"Component_[8639731896786645938]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8639731896786645938
|
||||
},
|
||||
"Component_[9844585173698551415]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 9844585173698551415
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[282594593879]": {
|
||||
"Id": "Entity_[282594593879]",
|
||||
"Name": "UUIDMatch",
|
||||
"Components": {
|
||||
"Component_[10379494986254888760]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 10379494986254888760
|
||||
},
|
||||
"Component_[10932830014545295552]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 10932830014545295552
|
||||
},
|
||||
"Component_[16077882919902242532]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 16077882919902242532
|
||||
},
|
||||
"Component_[2150375322459274584]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 2150375322459274584
|
||||
},
|
||||
"Component_[2645455411436465820]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 2645455411436465820
|
||||
},
|
||||
"Component_[5422214869037468733]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 5422214869037468733
|
||||
},
|
||||
"Component_[7238126895911071330]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 7238126895911071330,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 8407607000804893064
|
||||
},
|
||||
{
|
||||
"ComponentId": 12952323341649885242,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[7981670269715131988]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 7981670269715131988
|
||||
},
|
||||
"Component_[8407607000804893064]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 8407607000804893064,
|
||||
"Parent Entity": "Entity_[274004659287]"
|
||||
},
|
||||
"Component_[8567641786004090803]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 8567641786004090803
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[286889561175]": {
|
||||
"Id": "Entity_[286889561175]",
|
||||
"Name": "RelativeProductMatch",
|
||||
"Components": {
|
||||
"Component_[10180645282669228972]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 10180645282669228972,
|
||||
"Parent Entity": "Entity_[274004659287]"
|
||||
},
|
||||
"Component_[10200807690182688147]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 10200807690182688147
|
||||
},
|
||||
"Component_[11014661873645081316]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 11014661873645081316,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 10180645282669228972
|
||||
},
|
||||
{
|
||||
"ComponentId": 12869852248016369650,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[12869852248016369650]": {
|
||||
"$type": "{77CDE991-EC1A-B7C1-B112-7456ABAC81A1} EditorSpawnerComponent",
|
||||
"Id": 12869852248016369650,
|
||||
"Slice": {
|
||||
"assetId": {
|
||||
"guid": "{29F14025-3BD2-5CA9-A9DE-B8B349268C2F}",
|
||||
"subId": 2
|
||||
},
|
||||
"assetHint": "slices/bullet.dynamicslice"
|
||||
}
|
||||
},
|
||||
"Component_[15136448544716183259]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 15136448544716183259
|
||||
},
|
||||
"Component_[15966001894874626764]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 15966001894874626764
|
||||
},
|
||||
"Component_[16167982631516160155]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 16167982631516160155
|
||||
},
|
||||
"Component_[16672905198052847867]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 16672905198052847867
|
||||
},
|
||||
"Component_[4506946122562404190]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 4506946122562404190
|
||||
},
|
||||
"Component_[6836304267269231429]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 6836304267269231429
|
||||
},
|
||||
"Component_[8756593519140349183]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 8756593519140349183
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[291184528471]": {
|
||||
"Id": "Entity_[291184528471]",
|
||||
"Name": "RelativeSourceMatch",
|
||||
"Components": {
|
||||
"Component_[11694027325905361034]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 11694027325905361034
|
||||
},
|
||||
"Component_[13891029613307790064]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 13891029613307790064
|
||||
},
|
||||
"Component_[15933511034411930900]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 15933511034411930900,
|
||||
"Parent Entity": "Entity_[274004659287]"
|
||||
},
|
||||
"Component_[17540827492846961803]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 17540827492846961803
|
||||
},
|
||||
"Component_[2850297705939373458]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 2850297705939373458
|
||||
},
|
||||
"Component_[4809103331004345812]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 4809103331004345812
|
||||
},
|
||||
"Component_[5654779331777839943]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5654779331777839943,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 15933511034411930900
|
||||
},
|
||||
{
|
||||
"ComponentId": 10284025539900054207,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[6097019179005900386]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 6097019179005900386
|
||||
},
|
||||
"Component_[7748387730313625157]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 7748387730313625157
|
||||
},
|
||||
"Component_[9822265453841229082]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 9822265453841229082
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[297232250983]": {
|
||||
"Id": "Entity_[297232250983]",
|
||||
"Name": "1151F14D38A65579888ABE3139882E68:[0]",
|
||||
"Components": {
|
||||
"Component_[11936148741777754959]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 11936148741777754959
|
||||
},
|
||||
"Component_[12610073699988743015]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 12610073699988743015,
|
||||
"Parent Entity": "Entity_[305822185575]"
|
||||
},
|
||||
"Component_[1603205169722765279]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 1603205169722765279
|
||||
},
|
||||
"Component_[17691206348057560715]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 17691206348057560715
|
||||
},
|
||||
"Component_[2711821203680330048]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 2711821203680330048
|
||||
},
|
||||
"Component_[3887480309311474860]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 3887480309311474860
|
||||
},
|
||||
"Component_[5853968883842282450]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 5853968883842282450
|
||||
},
|
||||
"Component_[7679080692843343453]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 7679080692843343453,
|
||||
"Configuration": "Asset ID that matches an existing dependency of this asset (am_grass1.mtl)"
|
||||
},
|
||||
"Component_[8024752235278898687]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 8024752235278898687
|
||||
},
|
||||
"Component_[8373296084678231042]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 8373296084678231042
|
||||
},
|
||||
"Component_[9782967158965587831]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 9782967158965587831,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 12610073699988743015
|
||||
},
|
||||
{
|
||||
"ComponentId": 7679080692843343453,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[301527218279]": {
|
||||
"Id": "Entity_[301527218279]",
|
||||
"Name": "Slices/bullet.dynamicslice",
|
||||
"Components": {
|
||||
"Component_[15613078542630153866]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 15613078542630153866,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 2483032678718995164
|
||||
},
|
||||
{
|
||||
"ComponentId": 9734604379060902193,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[16098942854900817264]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 16098942854900817264
|
||||
},
|
||||
"Component_[16720139961856477500]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 16720139961856477500
|
||||
},
|
||||
"Component_[2483032678718995164]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 2483032678718995164,
|
||||
"Parent Entity": "Entity_[305822185575]"
|
||||
},
|
||||
"Component_[2502984783426127018]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 2502984783426127018
|
||||
},
|
||||
"Component_[46714013890147210]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 46714013890147210
|
||||
},
|
||||
"Component_[4907474530744780429]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 4907474530744780429
|
||||
},
|
||||
"Component_[5420332829198300813]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 5420332829198300813
|
||||
},
|
||||
"Component_[7683578164681693579]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 7683578164681693579
|
||||
},
|
||||
"Component_[8312115250363172310]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 8312115250363172310
|
||||
},
|
||||
"Component_[9734604379060902193]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 9734604379060902193,
|
||||
"Configuration": "Relative product path that matches an existing dependency of this asset"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[305822185575]": {
|
||||
"Id": "Entity_[305822185575]",
|
||||
"Name": "AssetReferences",
|
||||
"Components": {
|
||||
"Component_[13422135993444528172]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 13422135993444528172
|
||||
},
|
||||
"Component_[13988015667379021413]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 13988015667379021413
|
||||
},
|
||||
"Component_[14885956487876614434]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 14885956487876614434
|
||||
},
|
||||
"Component_[15550715415947731915]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15550715415947731915
|
||||
},
|
||||
"Component_[2576266145980379805]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 2576266145980379805,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 3176911836967955668
|
||||
},
|
||||
{
|
||||
"ComponentId": 836721549453007197,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[3176911836967955668]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 3176911836967955668,
|
||||
"Parent Entity": "Entity_[274004659287]"
|
||||
},
|
||||
"Component_[5613459137294642234]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 5613459137294642234
|
||||
},
|
||||
"Component_[6400873582148097152]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 6400873582148097152
|
||||
},
|
||||
"Component_[684670817803453913]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 684670817803453913,
|
||||
"Child Entity Order": [
|
||||
"Entity_[323002054759]",
|
||||
"Entity_[327297022055]",
|
||||
"Entity_[301527218279]",
|
||||
"Entity_[318707087463]",
|
||||
"Entity_[297232250983]",
|
||||
"Entity_[314412120167]",
|
||||
"Entity_[331591989351]",
|
||||
"Entity_[310117152871]"
|
||||
]
|
||||
},
|
||||
"Component_[8118206464926826097]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 8118206464926826097
|
||||
},
|
||||
"Component_[836721549453007197]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 836721549453007197,
|
||||
"Configuration": "Entity names are used to trigger the missing dependency scanner. Comments are stripped from dynamic slices."
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[310117152871]": {
|
||||
"Id": "Entity_[310117152871]",
|
||||
"Name": "Materials/FakeMaterial.mtl",
|
||||
"Components": {
|
||||
"Component_[10593857511582714674]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 10593857511582714674,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 11797216659359478300
|
||||
},
|
||||
{
|
||||
"ComponentId": 13816702107134233983,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[11797216659359478300]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 11797216659359478300,
|
||||
"Parent Entity": "Entity_[305822185575]"
|
||||
},
|
||||
"Component_[13816702107134233983]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 13816702107134233983,
|
||||
"Configuration": "Invalid path that does not match an existing dependency of this asset"
|
||||
},
|
||||
"Component_[14868583012186337705]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 14868583012186337705
|
||||
},
|
||||
"Component_[14965348027145283648]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 14965348027145283648
|
||||
},
|
||||
"Component_[15075774238648121688]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 15075774238648121688
|
||||
},
|
||||
"Component_[16157883709857447266]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 16157883709857447266
|
||||
},
|
||||
"Component_[17712080510249108208]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 17712080510249108208
|
||||
},
|
||||
"Component_[2247408514677946398]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 2247408514677946398
|
||||
},
|
||||
"Component_[5565369976544134481]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 5565369976544134481
|
||||
},
|
||||
"Component_[6044814215558788086]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 6044814215558788086
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[314412120167]": {
|
||||
"Id": "Entity_[314412120167]",
|
||||
"Name": "88888888-4444-4444-4444-CCCCCCCCCCCC",
|
||||
"Components": {
|
||||
"Component_[10072177500579430176]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 10072177500579430176
|
||||
},
|
||||
"Component_[10853215476279564671]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 10853215476279564671,
|
||||
"Configuration": "UUID that does not exist"
|
||||
},
|
||||
"Component_[13413154971272749631]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 13413154971272749631
|
||||
},
|
||||
"Component_[15316173756367163440]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 15316173756367163440,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 3266728630359207653
|
||||
},
|
||||
{
|
||||
"ComponentId": 10853215476279564671,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[15809307959802829291]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 15809307959802829291
|
||||
},
|
||||
"Component_[17649652752752487081]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 17649652752752487081
|
||||
},
|
||||
"Component_[2130036493438440377]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 2130036493438440377
|
||||
},
|
||||
"Component_[3266728630359207653]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 3266728630359207653,
|
||||
"Parent Entity": "Entity_[305822185575]"
|
||||
},
|
||||
"Component_[5892125564582966187]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 5892125564582966187
|
||||
},
|
||||
"Component_[597602776660257245]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 597602776660257245
|
||||
},
|
||||
"Component_[8238652007701465495]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 8238652007701465495
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[318707087463]": {
|
||||
"Id": "Entity_[318707087463]",
|
||||
"Name": "BBA1A5494C73578894BF0692CDA5FC33",
|
||||
"Components": {
|
||||
"Component_[10222455787643359341]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 10222455787643359341
|
||||
},
|
||||
"Component_[11487845392038268864]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 11487845392038268864
|
||||
},
|
||||
"Component_[12135534290310046764]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 12135534290310046764
|
||||
},
|
||||
"Component_[14412623226519978498]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 14412623226519978498
|
||||
},
|
||||
"Component_[14516371382857751872]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 14516371382857751872
|
||||
},
|
||||
"Component_[16011611743122468576]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 16011611743122468576,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 4157328932578509254
|
||||
},
|
||||
{
|
||||
"ComponentId": 8524796860605854850,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[3813931698067937301]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 3813931698067937301
|
||||
},
|
||||
"Component_[4157328932578509254]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 4157328932578509254,
|
||||
"Parent Entity": "Entity_[305822185575]"
|
||||
},
|
||||
"Component_[8524796860605854850]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 8524796860605854850,
|
||||
"Configuration": "UUID that matches an existing dependency of this asset (lumbertank_body.cgf)"
|
||||
},
|
||||
"Component_[8660819596448699427]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 8660819596448699427
|
||||
},
|
||||
"Component_[8768262795169819026]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 8768262795169819026
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[323002054759]": {
|
||||
"Id": "Entity_[323002054759]",
|
||||
"Name": "Materials/am_rockground.mtl",
|
||||
"Components": {
|
||||
"Component_[13459503224133892836]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 13459503224133892836
|
||||
},
|
||||
"Component_[1346698328271204385]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 1346698328271204385
|
||||
},
|
||||
"Component_[13662830241397426219]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 13662830241397426219
|
||||
},
|
||||
"Component_[14169735046939083706]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 14169735046939083706,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 833157791612452820
|
||||
},
|
||||
{
|
||||
"ComponentId": 3573928838741352115,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[16049700338512950477]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 16049700338512950477
|
||||
},
|
||||
"Component_[16191253524853449302]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 16191253524853449302
|
||||
},
|
||||
"Component_[1737139665005484521]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 1737139665005484521
|
||||
},
|
||||
"Component_[17562284119637289685]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 17562284119637289685
|
||||
},
|
||||
"Component_[3573928838741352115]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 3573928838741352115,
|
||||
"Configuration": "Relative source path that matches an existing dependency of this asset"
|
||||
},
|
||||
"Component_[485401015869338526]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 485401015869338526
|
||||
},
|
||||
"Component_[833157791612452820]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 833157791612452820,
|
||||
"Parent Entity": "Entity_[305822185575]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[327297022055]": {
|
||||
"Id": "Entity_[327297022055]",
|
||||
"Name": "Config/Game.xml",
|
||||
"Components": {
|
||||
"Component_[11848260632907964142]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 11848260632907964142,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 497869813123895830
|
||||
},
|
||||
{
|
||||
"ComponentId": 5248857300320701553,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[12842864953492512672]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 12842864953492512672
|
||||
},
|
||||
"Component_[16656501539883791157]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 16656501539883791157
|
||||
},
|
||||
"Component_[17365661125603122123]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 17365661125603122123
|
||||
},
|
||||
"Component_[2967487135389707052]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 2967487135389707052
|
||||
},
|
||||
"Component_[3356294263684362888]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3356294263684362888
|
||||
},
|
||||
"Component_[497869813123895830]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 497869813123895830,
|
||||
"Parent Entity": "Entity_[305822185575]"
|
||||
},
|
||||
"Component_[5248857300320701553]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 5248857300320701553,
|
||||
"Configuration": "Valid path that does not match an existing dependency of this asset. Should report as a missing dependency"
|
||||
},
|
||||
"Component_[746309483212393367]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 746309483212393367
|
||||
},
|
||||
"Component_[8319831469290771470]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 8319831469290771470
|
||||
},
|
||||
"Component_[9369067377618608622]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 9369067377618608622
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[331591989351]": {
|
||||
"Id": "Entity_[331591989351]",
|
||||
"Name": "1151F14D38A65579888ABE3139882E68:[333]",
|
||||
"Components": {
|
||||
"Component_[104857639379046106]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 104857639379046106,
|
||||
"Parent Entity": "Entity_[305822185575]"
|
||||
},
|
||||
"Component_[1061601983221247493]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 1061601983221247493
|
||||
},
|
||||
"Component_[11028443253330664986]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 11028443253330664986
|
||||
},
|
||||
"Component_[13806275118632081006]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 13806275118632081006
|
||||
},
|
||||
"Component_[13922573109551604801]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 13922573109551604801
|
||||
},
|
||||
"Component_[17027032709917108335]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 17027032709917108335
|
||||
},
|
||||
"Component_[17030988165269698825]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 17030988165269698825
|
||||
},
|
||||
"Component_[2294579021665535860]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 2294579021665535860
|
||||
},
|
||||
"Component_[5863078697041048226]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5863078697041048226,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 104857639379046106
|
||||
},
|
||||
{
|
||||
"ComponentId": 9466290982672370664,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[7608263859116142496]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 7608263859116142496
|
||||
},
|
||||
"Component_[9466290982672370664]": {
|
||||
"$type": "EditorCommentComponent",
|
||||
"Id": 9466290982672370664,
|
||||
"Configuration": "Asset ID that does not exist (am_grass1.mtl UUID, no matching product ID)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-3
@@ -23,12 +23,11 @@ from ..ap_fixtures.timeout_option_fixture import timeout_option_fixture as timeo
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.parametrize('launcher_platform', ['windows_editor'])
|
||||
@pytest.mark.parametrize('project', ['AutomatedTesting'])
|
||||
@pytest.mark.parametrize('level', ['auto_test'])
|
||||
@pytest.mark.parametrize('level', ['TestDependenciesLevel'])
|
||||
class TestBundleMode(object):
|
||||
def test_bundle_mode_with_levels_mounts_bundles_correctly(self, request, editor, level, launcher_platform,
|
||||
asset_processor, workspace, bundler_batch_helper):
|
||||
level_pak = os.path.join("levels", level, "level.pak")
|
||||
|
||||
level_pak = os.path.join("levels", level, "TestDependenciesLevel.spawnable")
|
||||
bundles_folder = os.path.join(workspace.paths.project(), "Bundles")
|
||||
bundle_request_path = os.path.join(bundles_folder, "bundle.pak")
|
||||
bundle_result_path = os.path.join(bundles_folder,
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ def output_test_data(scene):
|
||||
# Just write something to the file, but the filename is the main information
|
||||
# used for the test.
|
||||
f.write(f"scene.sourceFilename: {scene.sourceFilename}\n")
|
||||
return True
|
||||
return ''
|
||||
|
||||
mySceneJobHandler = None
|
||||
|
||||
|
||||
@@ -182,7 +182,7 @@ class TestAutomationBase:
|
||||
@staticmethod
|
||||
def _kill_ly_processes(include_asset_processor=True):
|
||||
LY_PROCESSES = [
|
||||
'Editor', 'Profiler', 'RemoteConsole', 'AutomatedTesting.ServerLauncher'
|
||||
'Editor', 'Profiler', 'RemoteConsole', 'AutomatedTesting.ServerLauncher', 'o3de'
|
||||
]
|
||||
AP_PROCESSES = [
|
||||
'AssetProcessor', 'AssetProcessorBatch', 'AssetBuilder', 'CrySCompileServer',
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_FOUNDATION_TEST_SUPPORTED)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::EditorTests_Main_Optimized
|
||||
NAME AutomatedTesting::EditorTests_Main
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main_Optimized.py
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py
|
||||
PYTEST_MARKS "not REQUIRES_gpu"
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
@@ -27,7 +27,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
TEST_REQUIRES gpu
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main_Optimized.py
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py
|
||||
PYTEST_MARKS "REQUIRES_gpu"
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
@@ -37,17 +37,4 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
|
||||
Editor
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::EditorTests_Sandbox_Optimized
|
||||
TEST_SUITE sandbox
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Sandbox_Optimized.py
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Editor
|
||||
)
|
||||
|
||||
endif()
|
||||
|
||||
+9
-4
@@ -59,8 +59,8 @@ def AssetBrowser_SearchFiltering():
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
def verify_files_appeared(model, allowed_asset_extensions, parent_index=QtCore.QModelIndex()):
|
||||
indexes = [parent_index]
|
||||
@@ -80,8 +80,7 @@ def AssetBrowser_SearchFiltering():
|
||||
return True
|
||||
|
||||
# 1) Open an existing simple level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Open Asset Browser (if not opened already)
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
@@ -98,7 +97,13 @@ def AssetBrowser_SearchFiltering():
|
||||
# 3) Type the name of an asset in the search bar and make sure it is filtered to and selectable
|
||||
asset_browser = editor_window.findChild(QtWidgets.QDockWidget, "Asset Browser")
|
||||
search_bar = asset_browser.findChild(QtWidgets.QLineEdit, "textSearch")
|
||||
search_bar.setText("cedar.fbx")
|
||||
|
||||
# Add a small pause when typing in the search bar in order to check that the entries are updated properly
|
||||
search_bar.setText("Cedar.f")
|
||||
general.idle_wait(0.5)
|
||||
search_bar.setText("Cedar.fbx")
|
||||
general.idle_wait(0.5)
|
||||
|
||||
asset_browser_tree = asset_browser.findChild(QtWidgets.QTreeView, "m_assetBrowserTreeViewWidget")
|
||||
asset_browser_table = asset_browser.findChild(QtWidgets.QTreeView, "m_assetBrowserTableViewWidget")
|
||||
found = await pyside_utils.wait_for_condition(lambda: pyside_utils.find_child_by_pattern(asset_browser_table, "cedar.fbx"), 5.0)
|
||||
|
||||
+2
-2
@@ -53,6 +53,7 @@ def AssetBrowser_TreeNavigation():
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
@@ -69,8 +70,7 @@ def AssetBrowser_TreeNavigation():
|
||||
file_path = ("AutomatedTesting", "Assets", "ImageGradients", "image_grad_test_gsi.png")
|
||||
|
||||
# 1) Open an existing simple level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Open Asset Browser (if not opened already)
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
|
||||
@@ -215,8 +215,7 @@ def AssetPicker_UI_UX():
|
||||
QtTest.QTest.keyClick(tree, Qt.Key_Enter, Qt.NoModifier)
|
||||
|
||||
# 1) Open an existing simple level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create entity and add Mesh component
|
||||
entity_position = math.Vector3(125.0, 136.0, 32.0)
|
||||
|
||||
+2
-4
@@ -56,19 +56,17 @@ def BasicEditorWorkflows_ExistingLevel_EntityComponentCRUD():
|
||||
06. delete parent entity
|
||||
"""
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.editor_entity_utils import EditorEntity
|
||||
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.editor as editor
|
||||
import azlmbr.entity as entity
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.object
|
||||
|
||||
# 01. load an existing level
|
||||
test_level = 'Simple'
|
||||
general.open_level_no_prompt(test_level)
|
||||
Report.result(Tests.load_level, general.get_current_level_name() == test_level)
|
||||
hydra.open_base_level()
|
||||
|
||||
# 02. create parent entity and set name
|
||||
# Delete any exiting entity and Create a new Entity at the root level
|
||||
|
||||
+13
-17
@@ -31,7 +31,7 @@ class Tests:
|
||||
"Component removed from entity successfully",
|
||||
"Failed to remove component from entity"
|
||||
)
|
||||
level_saved_and_exported = (
|
||||
saved_and_exported = (
|
||||
"Level saved and exported successfully",
|
||||
"Failed to save/export level"
|
||||
)
|
||||
@@ -52,8 +52,7 @@ def BasicEditorWorkflows_LevelEntityComponentCRUD():
|
||||
- A new entity can be created
|
||||
- Entity hierarchy can be adjusted
|
||||
- Components can be added/removed/updated
|
||||
- Level can be saved
|
||||
- Level can be exported
|
||||
- Level can be saved/exported
|
||||
|
||||
Note:
|
||||
- This test file must be called from the O3DE Editor command terminal
|
||||
@@ -70,7 +69,7 @@ def BasicEditorWorkflows_LevelEntityComponentCRUD():
|
||||
import azlmbr.editor as editor
|
||||
import azlmbr.entity as entity
|
||||
import azlmbr.math as math
|
||||
import azlmbr.paths
|
||||
import azlmbr.paths as paths
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
from editor_python_test_tools.utils import Report
|
||||
@@ -84,7 +83,7 @@ def BasicEditorWorkflows_LevelEntityComponentCRUD():
|
||||
return None
|
||||
|
||||
# 1) Create a new level
|
||||
level = "tmp_level"
|
||||
lvl_name = "tmp_level"
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
new_level_action = pyside_utils.get_action_for_menu_path(editor_window, "File", "New Level")
|
||||
pyside_utils.trigger_action_async(new_level_action)
|
||||
@@ -95,23 +94,24 @@ def BasicEditorWorkflows_LevelEntityComponentCRUD():
|
||||
Report.info("New Level dialog opened")
|
||||
grp_box = new_level_dlg.findChild(QtWidgets.QGroupBox, "STATIC_GROUP1")
|
||||
level_name = grp_box.findChild(QtWidgets.QLineEdit, "LEVEL")
|
||||
level_name.setText(level)
|
||||
level_name.setText(lvl_name)
|
||||
button_box = new_level_dlg.findChild(QtWidgets.QDialogButtonBox, "buttonBox")
|
||||
button_box.button(QtWidgets.QDialogButtonBox.Ok).click()
|
||||
|
||||
# Verify new level was created successfully
|
||||
level_create_success = await pyside_utils.wait_for_condition(lambda: editor.EditorToolsApplicationRequestBus(
|
||||
bus.Broadcast, "GetCurrentLevelName") == level, 5.0)
|
||||
bus.Broadcast, "GetCurrentLevelName") == lvl_name, 5.0)
|
||||
Report.critical_result(Tests.level_created, level_create_success)
|
||||
|
||||
# 2) Delete existing entities, and create and manipulate new entities via Entity Inspector
|
||||
search_filter = azlmbr.entity.SearchFilter()
|
||||
all_entities = entity.SearchBus(azlmbr.bus.Broadcast, "SearchEntities", search_filter)
|
||||
editor.ToolsApplicationRequestBus(bus.Broadcast, "DeleteEntities", all_entities)
|
||||
entity_outliner_widget = editor_window.findChild(QtWidgets.QWidget, "OutlinerWidgetUI")
|
||||
entity_outliner_widget = editor_window.findChild(QtWidgets.QWidget, "EntityOutlinerWidgetUI")
|
||||
outliner_object_list = entity_outliner_widget.findChild(QtWidgets.QWidget, "m_objectList_Contents")
|
||||
outliner_tree = outliner_object_list.findChild(QtWidgets.QWidget, "m_objectTree")
|
||||
await pyside_utils.trigger_context_menu_entry(outliner_tree, "Create entity")
|
||||
outliner_viewport = outliner_tree.findChild(QtWidgets.QWidget, "qt_scrollarea_viewport")
|
||||
await pyside_utils.trigger_context_menu_entry(outliner_viewport, "Create entity")
|
||||
|
||||
# Find the new entity
|
||||
parent_entity_id = find_entity_by_name("Entity1")
|
||||
@@ -153,14 +153,10 @@ def BasicEditorWorkflows_LevelEntityComponentCRUD():
|
||||
save_level_action = pyside_utils.get_action_for_menu_path(editor_window, "File", "Save")
|
||||
pyside_utils.trigger_action_async(save_level_action)
|
||||
|
||||
# 5) Export the level
|
||||
export_action = pyside_utils.get_action_for_menu_path(editor_window, "Game", "Export to Engine")
|
||||
pyside_utils.trigger_action_async(export_action)
|
||||
level_pak_file = os.path.join(
|
||||
"AutomatedTesting", "Levels", level, "level.pak"
|
||||
)
|
||||
export_success = await pyside_utils.wait_for_condition(lambda: os.path.exists(level_pak_file), 5.0)
|
||||
Report.result(Tests.level_saved_and_exported, export_success)
|
||||
# 5) Verify the save/export of the level
|
||||
level_prefab_path = os.path.join(paths.products, "levels", lvl_name, f"{lvl_name}.spawnable")
|
||||
success = await pyside_utils.wait_for_condition(lambda: os.path.exists(level_prefab_path), 5.0)
|
||||
Report.result(Tests.saved_and_exported, success)
|
||||
|
||||
run_test()
|
||||
|
||||
|
||||
+2
-4
@@ -63,7 +63,7 @@ def ComponentCRUD_Add_Delete_Components():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets, QtTest, QtCore
|
||||
from PySide2 import QtWidgets, QtTest
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -74,7 +74,6 @@ def ComponentCRUD_Add_Delete_Components():
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
async def add_component(component_name):
|
||||
pyside_utils.click_button_async(add_comp_btn)
|
||||
@@ -88,8 +87,7 @@ def ComponentCRUD_Add_Delete_Components():
|
||||
QtTest.QTest.keyClick(tree, Qt.Key_Enter, Qt.NoModifier)
|
||||
|
||||
# 1) Open an existing simple level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Create entity
|
||||
entity_position = math.Vector3(125.0, 136.0, 32.0)
|
||||
|
||||
@@ -62,12 +62,11 @@ def Docking_BasicDockedTools():
|
||||
import azlmbr.editor as editor
|
||||
import azlmbr.entity as entity
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
# Open an existing simple level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# Make sure the Entity Outliner, Entity Inspector and Console tools are open
|
||||
general.open_pane("Entity Outliner (PREVIEW)")
|
||||
@@ -80,7 +79,7 @@ def Docking_BasicDockedTools():
|
||||
editor.EditorEntityAPIBus(bus.Event, 'SetName', entity_id, entity_original_name)
|
||||
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
entity_outliner = editor_window.findChild(QtWidgets.QDockWidget, "Entity Outliner (PREVIEW)")
|
||||
entity_outliner = editor_window.findChild(QtWidgets.QDockWidget, "Entity Outliner")
|
||||
|
||||
# 1) Open the tools and dock them together in a floating tabbed widget.
|
||||
# We drag/drop it over the viewport since it doesn't allow docking, so this will undock it
|
||||
@@ -88,15 +87,15 @@ def Docking_BasicDockedTools():
|
||||
pyside_utils.drag_and_drop(entity_outliner, render_overlay)
|
||||
|
||||
# We need to grab a new reference to the Entity Outliner QDockWidget because when it gets moved
|
||||
# to the floating window, its parent changes so the wrapped intance we had becomes invalid
|
||||
entity_outliner = editor_window.findChild(QtWidgets.QDockWidget, "Entity Outliner (PREVIEW)")
|
||||
# to the floating window, its parent changes so the wrapped instance we had becomes invalid
|
||||
entity_outliner = editor_window.findChild(QtWidgets.QDockWidget, "Entity Outliner")
|
||||
|
||||
# Dock the Entity Inspector tabbed with the floating Entity Outliner
|
||||
entity_inspector = editor_window.findChild(QtWidgets.QDockWidget, "Entity Inspector")
|
||||
pyside_utils.drag_and_drop(entity_inspector, entity_outliner)
|
||||
|
||||
# We need to grab a new reference to the Entity Inspector QDockWidget because when it gets moved
|
||||
# to the floating window, its parent changes so the wrapped intance we had becomes invalid
|
||||
# to the floating window, its parent changes so the wrapped instance we had becomes invalid
|
||||
entity_inspector = editor_window.findChild(QtWidgets.QDockWidget, "Entity Inspector")
|
||||
|
||||
# Dock the Console tabbed with the floating Entity Inspector
|
||||
@@ -106,7 +105,7 @@ def Docking_BasicDockedTools():
|
||||
# Check to ensure all the tools are parented to the same QStackedWidget
|
||||
def check_all_panes_tabbed():
|
||||
entity_inspector = editor_window.findChild(QtWidgets.QDockWidget, "Entity Inspector")
|
||||
entity_outliner = editor_window.findChild(QtWidgets.QDockWidget, "Entity Outliner (PREVIEW)")
|
||||
entity_outliner = editor_window.findChild(QtWidgets.QDockWidget, "Entity Outliner")
|
||||
console = editor_window.findChild(QtWidgets.QDockWidget, "Console")
|
||||
entity_inspector_parent = entity_inspector.parentWidget()
|
||||
entity_outliner_parent = entity_outliner.parentWidget()
|
||||
@@ -122,7 +121,7 @@ def Docking_BasicDockedTools():
|
||||
|
||||
# 2.1,2) Select an Entity in the Entity Outliner.
|
||||
entity_inspector = editor_window.findChild(QtWidgets.QDockWidget, "Entity Inspector")
|
||||
entity_outliner = editor_window.findChild(QtWidgets.QDockWidget, "Entity Outliner (PREVIEW)")
|
||||
entity_outliner = editor_window.findChild(QtWidgets.QDockWidget, "Entity Outliner")
|
||||
console = editor_window.findChild(QtWidgets.QDockWidget, "Console")
|
||||
object_tree = entity_outliner.findChild(QtWidgets.QTreeView, "m_objectTree")
|
||||
test_entity_index = pyside_utils.find_child_by_pattern(object_tree, entity_original_name)
|
||||
|
||||
+6
-5
@@ -30,11 +30,13 @@ def EntityOutliner_EntityOrdering():
|
||||
5) Add another new entity, ensure the rest of the order is unchanged
|
||||
"""
|
||||
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
from PySide2 import QtCore
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from PySide2 import QtCore, QtWidgets, QtGui, QtTest
|
||||
|
||||
# Grab the Editor, Entity Outliner, and Outliner Model
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
@@ -110,8 +112,7 @@ def EntityOutliner_EntityOrdering():
|
||||
expected_order = []
|
||||
|
||||
# 1) Open the empty Prefab Base level
|
||||
helper.init_idle()
|
||||
helper.open_level("Prefab", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Add 5 entities to the outliner
|
||||
ENTITIES_TO_ADD = 5
|
||||
|
||||
+2
-3
@@ -69,8 +69,8 @@ def InputBindings_Add_Remove_Input_Events():
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
def open_asset_editor():
|
||||
general.open_pane("Asset Editor")
|
||||
@@ -81,8 +81,7 @@ def InputBindings_Add_Remove_Input_Events():
|
||||
return not general.is_pane_visible("Asset Editor")
|
||||
|
||||
# 1) Open an existing simple level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Open Asset Editor
|
||||
Report.result(Tests.asset_editor_opened, open_asset_editor())
|
||||
|
||||
@@ -26,9 +26,9 @@ def Menus_EditMenuOptions_Work():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
edit_menu_options = [
|
||||
("Undo",),
|
||||
@@ -52,19 +52,20 @@ def Menus_EditMenuOptions_Work():
|
||||
("Editor Settings", "Global Preferences"),
|
||||
("Editor Settings", "Editor Settings Manager"),
|
||||
("Editor Settings", "Keyboard Customization", "Customize Keyboard"),
|
||||
("Editor Settings", "Keyboard Customization", "Export Keyboard Settings"),
|
||||
("Editor Settings", "Keyboard Customization", "Import Keyboard Settings"),
|
||||
# The following menu options are temporarily disabled due to https://github.com/o3de/o3de/issues/6746
|
||||
#("Editor Settings", "Keyboard Customization", "Export Keyboard Settings"),
|
||||
#("Editor Settings", "Keyboard Customization", "Import Keyboard Settings"),
|
||||
]
|
||||
|
||||
# 1) Open an existing simple level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Interact with Edit Menu options
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
for option in edit_menu_options:
|
||||
try:
|
||||
action = pyside_utils.get_action_for_menu_path(editor_window, "Edit", *option)
|
||||
Report.info(f"Triggering {action.iconText()}")
|
||||
action.trigger()
|
||||
action_triggered = True
|
||||
except Exception as e:
|
||||
|
||||
@@ -26,35 +26,34 @@ def Menus_FileMenuOptions_Work():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
file_menu_options = [
|
||||
("New Level",),
|
||||
("Open Level",),
|
||||
("Import",),
|
||||
#("Open Level",), Temporarily disabled due to https://github.com/o3de/o3de/issues/6605
|
||||
#("Import",), Temporarily disabled due to https://github.com/o3de/o3de/issues/6746
|
||||
("Save",),
|
||||
("Save As",),
|
||||
#("Save As",), Temporarily disabled due to https://github.com/o3de/o3de/issues/6605
|
||||
("Save Level Statistics",),
|
||||
("Edit Project Settings",),
|
||||
("Edit Platform Settings",),
|
||||
#("Edit Platform Settings",), Temporarily disabled due to https://github.com/o3de/o3de/issues/6604
|
||||
("New Project",),
|
||||
("Open Project",),
|
||||
("Show Log File",),
|
||||
("Resave All Slices",),
|
||||
("Exit",),
|
||||
]
|
||||
|
||||
# 1) Open an existing simple level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Interact with File Menu options
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
for option in file_menu_options:
|
||||
try:
|
||||
action = pyside_utils.get_action_for_menu_path(editor_window, "File", *option)
|
||||
Report.info(f"Triggering {action.iconText()}")
|
||||
action.trigger()
|
||||
action_triggered = True
|
||||
except Exception as e:
|
||||
|
||||
@@ -26,13 +26,15 @@ def Menus_ViewMenuOptions_Work():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
view_menu_options = [
|
||||
("Center on Selection",),
|
||||
("Show Quick Access Bar",),
|
||||
("Layouts", "Component Entity Layout",),
|
||||
("Layouts", "Save Layout",),
|
||||
("Viewport", "Configure Layout"),
|
||||
("Viewport", "Go to Position"),
|
||||
("Viewport", "Center on Selection"),
|
||||
@@ -45,14 +47,14 @@ def Menus_ViewMenuOptions_Work():
|
||||
]
|
||||
|
||||
# 1) Open an existing simple level
|
||||
helper.init_idle()
|
||||
helper.open_level("Physics", "Base")
|
||||
hydra.open_base_level()
|
||||
|
||||
# 2) Interact with View Menu options
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
for option in view_menu_options:
|
||||
try:
|
||||
action = pyside_utils.get_action_for_menu_path(editor_window, "View", *option)
|
||||
Report.info(f"Triggering {action.iconText()}")
|
||||
action.trigger()
|
||||
action_triggered = True
|
||||
except Exception as e:
|
||||
|
||||
@@ -7,48 +7,77 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
import os
|
||||
import pytest
|
||||
import sys
|
||||
|
||||
import ly_test_tools.environment.file_system as file_system
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
from base import TestAutomationBase
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def remove_test_level(request, workspace, project):
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", "tmp_level")], True, True)
|
||||
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", "tmp_level")], True, True)
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite
|
||||
|
||||
|
||||
@pytest.mark.SUITE_main
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
class TestAutomationNoAutoTestMode(EditorTestSuite):
|
||||
|
||||
def test_BasicEditorWorkflows_LevelEntityComponentCRUD(self, request, workspace, editor, launcher_platform,
|
||||
remove_test_level):
|
||||
# Disable -autotest_mode and -BatchMode. Tests cannot run in -BatchMode due to UI interactions, and these tests
|
||||
# interact with modal dialogs
|
||||
global_extra_cmdline_args = []
|
||||
|
||||
class test_AssetPicker_UI_UX(EditorSharedTest):
|
||||
from .EditorScripts import AssetPicker_UI_UX as test_module
|
||||
|
||||
class test_BasicEditorWorkflows_ExistingLevel_EntityComponentCRUD(EditorSharedTest):
|
||||
from .EditorScripts import BasicEditorWorkflows_ExistingLevel_EntityComponentCRUD as test_module
|
||||
|
||||
class test_BasicEditorWorkflows_LevelEntityComponentCRUD(EditorSingleTest):
|
||||
# Custom teardown to remove level created during test
|
||||
def teardown(self, request, workspace, editor, editor_test_results, launcher_platform):
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "Levels", "tmp_level")],
|
||||
True, True)
|
||||
from .EditorScripts import BasicEditorWorkflows_LevelEntityComponentCRUD as test_module
|
||||
self._run_test(request, workspace, editor, test_module, batch_mode=False, autotest_mode=False, enable_prefab_system=False)
|
||||
|
||||
@pytest.mark.REQUIRES_gpu
|
||||
def test_BasicEditorWorkflows_GPU_LevelEntityComponentCRUD(self, request, workspace, editor, launcher_platform,
|
||||
remove_test_level):
|
||||
from .EditorScripts import BasicEditorWorkflows_LevelEntityComponentCRUD as test_module
|
||||
self._run_test(request, workspace, editor, test_module, batch_mode=False, autotest_mode=False,
|
||||
use_null_renderer=False, enable_prefab_system=False)
|
||||
class test_BasicEditorWorkflows_GPU_LevelEntityComponentCRUD(EditorSingleTest):
|
||||
# Disable null renderer
|
||||
use_null_renderer = False
|
||||
|
||||
def test_EntityOutlienr_EntityOrdering(self, request, workspace, editor, launcher_platform):
|
||||
# Custom teardown to remove level created during test
|
||||
def teardown(self, request, workspace, editor, editor_test_results, launcher_platform):
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "Levels", "tmp_level")],
|
||||
True, True)
|
||||
from .EditorScripts import BasicEditorWorkflows_LevelEntityComponentCRUD as test_module
|
||||
|
||||
class test_InputBindings_Add_Remove_Input_Events(EditorSharedTest):
|
||||
from .EditorScripts import InputBindings_Add_Remove_Input_Events as test_module
|
||||
|
||||
|
||||
@pytest.mark.SUITE_main
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomationAutoTestMode(EditorTestSuite):
|
||||
|
||||
# Enable only -autotest_mode for these tests. Tests cannot run in -BatchMode due to UI interactions
|
||||
global_extra_cmdline_args = ["-autotest_mode"]
|
||||
|
||||
class test_AssetBrowser_SearchFiltering(EditorSharedTest):
|
||||
from .EditorScripts import AssetBrowser_SearchFiltering as test_module
|
||||
|
||||
class test_AssetBrowser_TreeNavigation(EditorSharedTest):
|
||||
from .EditorScripts import AssetBrowser_TreeNavigation as test_module
|
||||
|
||||
class test_ComponentCRUD_Add_Delete_Components(EditorSharedTest):
|
||||
from .EditorScripts import ComponentCRUD_Add_Delete_Components as test_module
|
||||
|
||||
@pytest.mark.skip("Passes locally/fails on Jenkins. https://github.com/o3de/o3de/issues/6747")
|
||||
class test_Docking_BasicDockedTools(EditorSharedTest):
|
||||
from .EditorScripts import Docking_BasicDockedTools as test_module
|
||||
|
||||
class test_EntityOutliner_EntityOrdering(EditorSharedTest):
|
||||
from .EditorScripts import EntityOutliner_EntityOrdering as test_module
|
||||
self._run_test(
|
||||
request,
|
||||
workspace,
|
||||
editor,
|
||||
test_module,
|
||||
batch_mode=False,
|
||||
autotest_mode=True,
|
||||
)
|
||||
|
||||
class test_Menus_EditMenuOptions_Work(EditorSharedTest):
|
||||
from .EditorScripts import Menus_EditMenuOptions as test_module
|
||||
|
||||
class test_Menus_FileMenuOptions_Work(EditorSharedTest):
|
||||
from .EditorScripts import Menus_FileMenuOptions as test_module
|
||||
|
||||
class test_Menus_ViewMenuOptions_Work(EditorSharedTest):
|
||||
from .EditorScripts import Menus_ViewMenuOptions as test_module
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
import os
|
||||
import pytest
|
||||
|
||||
import ly_test_tools.environment.file_system as file_system
|
||||
from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite
|
||||
|
||||
|
||||
@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"])
|
||||
class TestAutomationNoAutoTestMode(EditorTestSuite):
|
||||
|
||||
# Disable -autotest_mode and -BatchMode. Tests cannot run in -BatchMode due to UI interactions, and these tests
|
||||
# interact with modal dialogs
|
||||
global_extra_cmdline_args = []
|
||||
|
||||
enable_prefab_system = False
|
||||
|
||||
class test_BasicEditorWorkflows_LevelEntityComponentCRUD(EditorSingleTest):
|
||||
# Custom teardown to remove slice asset created during test
|
||||
def teardown(self, request, workspace, editor, editor_test_results, launcher_platform):
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "Levels", "tmp_level")],
|
||||
True, True)
|
||||
from .EditorScripts import BasicEditorWorkflows_LevelEntityComponentCRUD as test_module
|
||||
|
||||
@pytest.mark.REQUIRES_gpu
|
||||
class test_BasicEditorWorkflows_GPU_LevelEntityComponentCRUD(EditorSingleTest):
|
||||
# Disable null renderer
|
||||
use_null_renderer = False
|
||||
|
||||
# Custom teardown to remove slice asset created during test
|
||||
def teardown(self, request, workspace, editor, editor_test_results, launcher_platform):
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "Levels", "tmp_level")],
|
||||
True, True)
|
||||
from .EditorScripts import BasicEditorWorkflows_LevelEntityComponentCRUD as test_module
|
||||
|
||||
class test_InputBindings_Add_Remove_Input_Events(EditorSharedTest):
|
||||
from .EditorScripts import InputBindings_Add_Remove_Input_Events as test_module
|
||||
|
||||
class test_AssetPicker_UI_UX(EditorSharedTest):
|
||||
from .EditorScripts import AssetPicker_UI_UX as test_module
|
||||
|
||||
|
||||
@pytest.mark.SUITE_main
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomationAutoTestMode(EditorTestSuite):
|
||||
|
||||
# Enable only -autotest_mode for these tests. Tests cannot run in -BatchMode due to UI interactions
|
||||
global_extra_cmdline_args = ["-autotest_mode"]
|
||||
|
||||
enable_prefab_system = False
|
||||
|
||||
class test_AssetBrowser_TreeNavigation(EditorSharedTest):
|
||||
from .EditorScripts import AssetBrowser_TreeNavigation as test_module
|
||||
|
||||
class test_AssetBrowser_SearchFiltering(EditorSharedTest):
|
||||
from .EditorScripts import AssetBrowser_SearchFiltering as test_module
|
||||
|
||||
class test_ComponentCRUD_Add_Delete_Components(EditorSharedTest):
|
||||
from .EditorScripts import ComponentCRUD_Add_Delete_Components as test_module
|
||||
|
||||
class test_Menus_ViewMenuOptions_Work(EditorSharedTest):
|
||||
from .EditorScripts import Menus_ViewMenuOptions as test_module
|
||||
|
||||
@pytest.mark.skip(reason="Times out due to dialogs failing to dismiss: LYN-4208")
|
||||
class test_Menus_FileMenuOptions_Work(EditorSharedTest):
|
||||
from .EditorScripts import Menus_FileMenuOptions as test_module
|
||||
|
||||
class test_BasicEditorWorkflows_ExistingLevel_EntityComponentCRUD(EditorSharedTest):
|
||||
from .EditorScripts import BasicEditorWorkflows_ExistingLevel_EntityComponentCRUD as test_module
|
||||
@@ -1,60 +0,0 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
import os
|
||||
import pytest
|
||||
import sys
|
||||
|
||||
import ly_test_tools.environment.file_system as file_system
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
from base import TestAutomationBase
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def remove_test_level(request, workspace, project):
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", "tmp_level")], True, True)
|
||||
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", "tmp_level")], True, True)
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
|
||||
def test_AssetBrowser_TreeNavigation(self, request, workspace, editor, launcher_platform):
|
||||
from .EditorScripts import AssetBrowser_TreeNavigation as test_module
|
||||
self._run_test(request, workspace, editor, test_module, batch_mode=False, enable_prefab_system=False)
|
||||
|
||||
def test_AssetBrowser_SearchFiltering(self, request, workspace, editor, launcher_platform):
|
||||
from .EditorScripts import AssetBrowser_SearchFiltering as test_module
|
||||
self._run_test(request, workspace, editor, test_module, batch_mode=False, enable_prefab_system=False)
|
||||
|
||||
def test_AssetPicker_UI_UX(self, request, workspace, editor, launcher_platform):
|
||||
from .EditorScripts import AssetPicker_UI_UX as test_module
|
||||
self._run_test(request, workspace, editor, test_module, autotest_mode=False, batch_mode=False, enable_prefab_system=False)
|
||||
|
||||
def test_ComponentCRUD_Add_Delete_Components(self, request, workspace, editor, launcher_platform):
|
||||
from .EditorScripts import ComponentCRUD_Add_Delete_Components as test_module
|
||||
self._run_test(request, workspace, editor, test_module, batch_mode=False, enable_prefab_system=False)
|
||||
|
||||
def test_InputBindings_Add_Remove_Input_Events(self, request, workspace, editor, launcher_platform):
|
||||
from .EditorScripts import InputBindings_Add_Remove_Input_Events as test_module
|
||||
self._run_test(request, workspace, editor, test_module, batch_mode=False, autotest_mode=False, enable_prefab_system=False)
|
||||
|
||||
def test_Menus_ViewMenuOptions_Work(self, request, workspace, editor, launcher_platform):
|
||||
from .EditorScripts import Menus_ViewMenuOptions as test_module
|
||||
self._run_test(request, workspace, editor, test_module, batch_mode=False, enable_prefab_system=False)
|
||||
|
||||
@pytest.mark.skip(reason="Times out due to dialogs failing to dismiss: LYN-4208")
|
||||
def test_Menus_FileMenuOptions_Work(self, request, workspace, editor, launcher_platform):
|
||||
from .EditorScripts import Menus_FileMenuOptions as test_module
|
||||
self._run_test(request, workspace, editor, test_module, batch_mode=False, enable_prefab_system=False)
|
||||
@@ -1,27 +0,0 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
import os
|
||||
import pytest
|
||||
import sys
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
from base import TestAutomationBase
|
||||
|
||||
|
||||
@pytest.mark.SUITE_sandbox
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
|
||||
def test_Menus_EditMenuOptions_Work(self, request, workspace, editor, launcher_platform):
|
||||
from .EditorScripts import Menus_EditMenuOptions as test_module
|
||||
self._run_test(request, workspace, editor, test_module, batch_mode=False, enable_prefab_system=False)
|
||||
|
||||
def test_Docking_BasicDockedTools(self, request, workspace, editor, launcher_platform):
|
||||
from .EditorScripts import Docking_BasicDockedTools as test_module
|
||||
self._run_test(request, workspace, editor, test_module, batch_mode=False, enable_prefab_system=False)
|
||||
@@ -1,28 +0,0 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
import os
|
||||
import pytest
|
||||
|
||||
from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite
|
||||
|
||||
|
||||
@pytest.mark.SUITE_sandbox
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomationAutoTestMode(EditorTestSuite):
|
||||
|
||||
# Enable only -autotest_mode for these tests. Tests cannot run in -BatchMode due to UI interactions
|
||||
global_extra_cmdline_args = ["-autotest_mode"]
|
||||
|
||||
enable_prefab_system = False
|
||||
|
||||
class test_Docking_BasicDockedTools(EditorSharedTest):
|
||||
from .EditorScripts import Docking_BasicDockedTools as test_module
|
||||
|
||||
class test_Menus_EditMenuOptions_Work(EditorSharedTest):
|
||||
from .EditorScripts import Menus_EditMenuOptions as test_module
|
||||
+2
-1
@@ -110,7 +110,8 @@ def DynamicSliceInstanceSpawner_Embedded_E2E():
|
||||
general.save_level()
|
||||
general.export_to_engine()
|
||||
pak_path = os.path.join(paths.products, "levels", lvl_name, "level.pak")
|
||||
Report.result(Tests.saved_and_exported, os.path.exists(pak_path))
|
||||
success = helper.wait_for_condition(lambda: os.path.exists(pak_path), 10.0)
|
||||
Report.result(Tests.saved_and_exported, success)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
+2
-1
@@ -132,7 +132,8 @@ def DynamicSliceInstanceSpawner_External_E2E():
|
||||
general.save_level()
|
||||
general.export_to_engine()
|
||||
pak_path = os.path.join(paths.products, "levels", lvl_name, "level.pak")
|
||||
Report.result(Tests.saved_and_exported, os.path.exists(pak_path))
|
||||
success = helper.wait_for_condition(lambda: os.path.exists(pak_path), 10.0)
|
||||
Report.result(Tests.saved_and_exported, success)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
+2
-1
@@ -156,7 +156,8 @@ def LayerBlender_E2E_Editor():
|
||||
general.save_level()
|
||||
general.export_to_engine()
|
||||
pak_path = os.path.join(paths.products, "levels", lvl_name, "level.pak")
|
||||
Report.result(Tests.saved_and_exported, os.path.exists(pak_path))
|
||||
success = helper.wait_for_condition(lambda: os.path.exists(pak_path), 10.0)
|
||||
Report.result(Tests.saved_and_exported, success)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ def SpawnerSlices_SliceCreationAndVisibilityToggleWorks():
|
||||
slice.SliceRequestBus(bus.Broadcast, "CreateNewSlice", veg_1.id, slice_path)
|
||||
|
||||
# 2.3) Verify if the slice has been created successfully
|
||||
spawner_slice_success = helper.wait_for_condition(lambda: path_is_valid_asset(slice_path), 5.0)
|
||||
spawner_slice_success = helper.wait_for_condition(lambda: path_is_valid_asset(slice_path), 10.0)
|
||||
Report.result(Tests.spawner_slice_created, spawner_slice_success)
|
||||
|
||||
# 3) C2627904: Hiding a slice containing the component clears any visuals from the Viewport
|
||||
|
||||
@@ -31,35 +31,6 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
Smoke
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::LoadLevelGPU
|
||||
TEST_SUITE smoke
|
||||
TEST_SERIAL
|
||||
TEST_REQUIRES gpu
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/test_RemoteConsole_GPULoadLevel_Works.py
|
||||
TIMEOUT 100
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
AZ::PythonBindingsExample
|
||||
AutomatedTesting.GameLauncher
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Smoke
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::EditorTestWithGPU
|
||||
TEST_REQUIRES gpu
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/test_Editor_NewExistingLevels_Works.py
|
||||
TIMEOUT 100
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
AZ::PythonBindingsExample
|
||||
Legacy::Editor
|
||||
AutomatedTesting.GameLauncher
|
||||
AutomatedTesting.Assets
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::GameLauncherWithGPU
|
||||
TEST_SUITE sandbox
|
||||
|
||||
@@ -1,143 +0,0 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
|
||||
Test Case Title: Create Test for UI apps- Editor
|
||||
"""
|
||||
|
||||
|
||||
class Tests():
|
||||
level_created = ("Level created", "Failed to create level")
|
||||
entity_found = ("New Entity created in level", "Failed to create New Entity in level")
|
||||
mesh_added = ("Mesh Component added", "Failed to add Mesh Component")
|
||||
enter_game_mode = ("Game Mode successfully entered", "Failed to enter in Game Mode")
|
||||
exit_game_mode = ("Game Mode successfully exited", "Failed to exit in Game Mode")
|
||||
level_opened = ("Level opened successfully", "Failed to open level")
|
||||
level_exported = ("Level exported successfully", "Failed to export level")
|
||||
mesh_removed = ("Mesh Component removed", "Failed to remove Mesh Component")
|
||||
entity_deleted = ("Entity deleted", "Failed to delete Entity")
|
||||
level_edits_present = ("Level edits persist after saving", "Failed to save level edits after saving")
|
||||
|
||||
|
||||
def Editor_NewExistingLevels_Works():
|
||||
"""
|
||||
Summary: Perform the below operations on Editor
|
||||
|
||||
1) Launch & Close editor
|
||||
2) Create new level
|
||||
3) Saving and loading levels
|
||||
4) Level edits persist after saving
|
||||
5) Export Level
|
||||
6) Can switch to play mode (ctrl+g) and exit that
|
||||
7) Run editor python bindings test
|
||||
8) Create an Entity
|
||||
9) Delete an Entity
|
||||
10) Add a component to an Entity
|
||||
|
||||
Expected Behavior:
|
||||
All operations succeed and do not cause a crash
|
||||
|
||||
Test Steps:
|
||||
1) Launch editor and Create a new level
|
||||
2) Create a new entity
|
||||
3) Add Mesh component
|
||||
4) Verify enter/exit game mode
|
||||
5) Save, Load and Export level
|
||||
6) Remove Mesh component
|
||||
7) Delete entity
|
||||
8) Open an existing level
|
||||
9) Create a new entity in an existing level
|
||||
10) Save, Load and Export an existing level and close editor
|
||||
|
||||
Note:
|
||||
- This test file must be called from the O3DE Editor command terminal
|
||||
- Any passed and failed tests are written to the Editor.log file.
|
||||
Parsing the file or running a log_monitor are required to observe the test results.
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
import os
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Report
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.editor as editor
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.math as math
|
||||
|
||||
# 1) Launch editor and Create a new level
|
||||
helper.init_idle()
|
||||
test_level_name = "temp_level"
|
||||
general.create_level_no_prompt(test_level_name, 128, 1, 128, False)
|
||||
helper.wait_for_condition(lambda: general.get_current_level_name() == test_level_name, 2.0)
|
||||
Report.result(Tests.level_created, general.get_current_level_name() == test_level_name)
|
||||
|
||||
# 2) Create a new entity
|
||||
entity_position = math.Vector3(200.0, 200.0, 38.0)
|
||||
new_entity = hydra.Entity("Entity1")
|
||||
new_entity.create_entity(entity_position, [])
|
||||
test_entity = hydra.find_entity_by_name("Entity1")
|
||||
Report.result(Tests.entity_found, test_entity.IsValid())
|
||||
|
||||
# 3) Add Mesh component
|
||||
new_entity.add_component("Mesh")
|
||||
Report.result(Tests.mesh_added, hydra.has_components(new_entity.id, ["Mesh"]))
|
||||
|
||||
# 4) Verify enter/exit game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
helper.exit_game_mode(Tests.exit_game_mode)
|
||||
|
||||
# 5) Save, Load and Export level
|
||||
# Save Level
|
||||
general.save_level()
|
||||
# Open Level
|
||||
general.open_level(test_level_name)
|
||||
Report.result(Tests.level_opened, general.get_current_level_name() == test_level_name)
|
||||
# Export Level
|
||||
general.export_to_engine()
|
||||
level_pak_file = os.path.join("AutomatedTesting", "Levels", test_level_name, "level.pak")
|
||||
Report.result(Tests.level_exported, os.path.exists(level_pak_file))
|
||||
|
||||
# 6) Remove Mesh component
|
||||
new_entity.remove_component("Mesh")
|
||||
Report.result(Tests.mesh_removed, not hydra.has_components(new_entity.id, ["Mesh"]))
|
||||
|
||||
# 7) Delete entity
|
||||
editor.ToolsApplicationRequestBus(bus.Broadcast, "DeleteEntityById", new_entity.id)
|
||||
test_entity = hydra.find_entity_by_name("Entity1")
|
||||
Report.result(Tests.entity_deleted, len(test_entity) == 0)
|
||||
|
||||
# 8) Open an existing level
|
||||
general.open_level(test_level_name)
|
||||
Report.result(Tests.level_opened, general.get_current_level_name() == test_level_name)
|
||||
|
||||
# 9) Create a new entity in an existing level
|
||||
entity_position = math.Vector3(200.0, 200.0, 38.0)
|
||||
new_entity_2 = hydra.Entity("Entity2")
|
||||
new_entity_2.create_entity(entity_position, [])
|
||||
test_entity = hydra.find_entity_by_name("Entity2")
|
||||
Report.result(Tests.entity_found, test_entity.IsValid())
|
||||
|
||||
# 10) Save, Load and Export an existing level
|
||||
# Save Level
|
||||
general.save_level()
|
||||
# Open Level
|
||||
general.open_level(test_level_name)
|
||||
Report.result(Tests.level_opened, general.get_current_level_name() == test_level_name)
|
||||
entity_id = hydra.find_entity_by_name(new_entity_2.name)
|
||||
Report.result(Tests.level_edits_present, entity_id == new_entity_2.id)
|
||||
# Export Level
|
||||
general.export_to_engine()
|
||||
level_pak_file = os.path.join("AutomatedTesting", "Levels", test_level_name, "level.pak")
|
||||
Report.result(Tests.level_exported, os.path.exists(level_pak_file))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
Report.start_test(Editor_NewExistingLevels_Works)
|
||||
@@ -1,34 +0,0 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
|
||||
Test should run in both gpu and non gpu
|
||||
"""
|
||||
|
||||
import pytest
|
||||
import os
|
||||
from automatedtesting_shared.base import TestAutomationBase
|
||||
|
||||
import ly_test_tools
|
||||
import ly_test_tools.environment.file_system as file_system
|
||||
|
||||
|
||||
@pytest.mark.SUITE_smoke
|
||||
@pytest.mark.skipif(not ly_test_tools.WINDOWS, reason="Only succeeds on windows https://github.com/o3de/o3de/issues/5539")
|
||||
@pytest.mark.parametrize("launcher_platform", ["windows_editor"])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.parametrize("level", ["temp_level"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
def test_Editor_NewExistingLevels_Works(self, request, workspace, editor, level, project, launcher_platform):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", level)], True, True)
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", level)], True, True)
|
||||
|
||||
from . import Editor_NewExistingLevels_Works as test_module
|
||||
|
||||
self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
|
||||
@@ -1,43 +0,0 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
|
||||
UI Apps: AutomatedTesting.GameLauncher
|
||||
Launch AutomatedTesting.GameLauncher with Simple level
|
||||
Test should run in both gpu and non gpu
|
||||
"""
|
||||
|
||||
import pytest
|
||||
import psutil
|
||||
|
||||
import ly_test_tools.environment.waiter as waiter
|
||||
import editor_python_test_tools.hydra_test_utils as editor_test_utils
|
||||
from ly_remote_console.remote_console_commands import RemoteConsole as RemoteConsole
|
||||
from ly_remote_console.remote_console_commands import (
|
||||
send_command_and_expect_response as send_command_and_expect_response,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("launcher_platform", ["windows"])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.parametrize("level", ["Simple"])
|
||||
class TestRemoteConsoleLoadLevelWorks(object):
|
||||
@pytest.fixture
|
||||
def remote_console_instance(self, request):
|
||||
console = RemoteConsole()
|
||||
|
||||
def teardown():
|
||||
if console.connected:
|
||||
console.stop()
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
return console
|
||||
|
||||
def test_RemoteConsole_LoadLevel_Works(self, launcher, level, remote_console_instance, launcher_platform):
|
||||
expected_lines = ['Level system is loading "Simple"']
|
||||
|
||||
editor_test_utils.launch_and_validate_results_launcher(launcher, level, remote_console_instance, expected_lines, null_renderer=False)
|
||||
@@ -4,14 +4,19 @@
|
||||
"license": "Apache-2.0 Or MIT",
|
||||
"license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt",
|
||||
"origin": "Open 3D Engine - o3de.org",
|
||||
"origin_url": "https://github.com/o3de/o3de",
|
||||
"type": "Asset",
|
||||
"summary": "A standard test scene for Global Illumination (forked from crytek sponza scene)",
|
||||
"canonical_tags": [
|
||||
"Gem"
|
||||
"Gem",
|
||||
"Asset"
|
||||
],
|
||||
"user_tags": [
|
||||
"Assets"
|
||||
"Sponza"
|
||||
],
|
||||
"icon_path": "preview.png",
|
||||
"requirements": "",
|
||||
"dependencies": []
|
||||
"documentation_url": "",
|
||||
"dependencies": [
|
||||
]
|
||||
}
|
||||
|
||||
@@ -3,13 +3,21 @@
|
||||
"display_name": "AutomatedTesting",
|
||||
"license": "Apache-2.0 Or MIT",
|
||||
"license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt",
|
||||
"origin": "Amazon Web Services, Inc.",
|
||||
"origin": "Open 3D Engine - o3de.org",
|
||||
"origin_url": "https://github.com/o3de/o3de",
|
||||
"type": "Code",
|
||||
"summary": "Project Gem for customizing the AutomatedTesting project functionality.",
|
||||
"canonical_tags": [
|
||||
"Gem"
|
||||
],
|
||||
"user_tags": [],
|
||||
"user_tags": [
|
||||
"AutomatedTesting"
|
||||
],
|
||||
"icon_path": "preview.png",
|
||||
"requirements": ""
|
||||
"requirements": "",
|
||||
"documentation_url": "",
|
||||
"dependencies": [],
|
||||
"external_subdirectories": [
|
||||
"PythonCoverage"
|
||||
]
|
||||
}
|
||||
|
||||
+44
-44
@@ -1474,9 +1474,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{1FD47684-2E9E-5525-BBCA-251795F9033C}"
|
||||
"guid": "{12B5A321-3D64-5DF6-9E15-D8F447229EC1}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r00.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r00.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1569,9 +1569,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{B5660D78-818E-5273-AF3D-EC8189E2E6CB}"
|
||||
"guid": "{EB8B9C49-D6F4-5098-AC97-543381E2554A}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r01.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r01.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1824,9 +1824,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{512443BD-9511-5F13-A84A-3ED5DB9E9B5A}"
|
||||
"guid": "{CAA9CAFC-8A48-5406-BE26-448E5AA1A5B0}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r02.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r02.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1926,9 +1926,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{E28A5CC5-4B8B-5B90-877A-3D92C75DC75A}"
|
||||
"guid": "{2F338C0B-EF86-5AC4-AEE6-28A26BB9E97E}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r03.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r03.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2028,9 +2028,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{1495BCCF-3F96-5D0B-8176-228DB22CEC82}"
|
||||
"guid": "{9BF4E656-0D4F-5746-A256-32740742712B}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r04.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r04.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2130,9 +2130,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{40494612-0ABF-55B5-9C56-E968763FCFDE}"
|
||||
"guid": "{850398D7-386A-56C6-AEB2-95E4F64368B1}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r05.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r05.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2232,9 +2232,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{76CF9D4A-009F-5494-83AB-6E3D4D1B4A36}"
|
||||
"guid": "{74784C2A-A713-5C6A-8B3D-B66CAE3DD055}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r06.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r06.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2334,9 +2334,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{8431B792-E6CC-51DD-B82E-F3E4A12FCB4A}"
|
||||
"guid": "{4F9F91F7-7E22-5A14-856D-194CC258E70D}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r07.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r07.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2436,9 +2436,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{4B1F29FF-7971-5524-AA1B-0DC2392A33C4}"
|
||||
"guid": "{842AE870-802B-5934-997F-0965F960ECB9}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r08.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r08.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2538,9 +2538,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{785BE6DE-C0EB-5B47-9438-4F9ECFC34A96}"
|
||||
"guid": "{0184CF10-E675-5C33-B1B9-009C383AB463}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r09.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r09.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2640,9 +2640,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{C40DE9AE-6756-57E7-B3B4-FB0542B5CD0F}"
|
||||
"guid": "{6DDA0761-C165-58CC-B45E-03C29F0CF598}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m00_r10.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m00_r10.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2896,9 +2896,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{251C4C29-4ECD-5763-AF4F-20675EAC048B}"
|
||||
"guid": "{101AB53A-3B3E-5ACF-841C-65DB2BFBF305}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r04.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r04.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2998,9 +2998,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{02D082C4-5032-57CC-A081-BC4D8518BCF0}"
|
||||
"guid": "{B82B96D6-7511-5E22-A36E-FFF682B3236B}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r05.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r05.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3100,9 +3100,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{FA9D8842-95B2-5371-8352-CBEEEAABE676}"
|
||||
"guid": "{DBED5292-3E17-5038-9974-80A8BB1F79E8}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r06.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r06.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3202,9 +3202,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{522A9626-FF4C-561A-A44A-64B68F7274D2}"
|
||||
"guid": "{25F07733-365C-5826-AEE3-E92FBE807555}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r07.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r07.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3304,9 +3304,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{06DDFD66-D7F5-5D55-8972-6D61276E88F6}"
|
||||
"guid": "{C9A7B916-CF71-5A34-B9B9-54FE8CB058DC}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r00.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r00.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3399,9 +3399,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{060EF1B7-1029-5227-B03B-1415C74E9D65}"
|
||||
"guid": "{85C8DFC5-358D-579D-B922-14FA1B401571}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r08.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r08.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3501,9 +3501,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{7B7BC6F8-150A-518F-816E-2F7DBE786461}"
|
||||
"guid": "{51924281-7A06-5654-B783-A4F5759063ED}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r01.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r01.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3603,9 +3603,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{270881B6-21E9-509D-A6CD-1046674FB0BE}"
|
||||
"guid": "{7877F64E-26E3-558C-B6D9-B609ED6E43BF}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r09.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r09.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3705,9 +3705,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{C0538953-C56E-5C1A-BBE2-E6BE04764C20}"
|
||||
"guid": "{6CC3C6B9-EE05-5A77-A12D-7085D93D89DB}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r02.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r02.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3874,9 +3874,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{5EA26E09-E3D6-5181-8E7A-F2E98A24247C}"
|
||||
"guid": "{E6E15876-EEF3-555D-BD80-1B9D5A7ECC7D}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r10.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r10.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3976,9 +3976,9 @@
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{E1A5D708-7A49-5CCA-81C3-4CB337C47703}"
|
||||
"guid": "{83179EEC-BAC7-5D39-9788-37D33E9584B1}"
|
||||
},
|
||||
"assetHint": "levels/pbrmaterialchart/materials/basic_m10_r03.azmaterial"
|
||||
"assetHint": "levels/graphics/pbrmaterialchart/materials/basic_m10_r03.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,566 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "ShadowTest",
|
||||
"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_[232650527119]": {
|
||||
"Id": "Entity_[232650527119]",
|
||||
"Name": "DirectionalLight",
|
||||
"Components": {
|
||||
"Component_[10660156197505313227]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 10660156197505313227
|
||||
},
|
||||
"Component_[14184823757717157844]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 14184823757717157844,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 9854879901259791898
|
||||
},
|
||||
{
|
||||
"ComponentId": 3968519938187714949,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[1495573908681275492]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 1495573908681275492
|
||||
},
|
||||
"Component_[15580233403487968826]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15580233403487968826
|
||||
},
|
||||
"Component_[3968519938187714949]": {
|
||||
"$type": "AZ::Render::EditorDirectionalLightComponent",
|
||||
"Id": 3968519938187714949,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"Intensity": 0.0,
|
||||
"CameraEntityId": "",
|
||||
"ShadowmapSize": "Size2048"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[4961040003466069196]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 4961040003466069196
|
||||
},
|
||||
"Component_[7824884165323036147]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 7824884165323036147
|
||||
},
|
||||
"Component_[8741866916946672319]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 8741866916946672319
|
||||
},
|
||||
"Component_[9288966876314965560]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 9288966876314965560
|
||||
},
|
||||
"Component_[9313163355156975968]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 9313163355156975968
|
||||
},
|
||||
"Component_[9854879901259791898]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 9854879901259791898,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0
|
||||
],
|
||||
"Rotate": [
|
||||
-32.05662536621094,
|
||||
-26.103206634521484,
|
||||
47.54806137084961
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[260824893221]": {
|
||||
"Id": "Entity_[260824893221]",
|
||||
"Name": "SpotLight",
|
||||
"Components": {
|
||||
"Component_[16098295228434057928]": {
|
||||
"$type": "EditorDiskShapeComponent",
|
||||
"Id": 16098295228434057928,
|
||||
"ShapeColor": [
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"DiskShape": {
|
||||
"Configuration": {
|
||||
"Radius": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[16175995808158769171]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 16175995808158769171,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
0.6417449712753296,
|
||||
1.3211734294891357,
|
||||
3.022759199142456
|
||||
],
|
||||
"Rotate": [
|
||||
243.31329345703125,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[17136787899581093377]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 17136787899581093377
|
||||
},
|
||||
"Component_[17938027566627202610]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 17938027566627202610
|
||||
},
|
||||
"Component_[190081405128299223]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 190081405128299223
|
||||
},
|
||||
"Component_[2181418147135573579]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 2181418147135573579
|
||||
},
|
||||
"Component_[2564149706319215342]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 2564149706319215342
|
||||
},
|
||||
"Component_[3716169383940064541]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 3716169383940064541,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 16175995808158769171
|
||||
},
|
||||
{
|
||||
"ComponentId": 16665800442781289114,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[4143676462074671972]": {
|
||||
"$type": "AZ::Render::EditorAreaLightComponent",
|
||||
"Id": 4143676462074671972,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"LightType": 2,
|
||||
"AttenuationRadius": 31.62277603149414,
|
||||
"EnableShutters": true,
|
||||
"InnerShutterAngleDegrees": 22.5,
|
||||
"OuterShutterAngleDegrees": 27.5,
|
||||
"Enable Shadow": true,
|
||||
"Shadowmap Max Size": "Size2048",
|
||||
"Filtering Sample Count": 32
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[6706371214647538019]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 6706371214647538019
|
||||
},
|
||||
"Component_[7493944209625718550]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7493944209625718550
|
||||
},
|
||||
"Component_[7614113482082939165]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 7614113482082939165
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[269117486973]": {
|
||||
"Id": "Entity_[269117486973]",
|
||||
"Name": "Floor",
|
||||
"Components": {
|
||||
"Component_[10562678944594915756]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 10562678944594915756
|
||||
},
|
||||
"Component_[1175452962278157526]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 1175452962278157526
|
||||
},
|
||||
"Component_[13598353801231166887]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 13598353801231166887
|
||||
},
|
||||
"Component_[13735087293504923475]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 13735087293504923475
|
||||
},
|
||||
"Component_[13888244442459268363]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 13888244442459268363,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{E65E9ED3-3E38-5ABA-9E22-95E34DA4C3AE}",
|
||||
"subId": 280178048
|
||||
},
|
||||
"assetHint": "objects/plane.azmodel"
|
||||
},
|
||||
"LodOverride": 255
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[1525720357937234014]": {
|
||||
"$type": "EditorMaterialComponent",
|
||||
"Id": 1525720357937234014,
|
||||
"materialSlotsByLodEnabled": true
|
||||
},
|
||||
"Component_[16568998871680422442]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 16568998871680422442
|
||||
},
|
||||
"Component_[2147751093058990131]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 2147751093058990131,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 3266761149114817871
|
||||
},
|
||||
{
|
||||
"ComponentId": 13888244442459268363,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 1525720357937234014,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[3266761149114817871]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 3266761149114817871,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Scale": [
|
||||
100.0,
|
||||
100.0,
|
||||
100.0
|
||||
],
|
||||
"UniformScale": 100.0
|
||||
}
|
||||
},
|
||||
"Component_[4625895382416898670]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4625895382416898670
|
||||
},
|
||||
"Component_[4856699190357614535]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 4856699190357614535
|
||||
},
|
||||
"Component_[6466465153982575739]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 6466465153982575739
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[282757803856]": {
|
||||
"Id": "Entity_[282757803856]",
|
||||
"Name": "Cube",
|
||||
"Components": {
|
||||
"Component_[11189870094752260272]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 11189870094752260272
|
||||
},
|
||||
"Component_[11909086967677513257]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 11909086967677513257,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{593006BE-FE73-5A4B-A0A6-06C02EFFE458}",
|
||||
"subId": 285127096
|
||||
},
|
||||
"loadBehavior": "PreLoad",
|
||||
"assetHint": "objects/cube.azmodel"
|
||||
},
|
||||
"LodOverride": 255
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[1443341568598731610]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 1443341568598731610
|
||||
},
|
||||
"Component_[18339772707807258951]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 18339772707807258951,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
0.6083869934082031,
|
||||
3.137901782989502,
|
||||
0.5876787900924683
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[2447207272572065708]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 2447207272572065708
|
||||
},
|
||||
"Component_[3281906807632213471]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 3281906807632213471
|
||||
},
|
||||
"Component_[3412442673858204671]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 3412442673858204671
|
||||
},
|
||||
"Component_[5382641380294287889]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 5382641380294287889
|
||||
},
|
||||
"Component_[7221534636342494619]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 7221534636342494619,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 18339772707807258951
|
||||
},
|
||||
{
|
||||
"ComponentId": 11909086967677513257,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[7701217952253676487]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7701217952253676487
|
||||
},
|
||||
"Component_[7758436981023123121]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 7758436981023123121
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[372196702077]": {
|
||||
"Id": "Entity_[372196702077]",
|
||||
"Name": "Bunny",
|
||||
"Components": {
|
||||
"Component_[11345914745205508221]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 11345914745205508221
|
||||
},
|
||||
"Component_[11507863983962969790]": {
|
||||
"$type": "EditorMaterialComponent",
|
||||
"Id": 11507863983962969790,
|
||||
"materialSlotsByLodEnabled": true
|
||||
},
|
||||
"Component_[1342998773562921470]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 1342998773562921470
|
||||
},
|
||||
"Component_[14975835087235718844]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 14975835087235718844,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 5012565883129470759
|
||||
},
|
||||
{
|
||||
"ComponentId": 7975043234993822905,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 11507863983962969790,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[16460806723667032929]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 16460806723667032929
|
||||
},
|
||||
"Component_[18225690044585951363]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 18225690044585951363
|
||||
},
|
||||
"Component_[18314752491697618927]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 18314752491697618927
|
||||
},
|
||||
"Component_[2431610550789583502]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 2431610550789583502
|
||||
},
|
||||
"Component_[5012565883129470759]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 5012565883129470759,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.20401419699192047
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[7975043234993822905]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 7975043234993822905,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{0C6BBB76-4EC2-583A-B8C6-1A4C4FD1FE9D}",
|
||||
"subId": 283109893
|
||||
},
|
||||
"assetHint": "objects/bunny.azmodel"
|
||||
},
|
||||
"LodOverride": 255
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[8510666363380501112]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 8510666363380501112
|
||||
},
|
||||
"Component_[9639060480533776634]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 9639060480533776634
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[670308843764]": {
|
||||
"Id": "Entity_[670308843764]",
|
||||
"Name": "Camera1",
|
||||
"Components": {
|
||||
"Component_[12951260100632682169]": {
|
||||
"$type": "GenericComponentWrapper",
|
||||
"Id": 12951260100632682169,
|
||||
"m_template": {
|
||||
"$type": "FlyCameraInputComponent"
|
||||
}
|
||||
},
|
||||
"Component_[14180723329646459524]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 14180723329646459524
|
||||
},
|
||||
"Component_[14996469885773917977]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 14996469885773917977,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
4.563776969909668,
|
||||
0.7667046785354614,
|
||||
3.000542640686035
|
||||
],
|
||||
"Rotate": [
|
||||
-9.740042686462402,
|
||||
-20.20942497253418,
|
||||
63.57760238647461
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[17638492356673689530]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 17638492356673689530
|
||||
},
|
||||
"Component_[2421853983468750254]": {
|
||||
"$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent",
|
||||
"Id": 2421853983468750254,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"Field of View": 90.00020599365234,
|
||||
"EditorEntityId": 666013876468
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[2572028619185965684]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 2572028619185965684
|
||||
},
|
||||
"Component_[2782900516907042776]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 2782900516907042776
|
||||
},
|
||||
"Component_[2849166119438883669]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 2849166119438883669
|
||||
},
|
||||
"Component_[4618311795498613781]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 4618311795498613781
|
||||
},
|
||||
"Component_[5402004894214413002]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 5402004894214413002
|
||||
},
|
||||
"Component_[6111028576371006514]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 6111028576371006514
|
||||
},
|
||||
"Component_[8203141294643544464]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 8203141294643544464
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,705 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "Hermanubis",
|
||||
"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_[250006174949]": {
|
||||
"Id": "Entity_[250006174949]",
|
||||
"Name": "WorldOrigin",
|
||||
"Components": {
|
||||
"Component_[13379444112629774116]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 13379444112629774116
|
||||
},
|
||||
"Component_[13797113876161133062]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 13797113876161133062,
|
||||
"Parent Entity": "ContainerEntity"
|
||||
},
|
||||
"Component_[16382506042739704306]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 16382506042739704306,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 13797113876161133062
|
||||
},
|
||||
{
|
||||
"ComponentId": 8816319458242680670,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[2147729086581105478]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 2147729086581105478
|
||||
},
|
||||
"Component_[2433100672102773575]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 2433100672102773575
|
||||
},
|
||||
"Component_[4832829387489613630]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4832829387489613630
|
||||
},
|
||||
"Component_[5585931842723227683]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 5585931842723227683,
|
||||
"Child Entity Order": [
|
||||
"Entity_[254301142245]"
|
||||
]
|
||||
},
|
||||
"Component_[7088004383223117498]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 7088004383223117498
|
||||
},
|
||||
"Component_[7856264459806503732]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 7856264459806503732
|
||||
},
|
||||
"Component_[8816319458242680670]": {
|
||||
"$type": "AZ::Render::EditorGridComponent",
|
||||
"Id": 8816319458242680670
|
||||
},
|
||||
"Component_[930042309700959235]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 930042309700959235
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[254301142245]": {
|
||||
"Id": "Entity_[254301142245]",
|
||||
"Name": "GlobalSkylight",
|
||||
"Components": {
|
||||
"Component_[10076500561520682485]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 10076500561520682485,
|
||||
"Parent Entity": "Entity_[250006174949]"
|
||||
},
|
||||
"Component_[12626877995248630950]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 12626877995248630950,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 10076500561520682485
|
||||
},
|
||||
{
|
||||
"ComponentId": 8158442301445120126,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 7260006984216245935,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[13040837632921717329]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 13040837632921717329
|
||||
},
|
||||
"Component_[1390505494369101864]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 1390505494369101864
|
||||
},
|
||||
"Component_[6733278858932131836]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 6733278858932131836
|
||||
},
|
||||
"Component_[7260006984216245935]": {
|
||||
"$type": "AZ::Render::EditorImageBasedLightComponent",
|
||||
"Id": 7260006984216245935,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"diffuseImageAsset": {
|
||||
"assetId": {
|
||||
"guid": "{3B78EA69-7CF0-56A7-A49A-110B88412666}",
|
||||
"subId": 3000
|
||||
},
|
||||
"assetHint": "lightingpresets/greenwich_park_02_4k_iblskyboxcm_ibldiffuse.exr.streamingimage"
|
||||
},
|
||||
"specularImageAsset": {
|
||||
"assetId": {
|
||||
"guid": "{3B78EA69-7CF0-56A7-A49A-110B88412666}",
|
||||
"subId": 2000
|
||||
},
|
||||
"assetHint": "lightingpresets/greenwich_park_02_4k_iblskyboxcm_iblspecular.exr.streamingimage"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[7944006745008331817]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 7944006745008331817
|
||||
},
|
||||
"Component_[8158442301445120126]": {
|
||||
"$type": "AZ::Render::EditorHDRiSkyboxComponent",
|
||||
"Id": 8158442301445120126,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"CubemapAsset": {
|
||||
"assetId": {
|
||||
"guid": "{3B78EA69-7CF0-56A7-A49A-110B88412666}",
|
||||
"subId": 1000
|
||||
},
|
||||
"assetHint": "lightingpresets/greenwich_park_02_4k_iblskyboxcm.exr.streamingimage"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[8255370213772594097]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 8255370213772594097
|
||||
},
|
||||
"Component_[8551180373364097938]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 8551180373364097938
|
||||
},
|
||||
"Component_[8852330656608249928]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 8852330656608249928
|
||||
},
|
||||
"Component_[8913694496991926693]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8913694496991926693
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[258596109541]": {
|
||||
"Id": "Entity_[258596109541]",
|
||||
"Name": "Hermanubis_stone",
|
||||
"Components": {
|
||||
"Component_[1026780512255775175]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 1026780512255775175
|
||||
},
|
||||
"Component_[10882452951986489612]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 10882452951986489612
|
||||
},
|
||||
"Component_[12454042755417175050]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 12454042755417175050,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{1F650917-AA74-5107-9C49-648C957B33DA}",
|
||||
"subId": 275904906
|
||||
},
|
||||
"assetHint": "materialeditor/viewportmodels/hermanubis.azmodel"
|
||||
},
|
||||
"LodOverride": 255
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[13691807045809495479]": {
|
||||
"$type": "EditorMaterialComponent",
|
||||
"Id": 13691807045809495479,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"materials": {
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{FF6412B6-F86E-54C8-835C-04F08190D81B}"
|
||||
},
|
||||
"assetHint": "objects/hermanubis/hermanubis_stone.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"materialSlotsByLodEnabled": true
|
||||
},
|
||||
"Component_[14490373655742304057]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 14490373655742304057
|
||||
},
|
||||
"Component_[15248132570755287431]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15248132570755287431
|
||||
},
|
||||
"Component_[16950375358457415777]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 16950375358457415777
|
||||
},
|
||||
"Component_[17852268252813268496]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 17852268252813268496,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
1.1189539432525635,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[3867610358542973898]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 3867610358542973898
|
||||
},
|
||||
"Component_[7717372065847089412]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 7717372065847089412
|
||||
},
|
||||
"Component_[7783943040473764331]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 7783943040473764331,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 17852268252813268496
|
||||
},
|
||||
{
|
||||
"ComponentId": 12454042755417175050,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 13691807045809495479,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[833407121913837256]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 833407121913837256
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[262891076837]": {
|
||||
"Id": "Entity_[262891076837]",
|
||||
"Name": "Hermanubis_brass",
|
||||
"Components": {
|
||||
"Component_[1026780512255775175]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 1026780512255775175
|
||||
},
|
||||
"Component_[10882452951986489612]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 10882452951986489612
|
||||
},
|
||||
"Component_[12454042755417175050]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 12454042755417175050,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{1F650917-AA74-5107-9C49-648C957B33DA}",
|
||||
"subId": 275904906
|
||||
},
|
||||
"assetHint": "materialeditor/viewportmodels/hermanubis.azmodel"
|
||||
},
|
||||
"LodOverride": 255
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[13691807045809495479]": {
|
||||
"$type": "EditorMaterialComponent",
|
||||
"Id": 13691807045809495479,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"materials": {
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{B3AC2305-1DE6-54AA-AAD5-5E77C75E5BB5}"
|
||||
},
|
||||
"assetHint": "objects/hermanubis/hermanubis_brass.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"materialSlotsByLodEnabled": true
|
||||
},
|
||||
"Component_[14490373655742304057]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 14490373655742304057
|
||||
},
|
||||
"Component_[15248132570755287431]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15248132570755287431
|
||||
},
|
||||
"Component_[16950375358457415777]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 16950375358457415777
|
||||
},
|
||||
"Component_[17852268252813268496]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 17852268252813268496,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
-1.4824472665786743,
|
||||
-0.034557100385427475,
|
||||
0.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[3867610358542973898]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 3867610358542973898
|
||||
},
|
||||
"Component_[7717372065847089412]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 7717372065847089412
|
||||
},
|
||||
"Component_[7783943040473764331]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 7783943040473764331,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 17852268252813268496
|
||||
},
|
||||
{
|
||||
"ComponentId": 12454042755417175050,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 13691807045809495479,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[833407121913837256]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 833407121913837256
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[267186044133]": {
|
||||
"Id": "Entity_[267186044133]",
|
||||
"Name": "SphereLight",
|
||||
"Components": {
|
||||
"Component_[10922228943444131599]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 10922228943444131599
|
||||
},
|
||||
"Component_[11625534306113165068]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 11625534306113165068,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
0.2636711895465851,
|
||||
2.2845842838287354,
|
||||
0.22468790411949158
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[12372418243816154216]": {
|
||||
"$type": "EditorSphereShapeComponent",
|
||||
"Id": 12372418243816154216,
|
||||
"ShapeColor": [
|
||||
0.3289234936237335,
|
||||
0.7307698130607605,
|
||||
0.14859239757061005,
|
||||
1.0
|
||||
]
|
||||
},
|
||||
"Component_[12579170654872581897]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 12579170654872581897
|
||||
},
|
||||
"Component_[12844637542561882557]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 12844637542561882557
|
||||
},
|
||||
"Component_[13087890528096920855]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 13087890528096920855,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 11625534306113165068
|
||||
},
|
||||
{
|
||||
"ComponentId": 13427905514841050195,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 12372418243816154216,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[13427905514841050195]": {
|
||||
"$type": "AZ::Render::EditorAreaLightComponent",
|
||||
"Id": 13427905514841050195,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"LightType": 1,
|
||||
"Color": [
|
||||
0.3289234936237335,
|
||||
0.7307698130607605,
|
||||
0.14859239757061005
|
||||
],
|
||||
"IntensityMode": 1,
|
||||
"Intensity": 676.7677001953125,
|
||||
"AttenuationRadius": 226.51287841796875
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[15364092815744365073]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 15364092815744365073
|
||||
},
|
||||
"Component_[2481373975540551564]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 2481373975540551564
|
||||
},
|
||||
"Component_[4101167782224846352]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 4101167782224846352
|
||||
},
|
||||
"Component_[8664715119660216219]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 8664715119660216219
|
||||
},
|
||||
"Component_[8952093761729701957]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 8952093761729701957,
|
||||
"VisibilityFlag": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[275775978725]": {
|
||||
"Id": "Entity_[275775978725]",
|
||||
"Name": "TubeLight",
|
||||
"Components": {
|
||||
"Component_[10922228943444131599]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 10922228943444131599,
|
||||
"DisabledComponents": [
|
||||
{
|
||||
"$type": "EditorSphereShapeComponent",
|
||||
"Id": 12372418243816154216,
|
||||
"ShapeColor": [
|
||||
0.3289234936237335,
|
||||
0.7307698130607605,
|
||||
0.14859239757061005,
|
||||
1.0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[11625534306113165068]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 11625534306113165068,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
-4.275930881500244,
|
||||
0.5104026794433594,
|
||||
2.3807857036590576
|
||||
],
|
||||
"Rotate": [
|
||||
270.0043029785156,
|
||||
0.16617189347743988,
|
||||
268.51611328125
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[12579170654872581897]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 12579170654872581897
|
||||
},
|
||||
"Component_[12844637542561882557]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 12844637542561882557
|
||||
},
|
||||
"Component_[13087890528096920855]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 13087890528096920855,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 11625534306113165068
|
||||
},
|
||||
{
|
||||
"ComponentId": 13427905514841050195,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 12372418243816154216,
|
||||
"SortIndex": 2
|
||||
},
|
||||
{
|
||||
"ComponentId": 2193911499802409037,
|
||||
"SortIndex": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[13427905514841050195]": {
|
||||
"$type": "AZ::Render::EditorAreaLightComponent",
|
||||
"Id": 13427905514841050195,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"LightType": 3,
|
||||
"Color": [
|
||||
0.8521705865859985,
|
||||
0.7865872979164124,
|
||||
0.6079347133636475
|
||||
],
|
||||
"IntensityMode": 1,
|
||||
"Intensity": 10000.0,
|
||||
"AttenuationRadius": 21608.193359375
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[15364092815744365073]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 15364092815744365073
|
||||
},
|
||||
"Component_[2193911499802409037]": {
|
||||
"$type": "EditorCapsuleShapeComponent",
|
||||
"Id": 2193911499802409037,
|
||||
"ShapeColor": [
|
||||
0.8521705865859985,
|
||||
0.7865872979164124,
|
||||
0.6079347133636475,
|
||||
1.0
|
||||
],
|
||||
"CapsuleShape": {
|
||||
"Configuration": {
|
||||
"Height": 5.0,
|
||||
"Radius": 0.10000000149011612
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[2481373975540551564]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 2481373975540551564
|
||||
},
|
||||
"Component_[4101167782224846352]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 4101167782224846352
|
||||
},
|
||||
"Component_[8664715119660216219]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 8664715119660216219
|
||||
},
|
||||
"Component_[8952093761729701957]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 8952093761729701957,
|
||||
"VisibilityFlag": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[482743502241]": {
|
||||
"Id": "Entity_[482743502241]",
|
||||
"Name": "Camera1",
|
||||
"Components": {
|
||||
"Component_[10672707967016183310]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 10672707967016183310
|
||||
},
|
||||
"Component_[13520081755303040361]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 13520081755303040361
|
||||
},
|
||||
"Component_[13650522584195762912]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 13650522584195762912
|
||||
},
|
||||
"Component_[14204465933176839167]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 14204465933176839167
|
||||
},
|
||||
"Component_[14509697511269710983]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 14509697511269710983
|
||||
},
|
||||
"Component_[271930369355383880]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 271930369355383880
|
||||
},
|
||||
"Component_[5015186380056948439]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 5015186380056948439
|
||||
},
|
||||
"Component_[6297637832938894772]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 6297637832938894772,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
-0.0018702250672504306,
|
||||
2.9982283115386963,
|
||||
3.0017592906951904
|
||||
],
|
||||
"Rotate": [
|
||||
20.080352783203125,
|
||||
-0.020488755777478218,
|
||||
179.92381286621094
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[6611378759823339947]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 6611378759823339947
|
||||
},
|
||||
"Component_[8475839846509409509]": {
|
||||
"$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent",
|
||||
"Id": 8475839846509409509,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"Field of View": 90.00020599365234,
|
||||
"EditorEntityId": 478448534945
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[9659542522325095386]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 9659542522325095386
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,943 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "ContainerEntity",
|
||||
"Name": "hermanubis_high",
|
||||
"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,
|
||||
"Child Entity Order": [
|
||||
"Entity_[243647107259]",
|
||||
"Entity_[247179151093]",
|
||||
"Entity_[262891076837]",
|
||||
"Entity_[242884183797]",
|
||||
"Entity_[258596109541]",
|
||||
"Entity_[267186044133]",
|
||||
"Entity_[275775978725]",
|
||||
"Entity_[250006174949]"
|
||||
]
|
||||
},
|
||||
"Component_[8018146290632383969]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8018146290632383969
|
||||
},
|
||||
"Component_[8452360690590857075]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 8452360690590857075
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entities": {
|
||||
"Entity_[242884183797]": {
|
||||
"Id": "Entity_[242884183797]",
|
||||
"Name": "Hermanubis_stone",
|
||||
"Components": {
|
||||
"Component_[1026780512255775175]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 1026780512255775175
|
||||
},
|
||||
"Component_[10882452951986489612]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 10882452951986489612
|
||||
},
|
||||
"Component_[12454042755417175050]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 12454042755417175050,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{35A45F31-F1C1-5076-8B51-FF599E2EEBAA}",
|
||||
"subId": 274433667
|
||||
},
|
||||
"assetHint": "objects/hermanubis/hermanubis_high.azmodel"
|
||||
},
|
||||
"LodOverride": 255
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[13691807045809495479]": {
|
||||
"$type": "EditorMaterialComponent",
|
||||
"Id": 13691807045809495479,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"materials": {
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{A78EA2FC-688B-5E3A-A7F6-DB413D11D4CF}"
|
||||
},
|
||||
"assetHint": "materials/presets/pbr/metal_chrome_matte.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"materialSlotsByLodEnabled": true
|
||||
},
|
||||
"Component_[14490373655742304057]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 14490373655742304057
|
||||
},
|
||||
"Component_[15248132570755287431]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15248132570755287431
|
||||
},
|
||||
"Component_[16950375358457415777]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 16950375358457415777
|
||||
},
|
||||
"Component_[17852268252813268496]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 17852268252813268496,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
3.810185432434082,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[3867610358542973898]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 3867610358542973898
|
||||
},
|
||||
"Component_[7717372065847089412]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 7717372065847089412
|
||||
},
|
||||
"Component_[7783943040473764331]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 7783943040473764331,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 17852268252813268496
|
||||
},
|
||||
{
|
||||
"ComponentId": 12454042755417175050,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 13691807045809495479,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[833407121913837256]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 833407121913837256
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[243647107259]": {
|
||||
"Id": "Entity_[243647107259]",
|
||||
"Name": "Camera1",
|
||||
"Components": {
|
||||
"Component_[11276153162797125616]": {
|
||||
"$type": "GenericComponentWrapper",
|
||||
"Id": 11276153162797125616,
|
||||
"m_template": {
|
||||
"$type": "FlyCameraInputComponent"
|
||||
}
|
||||
},
|
||||
"Component_[11484120648160206262]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 11484120648160206262
|
||||
},
|
||||
"Component_[14251459960897306807]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 14251459960897306807,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
-0.10533800721168518,
|
||||
-4.001697063446045,
|
||||
3.061025619506836
|
||||
],
|
||||
"Rotate": [
|
||||
-19.998117446899414,
|
||||
0.01881762035191059,
|
||||
-0.051706261932849884
|
||||
],
|
||||
"Scale": [
|
||||
0.9999998807907104,
|
||||
1.0,
|
||||
1.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[149351061984148634]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 149351061984148634
|
||||
},
|
||||
"Component_[15121925351155689107]": {
|
||||
"$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent",
|
||||
"Id": 15121925351155689107,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"EditorEntityId": 243647107259
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[15327903729148812780]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 15327903729148812780
|
||||
},
|
||||
"Component_[17667820301809320373]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 17667820301809320373
|
||||
},
|
||||
"Component_[17708351813187009272]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 17708351813187009272
|
||||
},
|
||||
"Component_[17941668830905411554]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 17941668830905411554
|
||||
},
|
||||
"Component_[48451466091772435]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 48451466091772435
|
||||
},
|
||||
"Component_[6163614082436403601]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 6163614082436403601,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 14251459960897306807
|
||||
},
|
||||
{
|
||||
"ComponentId": 15121925351155689107,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 11935019334576395684,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[8660334631968180943]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 8660334631968180943
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[247179151093]": {
|
||||
"Id": "Entity_[247179151093]",
|
||||
"Name": "Hermanubis_brass",
|
||||
"Components": {
|
||||
"Component_[1026780512255775175]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 1026780512255775175
|
||||
},
|
||||
"Component_[10882452951986489612]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 10882452951986489612
|
||||
},
|
||||
"Component_[12454042755417175050]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 12454042755417175050,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{35A45F31-F1C1-5076-8B51-FF599E2EEBAA}",
|
||||
"subId": 274433667
|
||||
},
|
||||
"assetHint": "objects/hermanubis/hermanubis_high.azmodel"
|
||||
},
|
||||
"LodOverride": 255
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[13691807045809495479]": {
|
||||
"$type": "EditorMaterialComponent",
|
||||
"Id": 13691807045809495479,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"materials": {
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{80E0F2A7-1EE4-597F-80EF-985C65BCE2EB}"
|
||||
},
|
||||
"assetHint": "materials/presets/pbr/metal_brass.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"materialSlotsByLodEnabled": true
|
||||
},
|
||||
"Component_[14490373655742304057]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 14490373655742304057
|
||||
},
|
||||
"Component_[15248132570755287431]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15248132570755287431
|
||||
},
|
||||
"Component_[16950375358457415777]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 16950375358457415777
|
||||
},
|
||||
"Component_[17852268252813268496]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 17852268252813268496,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
-4.019397258758545,
|
||||
-0.034557100385427475,
|
||||
0.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[3867610358542973898]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 3867610358542973898
|
||||
},
|
||||
"Component_[7717372065847089412]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 7717372065847089412
|
||||
},
|
||||
"Component_[7783943040473764331]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 7783943040473764331,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 17852268252813268496
|
||||
},
|
||||
{
|
||||
"ComponentId": 12454042755417175050,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 13691807045809495479,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[833407121913837256]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 833407121913837256
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[250006174949]": {
|
||||
"Id": "Entity_[250006174949]",
|
||||
"Name": "WorldOrigin",
|
||||
"Components": {
|
||||
"Component_[13379444112629774116]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 13379444112629774116
|
||||
},
|
||||
"Component_[13797113876161133062]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 13797113876161133062,
|
||||
"Parent Entity": "ContainerEntity"
|
||||
},
|
||||
"Component_[16382506042739704306]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 16382506042739704306,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 13797113876161133062
|
||||
},
|
||||
{
|
||||
"ComponentId": 8816319458242680670,
|
||||
"SortIndex": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[2147729086581105478]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 2147729086581105478
|
||||
},
|
||||
"Component_[2433100672102773575]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 2433100672102773575
|
||||
},
|
||||
"Component_[4832829387489613630]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4832829387489613630
|
||||
},
|
||||
"Component_[5585931842723227683]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 5585931842723227683,
|
||||
"Child Entity Order": [
|
||||
"Entity_[254301142245]"
|
||||
]
|
||||
},
|
||||
"Component_[7088004383223117498]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 7088004383223117498
|
||||
},
|
||||
"Component_[7856264459806503732]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 7856264459806503732
|
||||
},
|
||||
"Component_[8816319458242680670]": {
|
||||
"$type": "AZ::Render::EditorGridComponent",
|
||||
"Id": 8816319458242680670
|
||||
},
|
||||
"Component_[930042309700959235]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 930042309700959235
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[254301142245]": {
|
||||
"Id": "Entity_[254301142245]",
|
||||
"Name": "GlobalSkylight",
|
||||
"Components": {
|
||||
"Component_[10076500561520682485]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 10076500561520682485,
|
||||
"Parent Entity": "Entity_[250006174949]"
|
||||
},
|
||||
"Component_[12626877995248630950]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 12626877995248630950,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 10076500561520682485
|
||||
},
|
||||
{
|
||||
"ComponentId": 8158442301445120126,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 7260006984216245935,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[13040837632921717329]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 13040837632921717329
|
||||
},
|
||||
"Component_[1390505494369101864]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 1390505494369101864
|
||||
},
|
||||
"Component_[6733278858932131836]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 6733278858932131836
|
||||
},
|
||||
"Component_[7260006984216245935]": {
|
||||
"$type": "AZ::Render::EditorImageBasedLightComponent",
|
||||
"Id": 7260006984216245935,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"diffuseImageAsset": {
|
||||
"assetId": {
|
||||
"guid": "{3B78EA69-7CF0-56A7-A49A-110B88412666}",
|
||||
"subId": 3000
|
||||
},
|
||||
"assetHint": "lightingpresets/greenwich_park_02_4k_iblskyboxcm_ibldiffuse.exr.streamingimage"
|
||||
},
|
||||
"specularImageAsset": {
|
||||
"assetId": {
|
||||
"guid": "{3B78EA69-7CF0-56A7-A49A-110B88412666}",
|
||||
"subId": 2000
|
||||
},
|
||||
"assetHint": "lightingpresets/greenwich_park_02_4k_iblskyboxcm_iblspecular.exr.streamingimage"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[7944006745008331817]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 7944006745008331817
|
||||
},
|
||||
"Component_[8158442301445120126]": {
|
||||
"$type": "AZ::Render::EditorHDRiSkyboxComponent",
|
||||
"Id": 8158442301445120126,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"CubemapAsset": {
|
||||
"assetId": {
|
||||
"guid": "{3B78EA69-7CF0-56A7-A49A-110B88412666}",
|
||||
"subId": 1000
|
||||
},
|
||||
"assetHint": "lightingpresets/greenwich_park_02_4k_iblskyboxcm.exr.streamingimage"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[8255370213772594097]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 8255370213772594097
|
||||
},
|
||||
"Component_[8551180373364097938]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 8551180373364097938
|
||||
},
|
||||
"Component_[8852330656608249928]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 8852330656608249928
|
||||
},
|
||||
"Component_[8913694496991926693]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8913694496991926693
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[258596109541]": {
|
||||
"Id": "Entity_[258596109541]",
|
||||
"Name": "Hermanubis_stone",
|
||||
"Components": {
|
||||
"Component_[1026780512255775175]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 1026780512255775175
|
||||
},
|
||||
"Component_[10882452951986489612]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 10882452951986489612
|
||||
},
|
||||
"Component_[12454042755417175050]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 12454042755417175050,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{35A45F31-F1C1-5076-8B51-FF599E2EEBAA}",
|
||||
"subId": 274433667
|
||||
},
|
||||
"assetHint": "objects/hermanubis/hermanubis_high.azmodel"
|
||||
},
|
||||
"LodOverride": 255
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[13691807045809495479]": {
|
||||
"$type": "EditorMaterialComponent",
|
||||
"Id": 13691807045809495479,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"materials": {
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{B7C712DC-4839-58BB-B522-A4F120084CF5}"
|
||||
},
|
||||
"assetHint": "materials/presets/pbr/metal_chrome.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"materialSlotsByLodEnabled": true
|
||||
},
|
||||
"Component_[14490373655742304057]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 14490373655742304057
|
||||
},
|
||||
"Component_[15248132570755287431]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15248132570755287431
|
||||
},
|
||||
"Component_[16950375358457415777]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 16950375358457415777
|
||||
},
|
||||
"Component_[17852268252813268496]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 17852268252813268496,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
1.1189539432525635,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[3867610358542973898]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 3867610358542973898
|
||||
},
|
||||
"Component_[7717372065847089412]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 7717372065847089412
|
||||
},
|
||||
"Component_[7783943040473764331]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 7783943040473764331,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 17852268252813268496
|
||||
},
|
||||
{
|
||||
"ComponentId": 12454042755417175050,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 13691807045809495479,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[833407121913837256]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 833407121913837256
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[262891076837]": {
|
||||
"Id": "Entity_[262891076837]",
|
||||
"Name": "Hermanubis_brass",
|
||||
"Components": {
|
||||
"Component_[1026780512255775175]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 1026780512255775175
|
||||
},
|
||||
"Component_[10882452951986489612]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 10882452951986489612
|
||||
},
|
||||
"Component_[12454042755417175050]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 12454042755417175050,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{35A45F31-F1C1-5076-8B51-FF599E2EEBAA}",
|
||||
"subId": 274433667
|
||||
},
|
||||
"assetHint": "objects/hermanubis/hermanubis_high.azmodel"
|
||||
},
|
||||
"LodOverride": 255
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[13691807045809495479]": {
|
||||
"$type": "EditorMaterialComponent",
|
||||
"Id": 13691807045809495479,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"materials": {
|
||||
"{}": {
|
||||
"MaterialAsset": {
|
||||
"assetId": {
|
||||
"guid": "{CAF50181-3384-5DF2-9304-C6E48E83C72D}"
|
||||
},
|
||||
"assetHint": "materials/presets/pbr/metal_chrome_polished.azmaterial"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"materialSlotsByLodEnabled": true
|
||||
},
|
||||
"Component_[14490373655742304057]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 14490373655742304057
|
||||
},
|
||||
"Component_[15248132570755287431]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15248132570755287431
|
||||
},
|
||||
"Component_[16950375358457415777]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 16950375358457415777
|
||||
},
|
||||
"Component_[17852268252813268496]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 17852268252813268496,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
-1.4824472665786743,
|
||||
-0.034557100385427475,
|
||||
0.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[3867610358542973898]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 3867610358542973898
|
||||
},
|
||||
"Component_[7717372065847089412]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 7717372065847089412
|
||||
},
|
||||
"Component_[7783943040473764331]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 7783943040473764331,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 17852268252813268496
|
||||
},
|
||||
{
|
||||
"ComponentId": 12454042755417175050,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 13691807045809495479,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[833407121913837256]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 833407121913837256
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[267186044133]": {
|
||||
"Id": "Entity_[267186044133]",
|
||||
"Name": "SphereLight",
|
||||
"Components": {
|
||||
"Component_[10922228943444131599]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 10922228943444131599
|
||||
},
|
||||
"Component_[11625534306113165068]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 11625534306113165068,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
0.2636711895465851,
|
||||
2.2845842838287354,
|
||||
0.22468790411949158
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[12372418243816154216]": {
|
||||
"$type": "EditorSphereShapeComponent",
|
||||
"Id": 12372418243816154216,
|
||||
"ShapeColor": [
|
||||
0.3289234936237335,
|
||||
0.7307698130607605,
|
||||
0.14859239757061005,
|
||||
1.0
|
||||
]
|
||||
},
|
||||
"Component_[12579170654872581897]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 12579170654872581897
|
||||
},
|
||||
"Component_[12844637542561882557]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 12844637542561882557
|
||||
},
|
||||
"Component_[13087890528096920855]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 13087890528096920855,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 11625534306113165068
|
||||
},
|
||||
{
|
||||
"ComponentId": 13427905514841050195,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 12372418243816154216,
|
||||
"SortIndex": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[13427905514841050195]": {
|
||||
"$type": "AZ::Render::EditorAreaLightComponent",
|
||||
"Id": 13427905514841050195,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"LightType": 1,
|
||||
"Color": [
|
||||
0.3289234936237335,
|
||||
0.7307698130607605,
|
||||
0.14859239757061005
|
||||
],
|
||||
"IntensityMode": 1,
|
||||
"Intensity": 676.7677001953125,
|
||||
"AttenuationRadius": 226.51287841796875
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[15364092815744365073]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 15364092815744365073
|
||||
},
|
||||
"Component_[2481373975540551564]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 2481373975540551564
|
||||
},
|
||||
"Component_[4101167782224846352]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 4101167782224846352
|
||||
},
|
||||
"Component_[8664715119660216219]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 8664715119660216219
|
||||
},
|
||||
"Component_[8952093761729701957]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 8952093761729701957,
|
||||
"VisibilityFlag": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[275775978725]": {
|
||||
"Id": "Entity_[275775978725]",
|
||||
"Name": "TubeLight",
|
||||
"Components": {
|
||||
"Component_[10922228943444131599]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 10922228943444131599,
|
||||
"DisabledComponents": [
|
||||
{
|
||||
"$type": "EditorSphereShapeComponent",
|
||||
"Id": 12372418243816154216,
|
||||
"ShapeColor": [
|
||||
0.3289234936237335,
|
||||
0.7307698130607605,
|
||||
0.14859239757061005,
|
||||
1.0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[11625534306113165068]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 11625534306113165068,
|
||||
"Parent Entity": "ContainerEntity",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
-4.275930881500244,
|
||||
0.5104026794433594,
|
||||
2.3807857036590576
|
||||
],
|
||||
"Rotate": [
|
||||
270.0043029785156,
|
||||
0.16617189347743988,
|
||||
268.51611328125
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[12579170654872581897]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 12579170654872581897
|
||||
},
|
||||
"Component_[12844637542561882557]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 12844637542561882557
|
||||
},
|
||||
"Component_[13087890528096920855]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 13087890528096920855,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 11625534306113165068
|
||||
},
|
||||
{
|
||||
"ComponentId": 13427905514841050195,
|
||||
"SortIndex": 1
|
||||
},
|
||||
{
|
||||
"ComponentId": 12372418243816154216,
|
||||
"SortIndex": 2
|
||||
},
|
||||
{
|
||||
"ComponentId": 2193911499802409037,
|
||||
"SortIndex": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[13427905514841050195]": {
|
||||
"$type": "AZ::Render::EditorAreaLightComponent",
|
||||
"Id": 13427905514841050195,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"LightType": 3,
|
||||
"Color": [
|
||||
0.8521705865859985,
|
||||
0.7865872979164124,
|
||||
0.6079347133636475
|
||||
],
|
||||
"IntensityMode": 1,
|
||||
"Intensity": 10000.0,
|
||||
"AttenuationRadius": 21608.193359375
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[15364092815744365073]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 15364092815744365073
|
||||
},
|
||||
"Component_[2193911499802409037]": {
|
||||
"$type": "EditorCapsuleShapeComponent",
|
||||
"Id": 2193911499802409037,
|
||||
"ShapeColor": [
|
||||
0.8521705865859985,
|
||||
0.7865872979164124,
|
||||
0.6079347133636475,
|
||||
1.0
|
||||
],
|
||||
"CapsuleShape": {
|
||||
"Configuration": {
|
||||
"Height": 5.0,
|
||||
"Radius": 0.10000000149011612
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[2481373975540551564]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 2481373975540551564
|
||||
},
|
||||
"Component_[4101167782224846352]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 4101167782224846352
|
||||
},
|
||||
"Component_[8664715119660216219]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 8664715119660216219
|
||||
},
|
||||
"Component_[8952093761729701957]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 8952093761729701957,
|
||||
"VisibilityFlag": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
0,0,0,0,0,0
|
||||
@@ -0,0 +1,747 @@
|
||||
{
|
||||
"ContainerEntity": {
|
||||
"Id": "Entity_[1146574390643]",
|
||||
"Name": "Level",
|
||||
"Components": {
|
||||
"Component_[10641544592923449938]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 10641544592923449938
|
||||
},
|
||||
"Component_[12039882709170782873]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 12039882709170782873
|
||||
},
|
||||
"Component_[12265484671603697631]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 12265484671603697631
|
||||
},
|
||||
"Component_[14126657869720434043]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 14126657869720434043,
|
||||
"Child Entity Order": [
|
||||
"Entity_[1176639161715]",
|
||||
"Entity_[12685882829720]",
|
||||
"Entity_[31145534614197]"
|
||||
]
|
||||
},
|
||||
"Component_[15230859088967841193]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 15230859088967841193,
|
||||
"Parent Entity": ""
|
||||
},
|
||||
"Component_[16239496886950819870]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 16239496886950819870
|
||||
},
|
||||
"Component_[5688118765544765547]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 5688118765544765547
|
||||
},
|
||||
"Component_[6545738857812235305]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 6545738857812235305
|
||||
},
|
||||
"Component_[7247035804068349658]": {
|
||||
"$type": "EditorPrefabComponent",
|
||||
"Id": 7247035804068349658
|
||||
},
|
||||
"Component_[9307224322037797205]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 9307224322037797205
|
||||
},
|
||||
"Component_[9562516168917670048]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 9562516168917670048
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entities": {
|
||||
"Entity_[1155164325235]": {
|
||||
"Id": "Entity_[1155164325235]",
|
||||
"Name": "Sun",
|
||||
"Components": {
|
||||
"Component_[10440557478882592717]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 10440557478882592717
|
||||
},
|
||||
"Component_[13620450453324765907]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 13620450453324765907
|
||||
},
|
||||
"Component_[2134313378593666258]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 2134313378593666258
|
||||
},
|
||||
"Component_[234010807770404186]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 234010807770404186
|
||||
},
|
||||
"Component_[2970359110423865725]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 2970359110423865725
|
||||
},
|
||||
"Component_[3722854130373041803]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3722854130373041803
|
||||
},
|
||||
"Component_[5992533738676323195]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 5992533738676323195
|
||||
},
|
||||
"Component_[7378860763541895402]": {
|
||||
"$type": "AZ::Render::EditorDirectionalLightComponent",
|
||||
"Id": 7378860763541895402,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"Intensity": 1.0,
|
||||
"CameraEntityId": "",
|
||||
"ShadowFilterMethod": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[7892834440890947578]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 7892834440890947578,
|
||||
"Parent Entity": "Entity_[1176639161715]",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
0.0,
|
||||
0.0,
|
||||
13.487043380737305
|
||||
],
|
||||
"Rotate": [
|
||||
-76.13099670410156,
|
||||
-0.847000002861023,
|
||||
-15.8100004196167
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[8599729549570828259]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 8599729549570828259
|
||||
},
|
||||
"Component_[952797371922080273]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 952797371922080273
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[1159459292531]": {
|
||||
"Id": "Entity_[1159459292531]",
|
||||
"Name": "Ground",
|
||||
"Components": {
|
||||
"Component_[11701138785793981042]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 11701138785793981042
|
||||
},
|
||||
"Component_[12260880513256986252]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 12260880513256986252
|
||||
},
|
||||
"Component_[13711420870643673468]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 13711420870643673468
|
||||
},
|
||||
"Component_[138002849734991713]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 138002849734991713
|
||||
},
|
||||
"Component_[16578565737331764849]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 16578565737331764849,
|
||||
"Parent Entity": "Entity_[1176639161715]"
|
||||
},
|
||||
"Component_[16919232076966545697]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 16919232076966545697
|
||||
},
|
||||
"Component_[5182430712893438093]": {
|
||||
"$type": "EditorMaterialComponent",
|
||||
"Id": 5182430712893438093
|
||||
},
|
||||
"Component_[5675108321710651991]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 5675108321710651991,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{0CD745C0-6AA8-569A-A68A-73A3270986C4}",
|
||||
"subId": 277889906
|
||||
},
|
||||
"assetHint": "objects/groudplane/groundplane_512x512m.azmodel"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[5681893399601237518]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 5681893399601237518
|
||||
},
|
||||
"Component_[592692962543397545]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 592692962543397545
|
||||
},
|
||||
"Component_[7090012899106946164]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7090012899106946164
|
||||
},
|
||||
"Component_[9410832619875640998]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 9410832619875640998
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[1163754259827]": {
|
||||
"Id": "Entity_[1163754259827]",
|
||||
"Name": "Camera",
|
||||
"Components": {
|
||||
"Component_[11895140916889160460]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 11895140916889160460
|
||||
},
|
||||
"Component_[16880285896855930892]": {
|
||||
"$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent",
|
||||
"Id": 16880285896855930892,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"Field of View": 55.0,
|
||||
"EditorEntityId": 11050384689878106598
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[17187464423780271193]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 17187464423780271193
|
||||
},
|
||||
"Component_[17495696818315413311]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 17495696818315413311
|
||||
},
|
||||
"Component_[18086214374043522055]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 18086214374043522055,
|
||||
"Parent Entity": "Entity_[1176639161715]",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
-2.3000001907348633,
|
||||
-3.9368600845336914,
|
||||
1.0
|
||||
],
|
||||
"Rotate": [
|
||||
-2.050307512283325,
|
||||
1.9552897214889526,
|
||||
-43.623355865478516
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[18387556550380114975]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 18387556550380114975
|
||||
},
|
||||
"Component_[2654521436129313160]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 2654521436129313160
|
||||
},
|
||||
"Component_[5265045084611556958]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 5265045084611556958
|
||||
},
|
||||
"Component_[7169798125182238623]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 7169798125182238623
|
||||
},
|
||||
"Component_[7255796294953281766]": {
|
||||
"$type": "GenericComponentWrapper",
|
||||
"Id": 7255796294953281766,
|
||||
"m_template": {
|
||||
"$type": "FlyCameraInputComponent"
|
||||
}
|
||||
},
|
||||
"Component_[8866210352157164042]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 8866210352157164042
|
||||
},
|
||||
"Component_[9129253381063760879]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 9129253381063760879
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[1168049227123]": {
|
||||
"Id": "Entity_[1168049227123]",
|
||||
"Name": "Grid",
|
||||
"Components": {
|
||||
"Component_[11443347433215807130]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 11443347433215807130
|
||||
},
|
||||
"Component_[11779275529534764488]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 11779275529534764488
|
||||
},
|
||||
"Component_[14249419413039427459]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 14249419413039427459
|
||||
},
|
||||
"Component_[15448581635946161318]": {
|
||||
"$type": "AZ::Render::EditorGridComponent",
|
||||
"Id": 15448581635946161318,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"primarySpacing": 4.0,
|
||||
"primaryColor": [
|
||||
0.501960813999176,
|
||||
0.501960813999176,
|
||||
0.501960813999176
|
||||
],
|
||||
"secondarySpacing": 0.5,
|
||||
"secondaryColor": [
|
||||
0.250980406999588,
|
||||
0.250980406999588,
|
||||
0.250980406999588
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[1843303322527297409]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 1843303322527297409
|
||||
},
|
||||
"Component_[380249072065273654]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 380249072065273654,
|
||||
"Parent Entity": "Entity_[1176639161715]"
|
||||
},
|
||||
"Component_[7476660583684339787]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 7476660583684339787
|
||||
},
|
||||
"Component_[7557626501215118375]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 7557626501215118375
|
||||
},
|
||||
"Component_[7984048488947365511]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 7984048488947365511
|
||||
},
|
||||
"Component_[8118181039276487398]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 8118181039276487398
|
||||
},
|
||||
"Component_[9189909764215270515]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 9189909764215270515
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[1172344194419]": {
|
||||
"Id": "Entity_[1172344194419]",
|
||||
"Name": "Shader Ball",
|
||||
"Components": {
|
||||
"Component_[10789351944715265527]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 10789351944715265527
|
||||
},
|
||||
"Component_[12037033284781049225]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 12037033284781049225
|
||||
},
|
||||
"Component_[13759153306105970079]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 13759153306105970079
|
||||
},
|
||||
"Component_[14135560884830586279]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 14135560884830586279
|
||||
},
|
||||
"Component_[16247165675903986673]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 16247165675903986673
|
||||
},
|
||||
"Component_[18082433625958885247]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 18082433625958885247
|
||||
},
|
||||
"Component_[6472623349872972660]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 6472623349872972660,
|
||||
"Parent Entity": "Entity_[1176639161715]",
|
||||
"Transform Data": {
|
||||
"Rotate": [
|
||||
0.0,
|
||||
0.10000000149011612,
|
||||
180.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[6495255223970673916]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 6495255223970673916,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{FD340C30-755C-5911-92A3-19A3F7A77931}",
|
||||
"subId": 281415304
|
||||
},
|
||||
"assetHint": "objects/shaderball/shaderball_default_1m.azmodel"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[8056625192494070973]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 8056625192494070973
|
||||
},
|
||||
"Component_[8550141614185782969]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8550141614185782969
|
||||
},
|
||||
"Component_[9439770997198325425]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 9439770997198325425
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[1176639161715]": {
|
||||
"Id": "Entity_[1176639161715]",
|
||||
"Name": "Atom Default Environment",
|
||||
"Components": {
|
||||
"Component_[10757302973393310045]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 10757302973393310045,
|
||||
"Parent Entity": "Entity_[1146574390643]"
|
||||
},
|
||||
"Component_[14505817420424255464]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 14505817420424255464,
|
||||
"ComponentOrderEntryArray": [
|
||||
{
|
||||
"ComponentId": 10757302973393310045
|
||||
}
|
||||
]
|
||||
},
|
||||
"Component_[14988041764659020032]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 14988041764659020032
|
||||
},
|
||||
"Component_[15808690248755038124]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 15808690248755038124
|
||||
},
|
||||
"Component_[15900837685796817138]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 15900837685796817138
|
||||
},
|
||||
"Component_[3298767348226484884]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3298767348226484884
|
||||
},
|
||||
"Component_[4076975109609220594]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 4076975109609220594
|
||||
},
|
||||
"Component_[5679760548946028854]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 5679760548946028854
|
||||
},
|
||||
"Component_[5855590796136709437]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 5855590796136709437,
|
||||
"Child Entity Order": [
|
||||
"Entity_[1155164325235]",
|
||||
"Entity_[1180934129011]",
|
||||
"Entity_[1172344194419]",
|
||||
"Entity_[1168049227123]",
|
||||
"Entity_[1163754259827]",
|
||||
"Entity_[1159459292531]"
|
||||
]
|
||||
},
|
||||
"Component_[9277695270015777859]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 9277695270015777859
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[1180934129011]": {
|
||||
"Id": "Entity_[1180934129011]",
|
||||
"Name": "Global Sky",
|
||||
"Components": {
|
||||
"Component_[11231930600558681245]": {
|
||||
"$type": "AZ::Render::EditorHDRiSkyboxComponent",
|
||||
"Id": 11231930600558681245,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"CubemapAsset": {
|
||||
"assetId": {
|
||||
"guid": "{215E47FD-D181-5832-B1AB-91673ABF6399}",
|
||||
"subId": 1000
|
||||
},
|
||||
"assetHint": "lightingpresets/highcontrast/goegap_4k_skyboxcm.exr.streamingimage"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[11980494120202836095]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 11980494120202836095
|
||||
},
|
||||
"Component_[1428633914413949476]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 1428633914413949476
|
||||
},
|
||||
"Component_[14936200426671614999]": {
|
||||
"$type": "AZ::Render::EditorImageBasedLightComponent",
|
||||
"Id": 14936200426671614999,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"diffuseImageAsset": {
|
||||
"assetId": {
|
||||
"guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
|
||||
"subId": 3000
|
||||
},
|
||||
"assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_ibldiffuse.exr.streamingimage"
|
||||
},
|
||||
"specularImageAsset": {
|
||||
"assetId": {
|
||||
"guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
|
||||
"subId": 2000
|
||||
},
|
||||
"assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_iblspecular.exr.streamingimage"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[14994774102579326069]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 14994774102579326069
|
||||
},
|
||||
"Component_[15417479889044493340]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 15417479889044493340
|
||||
},
|
||||
"Component_[15826613364991382688]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 15826613364991382688
|
||||
},
|
||||
"Component_[1665003113283562343]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 1665003113283562343
|
||||
},
|
||||
"Component_[3704934735944502280]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 3704934735944502280
|
||||
},
|
||||
"Component_[5698542331457326479]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 5698542331457326479
|
||||
},
|
||||
"Component_[6644513399057217122]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 6644513399057217122,
|
||||
"Parent Entity": "Entity_[1176639161715]"
|
||||
},
|
||||
"Component_[931091830724002070]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 931091830724002070
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[12685882829720]": {
|
||||
"Id": "Entity_[12685882829720]",
|
||||
"Name": "GlobalGameData",
|
||||
"Components": {
|
||||
"Component_[11240656689650225106]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 11240656689650225106
|
||||
},
|
||||
"Component_[13863201640354873385]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 13863201640354873385
|
||||
},
|
||||
"Component_[14671754037021562789]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 14671754037021562789
|
||||
},
|
||||
"Component_[14750978061505735417]": {
|
||||
"$type": "EditorScriptCanvasComponent",
|
||||
"Id": 14750978061505735417,
|
||||
"m_name": "GlobalGameData",
|
||||
"m_assetHolder": {
|
||||
"m_asset": {
|
||||
"assetId": {
|
||||
"guid": "{B16589A0-EA01-56BC-8141-91A3967FB95F}"
|
||||
},
|
||||
"assetHint": "levels/multiplayer/autocomponent_rpc/globalgamedata.scriptcanvas"
|
||||
}
|
||||
},
|
||||
"runtimeDataIsValid": true,
|
||||
"runtimeDataOverrides": {
|
||||
"source": {
|
||||
"assetId": {
|
||||
"guid": "{B16589A0-EA01-56BC-8141-91A3967FB95F}"
|
||||
},
|
||||
"assetHint": "levels/multiplayer/autocomponent_rpc/globalgamedata.scriptcanvas"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[16436925042043744033]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 16436925042043744033,
|
||||
"Parent Entity": "Entity_[1146574390643]",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
0.0,
|
||||
0.10000038146972656,
|
||||
4.005393981933594
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[16974524495698916088]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 16974524495698916088
|
||||
},
|
||||
"Component_[2753700837834389204]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 2753700837834389204
|
||||
},
|
||||
"Component_[3766473509503096065]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 3766473509503096065
|
||||
},
|
||||
"Component_[4025955184206569130]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 4025955184206569130
|
||||
},
|
||||
"Component_[7909743395732791573]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 7909743395732791573
|
||||
},
|
||||
"Component_[9550161640684119498]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 9550161640684119498
|
||||
}
|
||||
}
|
||||
},
|
||||
"Entity_[31145534614197]": {
|
||||
"Id": "Entity_[31145534614197]",
|
||||
"Name": "NetLevelEntity",
|
||||
"Components": {
|
||||
"Component_[12132849363414901338]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 12132849363414901338
|
||||
},
|
||||
"Component_[12302672911455629152]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 12302672911455629152
|
||||
},
|
||||
"Component_[14169903623243423134]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 14169903623243423134
|
||||
},
|
||||
"Component_[14607413934411389854]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 14607413934411389854
|
||||
},
|
||||
"Component_[15396284312416541768]": {
|
||||
"$type": "GenericComponentWrapper",
|
||||
"Id": 15396284312416541768,
|
||||
"m_template": {
|
||||
"$type": "Multiplayer::LocalPredictionPlayerInputComponent"
|
||||
}
|
||||
},
|
||||
"Component_[15494977028055234270]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 15494977028055234270
|
||||
},
|
||||
"Component_[16325088972532345964]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 16325088972532345964
|
||||
},
|
||||
"Component_[1986030426392465743]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 1986030426392465743
|
||||
},
|
||||
"Component_[4591476848838823508]": {
|
||||
"$type": "AZ::Render::EditorMeshComponent",
|
||||
"Id": 4591476848838823508,
|
||||
"Controller": {
|
||||
"Configuration": {
|
||||
"ModelAsset": {
|
||||
"assetId": {
|
||||
"guid": "{80FA8BAF-4A5B-5937-9679-2E592E841A3A}",
|
||||
"subId": 275306041
|
||||
},
|
||||
"assetHint": "assets/physics/collider_pxmeshautoassigned/spherebot/r0-b_body.azmodel"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[7256163899440301540]": {
|
||||
"$type": "EditorScriptCanvasComponent",
|
||||
"Id": 7256163899440301540,
|
||||
"m_name": "AutoComponent_RPC_NetLevelEntity",
|
||||
"m_assetHolder": {
|
||||
"m_asset": {
|
||||
"assetId": {
|
||||
"guid": "{1D517006-AC01-5ECA-AE66-0E007871F0CD}"
|
||||
},
|
||||
"assetHint": "levels/multiplayer/autocomponent_rpc/autocomponent_rpc_netlevelentity.scriptcanvas"
|
||||
}
|
||||
},
|
||||
"runtimeDataIsValid": true,
|
||||
"runtimeDataOverrides": {
|
||||
"source": {
|
||||
"assetId": {
|
||||
"guid": "{1D517006-AC01-5ECA-AE66-0E007871F0CD}"
|
||||
},
|
||||
"assetHint": "levels/multiplayer/autocomponent_rpc/autocomponent_rpc_netlevelentity.scriptcanvas"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Component_[731336627222243355]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 731336627222243355,
|
||||
"Parent Entity": "Entity_[1146574390643]",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
2.561863899230957,
|
||||
-1.038161277770996,
|
||||
0.1487259864807129
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[8012379125499217348]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 8012379125499217348
|
||||
},
|
||||
"Component_[8122568562140740597]": {
|
||||
"$type": "GenericComponentWrapper",
|
||||
"Id": 8122568562140740597,
|
||||
"m_template": {
|
||||
"$type": "Multiplayer::NetworkTransformComponent"
|
||||
}
|
||||
},
|
||||
"Component_[8805228647591404845]": {
|
||||
"$type": "GenericComponentWrapper",
|
||||
"Id": 8805228647591404845,
|
||||
"m_template": {
|
||||
"$type": "NetBindComponent"
|
||||
}
|
||||
},
|
||||
"Component_[9816897251206708579]": {
|
||||
"$type": "GenericComponentWrapper",
|
||||
"Id": 9816897251206708579,
|
||||
"m_template": {
|
||||
"$type": "AutomatedTesting::NetworkTestPlayerComponent"
|
||||
}
|
||||
},
|
||||
"Component_[9880860858035405475]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 9880860858035405475
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+5019
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user