Merge branch 'development' of https://github.com/o3de/o3de into MultiplayerWeapons
This commit is contained in:
+98
-115
@@ -8,58 +8,43 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
import logging
|
||||
import os
|
||||
import pytest
|
||||
import time
|
||||
import typing
|
||||
|
||||
from datetime import datetime
|
||||
import ly_test_tools.log.log_monitor
|
||||
|
||||
# fixture imports
|
||||
from AWS.Windows.resource_mappings.resource_mappings import resource_mappings
|
||||
from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor
|
||||
from .aws_metrics_utils import aws_metrics_utils
|
||||
from .aws_metrics_custom_thread import AWSMetricsThread
|
||||
|
||||
AWS_METRICS_FEATURE_NAME = 'AWSMetrics'
|
||||
GAME_LOG_NAME = 'Game.log'
|
||||
CONTEXT_VARIABLE = ['-c', 'batch_processing=true']
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def setup(launcher: ly_test_tools.launchers.Launcher,
|
||||
cdk: pytest.fixture,
|
||||
asset_processor: asset_processor,
|
||||
resource_mappings: resource_mappings,
|
||||
context_variable: str = '') -> typing.Tuple[ly_test_tools.log.log_monitor.LogMonitor, str, str]:
|
||||
def setup(launcher: pytest.fixture,
|
||||
asset_processor: pytest.fixture) -> pytest.fixture:
|
||||
"""
|
||||
Set up the CDK application and start the log monitor.
|
||||
Set up the resource mapping configuration and start the log monitor.
|
||||
:param launcher: Client launcher for running the test level.
|
||||
:param cdk: CDK application for deploying the AWS resources.
|
||||
:param asset_processor: asset_processor fixture.
|
||||
:param resource_mappings: resource_mappings fixture.
|
||||
:param context_variable: context_variable for enable optional CDK feature.
|
||||
:return log monitor object, metrics file path and the metrics stack name.
|
||||
"""
|
||||
logger.info(f'Cdk stack names:\n{cdk.list()}')
|
||||
stacks = cdk.deploy(context_variable=context_variable)
|
||||
resource_mappings.populate_output_keys(stacks)
|
||||
|
||||
asset_processor.start()
|
||||
asset_processor.wait_for_idle()
|
||||
|
||||
metrics_file_path = os.path.join(launcher.workspace.paths.project(), 'user',
|
||||
AWS_METRICS_FEATURE_NAME, 'metrics.json')
|
||||
remove_file(metrics_file_path)
|
||||
|
||||
file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), GAME_LOG_NAME)
|
||||
remove_file(file_to_monitor)
|
||||
|
||||
# Initialize the log monitor.
|
||||
log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
|
||||
|
||||
return log_monitor, metrics_file_path, stacks[0]
|
||||
return log_monitor
|
||||
|
||||
|
||||
def monitor_metrics_submission(log_monitor: ly_test_tools.log.log_monitor.LogMonitor) -> None:
|
||||
def monitor_metrics_submission(log_monitor: pytest.fixture) -> None:
|
||||
"""
|
||||
Monitor the messages and notifications for submitting metrics.
|
||||
:param log_monitor: Log monitor to check the log messages.
|
||||
@@ -67,6 +52,7 @@ def monitor_metrics_submission(log_monitor: ly_test_tools.log.log_monitor.LogMon
|
||||
expected_lines = [
|
||||
'(Script) - Submitted metrics without buffer.',
|
||||
'(Script) - Submitted metrics with buffer.',
|
||||
'(Script) - Flushed the buffered metrics.',
|
||||
'(Script) - Metrics is sent successfully.'
|
||||
]
|
||||
|
||||
@@ -87,87 +73,132 @@ def monitor_metrics_submission(log_monitor: ly_test_tools.log.log_monitor.LogMon
|
||||
f'unexpected_lines values: {unexpected_lines}')
|
||||
|
||||
|
||||
def remove_file(file_path: str) -> None:
|
||||
def query_metrics_from_s3(aws_metrics_utils: pytest.fixture, stack_name: str) -> None:
|
||||
"""
|
||||
Remove a local file and its directory.
|
||||
:param file_path: Path to the local file.
|
||||
Verify that the metrics events are delivered to the S3 bucket and can be queried.
|
||||
aws_metrics_utils: aws_metrics_utils fixture.
|
||||
stack_name: name of the CloudFormation stack.
|
||||
"""
|
||||
if os.path.exists(file_path):
|
||||
os.remove(file_path)
|
||||
analytics_bucket_name = aws_metrics_utils.get_analytics_bucket_name(stack_name)
|
||||
aws_metrics_utils.verify_s3_delivery(analytics_bucket_name)
|
||||
logger.info('Metrics are sent to S3.')
|
||||
|
||||
file_dir = os.path.dirname(file_path)
|
||||
if os.path.exists(file_dir) and len(os.listdir(file_dir)) == 0:
|
||||
os.rmdir(file_dir)
|
||||
aws_metrics_utils.run_glue_crawler(f'{stack_name}-EventsCrawler')
|
||||
aws_metrics_utils.run_named_queries(f'{stack_name}-AthenaWorkGroup')
|
||||
logger.info('Query metrics from S3 successfully.')
|
||||
|
||||
# Empty the S3 bucket. S3 buckets can only be deleted successfully when it doesn't contain any object.
|
||||
aws_metrics_utils.empty_batch_analytics_bucket(analytics_bucket_name)
|
||||
|
||||
|
||||
def verify_operational_metrics(aws_metrics_utils: pytest.fixture, stack_name: str, start_time: datetime) -> None:
|
||||
"""
|
||||
Verify that operational health metrics are delivered to CloudWatch.
|
||||
aws_metrics_utils: aws_metrics_utils fixture.
|
||||
stack_name: name of the CloudFormation stack.
|
||||
start_time: Time when the game launcher starts.
|
||||
"""
|
||||
aws_metrics_utils.verify_cloud_watch_delivery(
|
||||
'AWS/Lambda',
|
||||
'Invocations',
|
||||
[{'Name': 'FunctionName',
|
||||
'Value': f'{stack_name}-AnalyticsProcessingLambdaName'}],
|
||||
start_time)
|
||||
logger.info('AnalyticsProcessingLambda metrics are sent to CloudWatch.')
|
||||
|
||||
aws_metrics_utils.verify_cloud_watch_delivery(
|
||||
'AWS/Lambda',
|
||||
'Invocations',
|
||||
[{'Name': 'FunctionName',
|
||||
'Value': f'{stack_name}-EventsProcessingLambda'}],
|
||||
start_time)
|
||||
logger.info('EventsProcessingLambda metrics are sent to CloudWatch.')
|
||||
|
||||
|
||||
def start_kinesis_analytics_application(aws_metrics_utils: pytest.fixture, stack_name: str) -> None:
|
||||
"""
|
||||
Start the Kinesis analytics application for real-time analytics.
|
||||
aws_metrics_utils: aws_metrics_utils fixture.
|
||||
stack_name: name of the CloudFormation stack.
|
||||
"""
|
||||
analytics_application_name = f'{stack_name}-AnalyticsApplication'
|
||||
aws_metrics_utils.start_kinesis_data_analytics_application(analytics_application_name)
|
||||
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.usefixtures('automatic_process_killer')
|
||||
@pytest.mark.parametrize('project', ['AutomatedTesting'])
|
||||
@pytest.mark.parametrize('level', ['AWS/Metrics'])
|
||||
@pytest.mark.parametrize('feature_name', [AWS_METRICS_FEATURE_NAME])
|
||||
@pytest.mark.usefixtures('resource_mappings')
|
||||
@pytest.mark.parametrize('resource_mappings_filename', ['default_aws_resource_mappings.json'])
|
||||
@pytest.mark.usefixtures('aws_credentials')
|
||||
@pytest.mark.parametrize('profile_name', ['AWSAutomationTest'])
|
||||
@pytest.mark.parametrize('region_name', ['us-west-2'])
|
||||
@pytest.mark.parametrize('assume_role_arn', ['arn:aws:iam::645075835648:role/o3de-automation-tests'])
|
||||
@pytest.mark.usefixtures('cdk')
|
||||
@pytest.mark.parametrize('session_name', ['o3de-Automation-session'])
|
||||
@pytest.mark.parametrize('deployment_params', [CONTEXT_VARIABLE])
|
||||
class TestAWSMetricsWindows(object):
|
||||
def test_realtime_analytics_metrics_sent_to_cloudwatch(self,
|
||||
level: str,
|
||||
launcher: ly_test_tools.launchers.Launcher,
|
||||
asset_processor: pytest.fixture,
|
||||
workspace: pytest.fixture,
|
||||
aws_utils: pytest.fixture,
|
||||
aws_credentials: pytest.fixture,
|
||||
resource_mappings: pytest.fixture,
|
||||
cdk: pytest.fixture,
|
||||
aws_metrics_utils: aws_metrics_utils,
|
||||
):
|
||||
"""
|
||||
Tests that the submitted metrics are sent to CloudWatch for real-time analytics.
|
||||
"""
|
||||
log_monitor, metrics_file_path, stack_name = setup(launcher, cdk, asset_processor, resource_mappings)
|
||||
"""
|
||||
Test class to verify the real-time and batch analytics for metrics.
|
||||
"""
|
||||
|
||||
# Start the Kinesis Data Analytics application for real-time analytics.
|
||||
analytics_application_name = f'{stack_name}-AnalyticsApplication'
|
||||
aws_metrics_utils.start_kinesis_data_analytics_application(analytics_application_name)
|
||||
@pytest.mark.parametrize('destroy_stacks_on_teardown', [False])
|
||||
def test_realtime_and_batch_analytics(self,
|
||||
level: str,
|
||||
launcher: pytest.fixture,
|
||||
asset_processor: pytest.fixture,
|
||||
workspace: pytest.fixture,
|
||||
aws_utils: pytest.fixture,
|
||||
cdk: pytest.fixture,
|
||||
aws_metrics_utils: pytest.fixture):
|
||||
"""
|
||||
Verify that the metrics events are sent to CloudWatch and S3 for analytics.
|
||||
"""
|
||||
# Start Kinesis analytics application on a separate thread to avoid blocking the test.
|
||||
kinesis_analytics_application_thread = AWSMetricsThread(target=start_kinesis_analytics_application,
|
||||
args=(aws_metrics_utils, cdk.stacks[0]))
|
||||
kinesis_analytics_application_thread.start()
|
||||
log_monitor = setup(launcher, asset_processor)
|
||||
|
||||
# Kinesis analytics application needs to be in the running state before we start the game launcher.
|
||||
kinesis_analytics_application_thread.join()
|
||||
launcher.args = ['+LoadLevel', level]
|
||||
launcher.args.extend(['-rhi=null'])
|
||||
|
||||
start_time = datetime.utcnow()
|
||||
with launcher.start(launch_ap=False):
|
||||
start_time = datetime.utcnow()
|
||||
monitor_metrics_submission(log_monitor)
|
||||
# Verify that operational health metrics are delivered to CloudWatch.
|
||||
aws_metrics_utils.verify_cloud_watch_delivery(
|
||||
'AWS/Lambda',
|
||||
'Invocations',
|
||||
[{'Name': 'FunctionName',
|
||||
'Value': f'{stack_name}-AnalyticsProcessingLambdaName'}],
|
||||
start_time)
|
||||
logger.info('Operational health metrics sent to CloudWatch.')
|
||||
|
||||
# Verify that real-time analytics metrics are delivered to CloudWatch.
|
||||
aws_metrics_utils.verify_cloud_watch_delivery(
|
||||
AWS_METRICS_FEATURE_NAME,
|
||||
'TotalLogins',
|
||||
[],
|
||||
start_time)
|
||||
logger.info('Real-time metrics sent to CloudWatch.')
|
||||
logger.info('Real-time metrics are sent to CloudWatch.')
|
||||
|
||||
# Stop the Kinesis Data Analytics application.
|
||||
aws_metrics_utils.stop_kinesis_data_analytics_application(analytics_application_name)
|
||||
# Run time-consuming verifications on separate threads to avoid blocking the test.
|
||||
verification_threads = list()
|
||||
verification_threads.append(
|
||||
AWSMetricsThread(target=query_metrics_from_s3, args=(aws_metrics_utils, cdk.stacks[0])))
|
||||
verification_threads.append(
|
||||
AWSMetricsThread(target=verify_operational_metrics, args=(aws_metrics_utils, cdk.stacks[0], start_time)))
|
||||
for thread in verification_threads:
|
||||
thread.start()
|
||||
for thread in verification_threads:
|
||||
thread.join()
|
||||
|
||||
@pytest.mark.parametrize('destroy_stacks_on_teardown', [True])
|
||||
def test_unauthorized_user_request_rejected(self,
|
||||
level: str,
|
||||
launcher: ly_test_tools.launchers.Launcher,
|
||||
cdk: pytest.fixture,
|
||||
aws_credentials: pytest.fixture,
|
||||
launcher: pytest.fixture,
|
||||
asset_processor: pytest.fixture,
|
||||
resource_mappings: pytest.fixture,
|
||||
workspace: pytest.fixture):
|
||||
"""
|
||||
Tests that unauthorized users cannot send metrics events to the AWS backed backend.
|
||||
Verify that unauthorized users cannot send metrics events to the AWS backed backend.
|
||||
"""
|
||||
log_monitor, metrics_file_path, stack_name = setup(launcher, cdk, asset_processor, resource_mappings)
|
||||
log_monitor = setup(launcher, asset_processor)
|
||||
|
||||
# Set invalid AWS credentials.
|
||||
launcher.args = ['+LoadLevel', level, '+cl_awsAccessKey', 'AKIAIOSFODNN7EXAMPLE',
|
||||
'+cl_awsSecretKey', 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY']
|
||||
@@ -180,51 +211,3 @@ class TestAWSMetricsWindows(object):
|
||||
halt_on_unexpected=True)
|
||||
assert result, 'Metrics events are sent successfully by unauthorized user'
|
||||
logger.info('Unauthorized user is rejected to send metrics.')
|
||||
|
||||
def test_batch_analytics_metrics_delivered_to_s3(self,
|
||||
level: str,
|
||||
launcher: ly_test_tools.launchers.Launcher,
|
||||
cdk: pytest.fixture,
|
||||
aws_credentials: pytest.fixture,
|
||||
asset_processor: pytest.fixture,
|
||||
resource_mappings: pytest.fixture,
|
||||
aws_utils: pytest.fixture,
|
||||
aws_metrics_utils: aws_metrics_utils,
|
||||
workspace: pytest.fixture):
|
||||
"""
|
||||
Tests that the submitted metrics are sent to the data lake for batch analytics.
|
||||
"""
|
||||
log_monitor, metrics_file_path, stack_name = setup(launcher, cdk, asset_processor, resource_mappings,
|
||||
context_variable='batch_processing=true')
|
||||
|
||||
analytics_bucket_name = aws_metrics_utils.get_analytics_bucket_name(stack_name)
|
||||
|
||||
launcher.args = ['+LoadLevel', level]
|
||||
launcher.args.extend(['-rhi=null'])
|
||||
|
||||
with launcher.start(launch_ap=False):
|
||||
start_time = datetime.utcnow()
|
||||
monitor_metrics_submission(log_monitor)
|
||||
# Verify that operational health metrics are delivered to CloudWatch.
|
||||
aws_metrics_utils.verify_cloud_watch_delivery(
|
||||
'AWS/Lambda',
|
||||
'Invocations',
|
||||
[{'Name': 'FunctionName',
|
||||
'Value': f'{stack_name}-EventsProcessingLambda'}],
|
||||
start_time)
|
||||
logger.info('Operational health metrics sent to CloudWatch.')
|
||||
|
||||
aws_metrics_utils.verify_s3_delivery(analytics_bucket_name)
|
||||
logger.info('Metrics sent to S3.')
|
||||
|
||||
# Run the glue crawler to populate the AWS Glue Data Catalog with tables.
|
||||
aws_metrics_utils.run_glue_crawler(f'{stack_name}-EventsCrawler')
|
||||
# Run named queries on the table to verify the batch analytics.
|
||||
aws_metrics_utils.run_named_queries(f'{stack_name}-AthenaWorkGroup')
|
||||
logger.info('Query metrics from S3 successfully.')
|
||||
|
||||
# Kinesis Data Firehose buffers incoming data before it delivers it to Amazon S3. Sleep for the
|
||||
# default interval (60s) to make sure that all the metrics are sent to the bucket before cleanup.
|
||||
time.sleep(60)
|
||||
# Empty the S3 bucket. S3 buckets can only be deleted successfully when it doesn't contain any object.
|
||||
aws_metrics_utils.empty_s3_bucket(analytics_bucket_name)
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
"""
|
||||
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
|
||||
"""
|
||||
|
||||
from threading import Thread
|
||||
|
||||
|
||||
class AWSMetricsThread(Thread):
|
||||
"""
|
||||
Custom thread for raising assertion errors on the main thread.
|
||||
"""
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
self._error = None
|
||||
|
||||
def run(self) -> None:
|
||||
try:
|
||||
super().run()
|
||||
except AssertionError as e:
|
||||
self._error = e
|
||||
|
||||
def join(self, **kwargs) -> None:
|
||||
super().join(**kwargs)
|
||||
|
||||
if self._error:
|
||||
raise AssertionError(self._error)
|
||||
@@ -13,7 +13,6 @@ import typing
|
||||
from datetime import datetime
|
||||
from botocore.exceptions import WaiterError
|
||||
|
||||
from AWS.common.aws_utils import AwsUtils
|
||||
from .aws_metrics_waiters import KinesisAnalyticsApplicationUpdatedWaiter, \
|
||||
CloudWatchMetricsDeliveredWaiter, DataLakeMetricsDeliveredWaiter, GlueCrawlerReadyWaiter
|
||||
|
||||
@@ -29,7 +28,7 @@ class AWSMetricsUtils:
|
||||
Provide utils functions for the AWSMetrics gem to interact with the deployed resources.
|
||||
"""
|
||||
|
||||
def __init__(self, aws_utils: AwsUtils):
|
||||
def __init__(self, aws_utils: pytest.fixture):
|
||||
self._aws_util = aws_utils
|
||||
|
||||
def start_kinesis_data_analytics_application(self, application_name: str) -> None:
|
||||
@@ -199,14 +198,13 @@ class AWSMetricsUtils:
|
||||
|
||||
assert state == 'SUCCEEDED', f'Failed to run the named query {named_query.get("Name", {})}'
|
||||
|
||||
def empty_s3_bucket(self, bucket_name: str) -> None:
|
||||
def empty_batch_analytics_bucket(self, bucket_name: str) -> None:
|
||||
"""
|
||||
Empty the S3 bucket following:
|
||||
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/migrations3.html
|
||||
|
||||
:param bucket_name: Name of the S3 bucket.
|
||||
"""
|
||||
|
||||
s3 = self._aws_util.resource('s3')
|
||||
bucket = s3.Bucket(bucket_name)
|
||||
|
||||
|
||||
@@ -72,15 +72,14 @@ class Cdk:
|
||||
f'\nError:{error.stderr}')
|
||||
|
||||
def setup(self, cdk_path: str, project: str, account_id: str,
|
||||
workspace: pytest.fixture, session: boto3.session.Session, bootstrap_required: bool):
|
||||
workspace: pytest.fixture, session: boto3.session.Session):
|
||||
"""
|
||||
:param cdk_path: Path where cdk app.py is stored.
|
||||
:param project: Project name used for cdk project name env variable.
|
||||
:param account_id: AWS account id to use with cdk application.
|
||||
:param workspace: ly_test_tools workspace fixture.
|
||||
:param workspace: bootstrap_required deploys bootstrap stack.
|
||||
:param session: Current boto3 session, provides credentials and region.
|
||||
"""
|
||||
|
||||
self._cdk_env = os.environ.copy()
|
||||
unique_id = uuid.uuid4().hex[-4:]
|
||||
self._cdk_env['O3DE_AWS_PROJECT_NAME'] = project[:4] + unique_id if len(project) > 4 else project + unique_id
|
||||
@@ -104,8 +103,7 @@ class Cdk:
|
||||
|
||||
logger.info(f'Installing cdk python dependencies: {output}')
|
||||
|
||||
if bootstrap_required:
|
||||
self.bootstrap()
|
||||
self.bootstrap()
|
||||
|
||||
def bootstrap(self) -> None:
|
||||
"""
|
||||
@@ -124,15 +122,19 @@ class Cdk:
|
||||
logger.warning(f'Failed creating Bootstrap stack {BOOTSTRAP_STACK_NAME} not found. '
|
||||
f'\nError:{clientError["Error"]["Message"]}')
|
||||
|
||||
def list(self) -> List[str]:
|
||||
def list(self, deployment_params: List[str] = None) -> List[str]:
|
||||
"""
|
||||
lists cdk stack names
|
||||
:return List of cdk stack names
|
||||
lists cdk stack names.
|
||||
:param deployment_params: Deployment parameters like --all can be passed in this way.
|
||||
:return List of cdk stack names.
|
||||
"""
|
||||
if not self._cdk_path:
|
||||
return []
|
||||
|
||||
list_cdk_application_cmd = ['cdk', 'list']
|
||||
if deployment_params:
|
||||
list_cdk_application_cmd.extend(deployment_params)
|
||||
|
||||
output = process_utils.check_output(
|
||||
list_cdk_application_cmd,
|
||||
cwd=self._cdk_path,
|
||||
@@ -141,36 +143,36 @@ class Cdk:
|
||||
|
||||
return output.splitlines()
|
||||
|
||||
def synthesize(self) -> None:
|
||||
def synthesize(self, deployment_params: List[str] = None) -> None:
|
||||
"""
|
||||
Synthesizes all cdk stacks
|
||||
Synthesizes all cdk stacks.
|
||||
:param deployment_params: Deployment parameters like --all can be passed in this way.
|
||||
"""
|
||||
if not self._cdk_path:
|
||||
return
|
||||
|
||||
list_cdk_application_cmd = ['cdk', 'synth']
|
||||
synth_cdk_application_cmd = ['cdk', 'synth']
|
||||
if deployment_params:
|
||||
synth_cdk_application_cmd.extend(deployment_params)
|
||||
|
||||
process_utils.check_output(
|
||||
list_cdk_application_cmd,
|
||||
synth_cdk_application_cmd,
|
||||
cwd=self._cdk_path,
|
||||
env=self._cdk_env,
|
||||
shell=True)
|
||||
|
||||
def deploy(self, context_variable: str = '', additonal_params: List[str] = None) -> List[str]:
|
||||
def deploy(self, deployment_params: List[str] = None) -> List[str]:
|
||||
"""
|
||||
Deploys all the CDK stacks.
|
||||
:param context_variable: Context variable for enabling optional features.
|
||||
:param additonal_params: Additonal parameters like --all can be passed in this way.
|
||||
:param deployment_params: Deployment parameters like --all can be passed in this way.
|
||||
:return List of deployed stack arns.
|
||||
"""
|
||||
if not self._cdk_path:
|
||||
return []
|
||||
|
||||
deploy_cdk_application_cmd = ['cdk', 'deploy', '--require-approval', 'never']
|
||||
if additonal_params:
|
||||
deploy_cdk_application_cmd.extend(additonal_params)
|
||||
if context_variable:
|
||||
deploy_cdk_application_cmd.extend(['-c', f'{context_variable}'])
|
||||
if deployment_params:
|
||||
deploy_cdk_application_cmd.extend(deployment_params)
|
||||
|
||||
output = process_utils.check_output(
|
||||
deploy_cdk_application_cmd,
|
||||
@@ -178,21 +180,23 @@ class Cdk:
|
||||
env=self._cdk_env,
|
||||
shell=True)
|
||||
|
||||
stacks = []
|
||||
for line in output.splitlines():
|
||||
line_sections = line.split('/')
|
||||
assert len(line_sections), 3
|
||||
stacks.append(line.split('/')[-2])
|
||||
self._stacks.append(line.split('/')[-2])
|
||||
|
||||
return stacks
|
||||
return self._stacks
|
||||
|
||||
def destroy(self) -> None:
|
||||
def destroy(self, deployment_params: List[str] = None) -> None:
|
||||
"""
|
||||
Destroys the cdk application.
|
||||
:param deployment_params: Deployment parameters like --all can be passed in this way.
|
||||
"""
|
||||
|
||||
logger.info(f'CDK Path {self._cdk_path}')
|
||||
destroy_cdk_application_cmd = ['cdk', 'destroy', '--all', '-f']
|
||||
destroy_cdk_application_cmd = ['cdk', 'destroy', '-f']
|
||||
if deployment_params:
|
||||
destroy_cdk_application_cmd.extend(deployment_params)
|
||||
|
||||
try:
|
||||
process_utils.check_output(
|
||||
@@ -238,3 +242,7 @@ class Cdk:
|
||||
# self._session.client('cloudformation').delete_stack(
|
||||
# StackName=BOOTSTRAP_STACK_NAME
|
||||
# )
|
||||
|
||||
@property
|
||||
def stacks(self):
|
||||
return self._stacks
|
||||
|
||||
+41
-9
@@ -10,10 +10,7 @@ import logging
|
||||
import ly_test_tools.log.log_monitor
|
||||
|
||||
# fixture imports
|
||||
from AWS.Windows.resource_mappings.resource_mappings import resource_mappings
|
||||
from AWS.Windows.cdk.cdk_utils import Cdk
|
||||
from AWS.common.aws_utils import AwsUtils
|
||||
from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor as asset_processor
|
||||
from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor
|
||||
|
||||
AWS_PROJECT_NAME = 'AWS-AutomationTest'
|
||||
AWS_CLIENT_AUTH_FEATURE_NAME = 'AWSClientAuth'
|
||||
@@ -37,11 +34,47 @@ logger = logging.getLogger(__name__)
|
||||
@pytest.mark.parametrize('region_name', ['us-west-2'])
|
||||
@pytest.mark.parametrize('assume_role_arn', ['arn:aws:iam::645075835648:role/o3de-automation-tests'])
|
||||
@pytest.mark.parametrize('session_name', ['o3de-Automation-session'])
|
||||
class TestAWSClientAuthPasswordSignIn(object):
|
||||
@pytest.mark.usefixtures('cdk')
|
||||
@pytest.mark.parametrize('deployment_params', [[]])
|
||||
class TestAWSClientAuthWindows(object):
|
||||
"""
|
||||
Test class to verify AWS Cognito IDP Password sign in and Cognito Identity pool authenticated authorization.
|
||||
Test class to verify AWS Client Auth gem features on Windows.
|
||||
"""
|
||||
|
||||
@pytest.mark.parametrize('level', ['AWS/ClientAuth'])
|
||||
@pytest.mark.parametrize('destroy_stacks_on_teardown', [False])
|
||||
def test_anonymous_credentials(self,
|
||||
level: str,
|
||||
launcher: pytest.fixture,
|
||||
resource_mappings: pytest.fixture,
|
||||
workspace: pytest.fixture,
|
||||
asset_processor: pytest.fixture
|
||||
):
|
||||
"""
|
||||
Test to verify AWS Cognito Identity pool anonymous authorization.
|
||||
|
||||
Setup: Deploys cdk and updates resource mapping file.
|
||||
Tests: Getting credentials when no credentials are configured
|
||||
Verification: Log monitor looks for success credentials log.
|
||||
"""
|
||||
asset_processor.start()
|
||||
asset_processor.wait_for_idle()
|
||||
|
||||
file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), GAME_LOG_NAME)
|
||||
log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
|
||||
|
||||
launcher.args = ['+LoadLevel', level]
|
||||
launcher.args.extend(['-rhi=null'])
|
||||
|
||||
with launcher.start(launch_ap=False):
|
||||
result = log_monitor.monitor_log_for_lines(
|
||||
expected_lines=['(Script) - Success anonymous credentials'],
|
||||
unexpected_lines=['(Script) - Fail anonymous credentials'],
|
||||
halt_on_unexpected=True,
|
||||
)
|
||||
assert result, 'Anonymous credentials fetched successfully.'
|
||||
|
||||
@pytest.mark.parametrize('destroy_stacks_on_teardown', [True])
|
||||
def test_password_signin_credentials(self,
|
||||
launcher: pytest.fixture,
|
||||
cdk: pytest.fixture,
|
||||
@@ -51,13 +84,12 @@ class TestAWSClientAuthPasswordSignIn(object):
|
||||
aws_utils: pytest.fixture
|
||||
):
|
||||
"""
|
||||
Test to verify AWS Cognito IDP Password sign in and Cognito Identity pool authenticated authorization.
|
||||
|
||||
Setup: Deploys cdk and updates resource mapping file.
|
||||
Tests: Sign up new test user, admin confirm the user, sign in and get aws credentials.
|
||||
Verification: Log monitor looks for success credentials log.
|
||||
"""
|
||||
logger.info(f'Cdk stack names:\n{cdk.list()}')
|
||||
stacks = cdk.deploy()
|
||||
resource_mappings.populate_output_keys(stacks)
|
||||
asset_processor.start()
|
||||
asset_processor.wait_for_idle()
|
||||
|
||||
-77
@@ -1,77 +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 pytest
|
||||
import os
|
||||
import logging
|
||||
import ly_test_tools.log.log_monitor
|
||||
|
||||
# fixture imports
|
||||
from AWS.Windows.resource_mappings.resource_mappings import resource_mappings
|
||||
from AWS.Windows.cdk.cdk_utils import Cdk
|
||||
from AWS.common.aws_utils import AwsUtils
|
||||
from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor as asset_processor
|
||||
|
||||
AWS_PROJECT_NAME = 'AWS-AutomationTest'
|
||||
AWS_CLIENT_AUTH_FEATURE_NAME = 'AWSClientAuth'
|
||||
AWS_CLIENT_AUTH_DEFAULT_PROFILE_NAME = 'default'
|
||||
|
||||
GAME_LOG_NAME = 'Game.log'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@pytest.mark.SUITE_periodic
|
||||
@pytest.mark.usefixtures('automatic_process_killer')
|
||||
@pytest.mark.usefixtures('asset_processor')
|
||||
@pytest.mark.usefixtures('workspace')
|
||||
@pytest.mark.parametrize('project', ['AutomatedTesting'])
|
||||
@pytest.mark.parametrize('level', ['AWS/ClientAuth'])
|
||||
@pytest.mark.usefixtures('cdk')
|
||||
@pytest.mark.parametrize('feature_name', [AWS_CLIENT_AUTH_FEATURE_NAME])
|
||||
@pytest.mark.usefixtures('resource_mappings')
|
||||
@pytest.mark.parametrize('resource_mappings_filename', ['default_aws_resource_mappings.json'])
|
||||
@pytest.mark.usefixtures('aws_utils')
|
||||
@pytest.mark.parametrize('region_name', ['us-west-2'])
|
||||
@pytest.mark.parametrize('assume_role_arn', ['arn:aws:iam::645075835648:role/o3de-automation-tests'])
|
||||
@pytest.mark.parametrize('session_name', ['o3de-Automation-session'])
|
||||
class TestAWSClientAuthAnonymousCredentials(object):
|
||||
"""
|
||||
Test class to verify AWS Cognito Identity pool anonymous authorization.
|
||||
"""
|
||||
|
||||
def test_anonymous_credentials(self,
|
||||
level: str,
|
||||
launcher: pytest.fixture,
|
||||
cdk: pytest.fixture,
|
||||
resource_mappings: pytest.fixture,
|
||||
workspace: pytest.fixture,
|
||||
asset_processor: pytest.fixture
|
||||
):
|
||||
"""
|
||||
Setup: Deploys cdk and updates resource mapping file.
|
||||
Tests: Getting AWS credentials for no signed in user.
|
||||
Verification: Log monitor looks for success credentials log.
|
||||
"""
|
||||
logger.info(f'Cdk stack names:\n{cdk.list()}')
|
||||
stacks = cdk.deploy()
|
||||
resource_mappings.populate_output_keys(stacks)
|
||||
asset_processor.start()
|
||||
asset_processor.wait_for_idle()
|
||||
|
||||
file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), GAME_LOG_NAME)
|
||||
log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
|
||||
|
||||
launcher.args = ['+LoadLevel', level]
|
||||
launcher.args.extend(['-rhi=null'])
|
||||
|
||||
with launcher.start(launch_ap=False):
|
||||
result = log_monitor.monitor_log_for_lines(
|
||||
expected_lines=['(Script) - Success anonymous credentials'],
|
||||
unexpected_lines=['(Script) - Fail anonymous credentials'],
|
||||
halt_on_unexpected=True,
|
||||
)
|
||||
assert result, 'Anonymous credentials fetched successfully.'
|
||||
+73
-115
@@ -7,7 +7,8 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
import os
|
||||
import logging
|
||||
import time
|
||||
import typing
|
||||
import shutil
|
||||
|
||||
import pytest
|
||||
import ly_test_tools
|
||||
@@ -16,7 +17,6 @@ import ly_test_tools.environment.process_utils as process_utils
|
||||
import ly_test_tools.o3de.asset_processor_utils as asset_processor_utils
|
||||
|
||||
from botocore.exceptions import ClientError
|
||||
from AWS.Windows.resource_mappings.resource_mappings import resource_mappings
|
||||
from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor
|
||||
|
||||
AWS_CORE_FEATURE_NAME = 'AWSCore'
|
||||
@@ -29,18 +29,49 @@ GAME_LOG_NAME = 'Game.log'
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def setup(launcher: pytest.fixture, cdk: pytest.fixture, resource_mappings: pytest.fixture, asset_processor: pytest.fixture):
|
||||
def setup(launcher: pytest.fixture, asset_processor: pytest.fixture) -> typing.Tuple[pytest.fixture, str]:
|
||||
"""
|
||||
Set up the resource mapping configuration and start the log monitor.
|
||||
:param launcher: Client launcher for running the test level.
|
||||
:param asset_processor: asset_processor fixture.
|
||||
:return log monitor object, metrics file path and the metrics stack name.
|
||||
"""
|
||||
# Create the temporary directory for downloading test file from S3.
|
||||
user_dir = os.path.join(launcher.workspace.paths.project(), 'user')
|
||||
s3_download_dir = os.path.join(user_dir, 's3_download')
|
||||
if not os.path.exists(s3_download_dir):
|
||||
os.makedirs(s3_download_dir)
|
||||
|
||||
asset_processor_utils.kill_asset_processor()
|
||||
logger.info(f'Cdk stack names:\n{cdk.list()}')
|
||||
stacks = cdk.deploy(additonal_params=['--all'])
|
||||
resource_mappings.populate_output_keys(stacks)
|
||||
asset_processor.start()
|
||||
asset_processor.wait_for_idle()
|
||||
|
||||
file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), GAME_LOG_NAME)
|
||||
log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
|
||||
|
||||
return log_monitor
|
||||
return log_monitor, s3_download_dir
|
||||
|
||||
|
||||
def write_test_data_to_dynamodb_table(resource_mappings: pytest.fixture, aws_utils: pytest.fixture) -> None:
|
||||
"""
|
||||
Write test data to the DynamoDB table created by the CDK application.
|
||||
:param resource_mappings: resource_mappings fixture.
|
||||
:param aws_utils: aws_utils fixture.
|
||||
"""
|
||||
table_name = resource_mappings.get_resource_name_id("AWSCore.ExampleDynamoTableOutput")
|
||||
try:
|
||||
aws_utils.client('dynamodb').put_item(
|
||||
TableName=table_name,
|
||||
Item={
|
||||
'id': {
|
||||
'S': 'Item1'
|
||||
}
|
||||
}
|
||||
)
|
||||
logger.info(f'Loaded data into table {table_name}')
|
||||
except ClientError:
|
||||
logger.exception(f'Failed to load data into table {table_name}')
|
||||
raise
|
||||
|
||||
|
||||
@pytest.mark.SUITE_periodic
|
||||
@@ -58,130 +89,57 @@ def setup(launcher: pytest.fixture, cdk: pytest.fixture, resource_mappings: pyte
|
||||
@pytest.mark.parametrize('resource_mappings_filename', [AWS_RESOURCE_MAPPING_FILE_NAME])
|
||||
@pytest.mark.usefixtures('aws_credentials')
|
||||
@pytest.mark.parametrize('profile_name', ['AWSAutomationTest'])
|
||||
@pytest.mark.usefixtures('cdk')
|
||||
@pytest.mark.parametrize('deployment_params', [['--all']])
|
||||
@pytest.mark.parametrize('destroy_stacks_on_teardown', [True])
|
||||
class TestAWSCoreAWSResourceInteraction(object):
|
||||
"""
|
||||
Test class to verify AWSCore can downloading a file from S3.
|
||||
Test class to verify the scripting behavior for the AWSCore gem.
|
||||
"""
|
||||
def test_download_from_s3(self,
|
||||
level: str,
|
||||
launcher: pytest.fixture,
|
||||
cdk: pytest.fixture,
|
||||
workspace: pytest.fixture,
|
||||
asset_processor: pytest.fixture,
|
||||
resource_mappings: pytest.fixture
|
||||
):
|
||||
|
||||
@pytest.mark.parametrize('expected_lines', [
|
||||
['(Script) - [S3] Head object request is done',
|
||||
'(Script) - [S3] Head object success: Object example.txt is found.',
|
||||
'(Script) - [S3] Get object success: Object example.txt is downloaded.',
|
||||
'(Script) - [Lambda] Completed Invoke',
|
||||
'(Script) - [Lambda] Invoke success: {"statusCode": 200, "body": {}}',
|
||||
'(Script) - [DynamoDB] Results finished']])
|
||||
@pytest.mark.parametrize('unexpected_lines', [
|
||||
['(Script) - [S3] Head object error: No response body.',
|
||||
'(Script) - [S3] Get object error: Request validation failed, output file directory doesn\'t exist.',
|
||||
'(Script) - Request validation failed, output file miss full path.',
|
||||
'(Script) - ']])
|
||||
def test_scripting_behavior(self,
|
||||
level: str,
|
||||
launcher: pytest.fixture,
|
||||
workspace: pytest.fixture,
|
||||
asset_processor: pytest.fixture,
|
||||
resource_mappings: pytest.fixture,
|
||||
aws_utils: pytest.fixture,
|
||||
expected_lines: typing.List[str],
|
||||
unexpected_lines: typing.List[str]):
|
||||
"""
|
||||
Setup: Deploys cdk and updates resource mapping file.
|
||||
Tests: Getting AWS credentials for no signed in user.
|
||||
Verification: Log monitor looks for success download. The existence and contents of the file are also verified.
|
||||
Tests: Interact with AWS S3, DynamoDB and Lambda services.
|
||||
Verification: Script canvas nodes can communicate with AWS services successfully.
|
||||
"""
|
||||
|
||||
log_monitor = setup(launcher, cdk, resource_mappings, asset_processor)
|
||||
log_monitor, s3_download_dir = setup(launcher, asset_processor)
|
||||
write_test_data_to_dynamodb_table(resource_mappings, aws_utils)
|
||||
|
||||
launcher.args = ['+LoadLevel', level]
|
||||
launcher.args.extend(['-rhi=null'])
|
||||
|
||||
user_dir = os.path.join(workspace.paths.project(), 'user')
|
||||
download_dir = os.path.join(user_dir, 's3_download')
|
||||
if not os.path.exists(download_dir):
|
||||
os.makedirs(download_dir)
|
||||
|
||||
with launcher.start(launch_ap=False):
|
||||
result = log_monitor.monitor_log_for_lines(
|
||||
expected_lines=['(Script) - [S3] Head object request is done',
|
||||
'(Script) - [S3] Head object success: Object example.txt is found.',
|
||||
'(Script) - [S3] Get object success: Object example.txt is downloaded.'],
|
||||
unexpected_lines=['(Script) - [S3] Head object error: No response body.',
|
||||
'(Script) - [S3] Get object error: Request validation failed, output file directory doesn\'t exist.'],
|
||||
expected_lines=expected_lines,
|
||||
unexpected_lines=unexpected_lines,
|
||||
halt_on_unexpected=True
|
||||
)
|
||||
|
||||
assert result, "Expected lines weren't found."
|
||||
|
||||
download_path = os.path.join(download_dir, 'output.txt')
|
||||
|
||||
file_was_downloaded = os.path.exists(download_path)
|
||||
assert os.path.exists(os.path.join(s3_download_dir, 'output.txt')), \
|
||||
'The expected file wasn\'t successfully downloaded.'
|
||||
# clean up the file directories.
|
||||
if file_was_downloaded:
|
||||
os.remove(download_path)
|
||||
os.rmdir(download_dir)
|
||||
|
||||
assert file_was_downloaded, 'The expected file wasn\'t successfully downloaded'
|
||||
|
||||
def test_invoke_lambda(self,
|
||||
level: str,
|
||||
launcher: pytest.fixture,
|
||||
cdk: pytest.fixture,
|
||||
resource_mappings: pytest.fixture,
|
||||
workspace: pytest.fixture,
|
||||
asset_processor: pytest.fixture
|
||||
):
|
||||
"""
|
||||
Setup: Deploys the CDK.
|
||||
Tests: Runs the test level.
|
||||
Verification: Searches the logs for the expected output from the example lambda.
|
||||
"""
|
||||
|
||||
log_monitor = setup(launcher, cdk, resource_mappings, asset_processor)
|
||||
|
||||
launcher.args = ['+LoadLevel', level]
|
||||
launcher.args.extend(['-rhi=null'])
|
||||
|
||||
with launcher.start(launch_ap=False):
|
||||
result = log_monitor.monitor_log_for_lines(
|
||||
expected_lines=['(Script) - [Lambda] Completed Invoke',
|
||||
'(Script) - [Lambda] Invoke success: {"statusCode": 200, "body": {}}'],
|
||||
unexpected_lines=['(Script) - Request validation failed, output file miss full path.',
|
||||
'(Script) - '],
|
||||
halt_on_unexpected=True
|
||||
)
|
||||
|
||||
assert result
|
||||
|
||||
def test_get_dynamodb_value(self,
|
||||
level: str,
|
||||
launcher: pytest.fixture,
|
||||
cdk: pytest.fixture,
|
||||
resource_mappings: pytest.fixture,
|
||||
workspace: pytest.fixture,
|
||||
asset_processor: pytest.fixture,
|
||||
aws_utils: pytest.fixture,
|
||||
):
|
||||
"""
|
||||
Setup: Deploys the CDK application
|
||||
Test: Runs a launcher with a level that loads a scriptcanvas that pulls a DynamoDB table value.
|
||||
Verification: The value is output in the logs and verified by the test.
|
||||
"""
|
||||
|
||||
def write_test_table_data():
|
||||
client = aws_utils.client('dynamodb')
|
||||
table_name = resource_mappings.get_resource_name_id("AWSCore.ExampleDynamoTableOutput")
|
||||
try:
|
||||
client.put_item(
|
||||
TableName=table_name,
|
||||
Item={
|
||||
'id': {
|
||||
'S': 'Item1'
|
||||
}
|
||||
}
|
||||
)
|
||||
logger.info(f'Loaded data into table {table_name}')
|
||||
except ClientError:
|
||||
logger.exception(f'Failed to load data into table {table_name}')
|
||||
raise
|
||||
|
||||
log_monitor = setup(launcher, cdk, resource_mappings, asset_processor)
|
||||
write_test_table_data()
|
||||
|
||||
launcher.args = ['+LoadLevel', level]
|
||||
launcher.args.extend(['-rhi=null'])
|
||||
|
||||
with launcher.start(launch_ap=False):
|
||||
result = log_monitor.monitor_log_for_lines(
|
||||
expected_lines=['(Script) - [DynamoDB] Results finished'],
|
||||
unexpected_lines=['(Script) - Request validation failed, output file miss full path.',
|
||||
'(Script) - '],
|
||||
halt_on_unexpected=True
|
||||
)
|
||||
|
||||
assert result
|
||||
shutil.rmtree(s3_download_dir)
|
||||
|
||||
@@ -6,7 +6,6 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
|
||||
import os
|
||||
from os.path import abspath
|
||||
import pytest
|
||||
import json
|
||||
import logging
|
||||
@@ -107,38 +106,3 @@ class ResourceMappings:
|
||||
|
||||
def get_resource_name_id(self, resource_key: str):
|
||||
return self._resource_mappings[AWS_RESOURCE_MAPPINGS_KEY][resource_key]['Name/ID']
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def resource_mappings(
|
||||
request: pytest.fixture,
|
||||
project: str,
|
||||
feature_name: str,
|
||||
resource_mappings_filename: str,
|
||||
workspace: pytest.fixture,
|
||||
aws_utils: pytest.fixture) -> ResourceMappings:
|
||||
"""
|
||||
Fixture for setting up resource mappings file.
|
||||
:param request: _pytest.fixtures.SubRequest class that handles getting
|
||||
a pytest fixture from a pytest function/fixture.
|
||||
:param project: Project to find resource mapping file.
|
||||
:param feature_name: AWS Gem name that is prepended to resource mapping keys.
|
||||
:param resource_mappings_filename: Name of resource mapping file.
|
||||
:param workspace: ly_test_tools workspace fixture.
|
||||
:param aws_utils: AWS utils fixture.
|
||||
:return: ResourceMappings class object.
|
||||
"""
|
||||
|
||||
path = f'{workspace.paths.engine_root()}/{project}/Config/{resource_mappings_filename}'
|
||||
logger.info(f'Resource mapping path : {path}')
|
||||
logger.info(f'Resource mapping resolved path : {abspath(path)}')
|
||||
resource_mappings_obj = ResourceMappings(abspath(path), aws_utils.assume_session().region_name, feature_name,
|
||||
aws_utils.assume_account_id(), workspace,
|
||||
aws_utils.client('cloudformation'))
|
||||
|
||||
def teardown():
|
||||
resource_mappings_obj.clear_output_keys()
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
return resource_mappings_obj
|
||||
|
||||
@@ -4,11 +4,15 @@ For complete copyright and license terms please see the LICENSE at the root of t
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
"""
|
||||
import pytest
|
||||
import logging
|
||||
from os.path import abspath
|
||||
import pytest
|
||||
import typing
|
||||
|
||||
from AWS.common.aws_utils import AwsUtils
|
||||
from AWS.common.aws_credentials import AwsCredentials
|
||||
from AWS.Windows.cdk.cdk_utils import Cdk
|
||||
from AWS.Windows.resource_mappings.resource_mappings import ResourceMappings
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -42,6 +46,41 @@ def aws_utils(
|
||||
pytest.cdk_obj = None
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def resource_mappings(
|
||||
request: pytest.fixture,
|
||||
project: str,
|
||||
feature_name: str,
|
||||
resource_mappings_filename: str,
|
||||
workspace: pytest.fixture,
|
||||
aws_utils: pytest.fixture) -> ResourceMappings:
|
||||
"""
|
||||
Fixture for setting up resource mappings file.
|
||||
:param request: _pytest.fixtures.SubRequest class that handles getting
|
||||
a pytest fixture from a pytest function/fixture.
|
||||
:param project: Project to find resource mapping file.
|
||||
:param feature_name: AWS Gem name that is prepended to resource mapping keys.
|
||||
:param resource_mappings_filename: Name of resource mapping file.
|
||||
:param workspace: ly_test_tools workspace fixture.
|
||||
:param aws_utils: AWS utils fixture.
|
||||
:return: ResourceMappings class object.
|
||||
"""
|
||||
|
||||
path = f'{workspace.paths.engine_root()}/{project}/Config/{resource_mappings_filename}'
|
||||
logger.info(f'Resource mapping path : {path}')
|
||||
logger.info(f'Resource mapping resolved path : {abspath(path)}')
|
||||
resource_mappings_obj = ResourceMappings(abspath(path), aws_utils.assume_session().region_name, feature_name,
|
||||
aws_utils.assume_account_id(), workspace,
|
||||
aws_utils.client('cloudformation'))
|
||||
|
||||
def teardown():
|
||||
resource_mappings_obj.clear_output_keys()
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
return resource_mappings_obj
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def cdk(
|
||||
request: pytest.fixture,
|
||||
@@ -49,8 +88,9 @@ def cdk(
|
||||
feature_name: str,
|
||||
workspace: pytest.fixture,
|
||||
aws_utils: pytest.fixture,
|
||||
bootstrap_required: bool = True,
|
||||
destroy_stacks_on_teardown: bool = True) -> Cdk:
|
||||
resource_mappings: pytest.fixture,
|
||||
deployment_params: typing.List[str],
|
||||
destroy_stacks_on_teardown: bool) -> Cdk:
|
||||
"""
|
||||
Fixture for setting up a Cdk
|
||||
:param request: _pytest.fixtures.SubRequest class that handles getting
|
||||
@@ -59,8 +99,8 @@ def cdk(
|
||||
:param feature_name: Feature gem name to expect cdk folder in.
|
||||
:param workspace: ly_test_tools workspace fixture.
|
||||
:param aws_utils: aws_utils fixture.
|
||||
:param bootstrap_required: Whether the bootstrap stack needs to be created to
|
||||
provision resources the AWS CDK needs to perform the deployment.
|
||||
:param resource_mappings: resource_mappings fixture.
|
||||
:param deployment_params: Parameters for the CDK application deployment.
|
||||
:param destroy_stacks_on_teardown: option to control calling destroy ot the end of test.
|
||||
:return Cdk class object.
|
||||
"""
|
||||
@@ -70,22 +110,27 @@ def cdk(
|
||||
|
||||
if pytest.cdk_obj is None:
|
||||
pytest.cdk_obj = Cdk()
|
||||
pytest.cdk_obj.setup(cdk_path, project, aws_utils.assume_account_id(), workspace, aws_utils.assume_session())
|
||||
|
||||
stacks = pytest.cdk_obj.deploy(deployment_params=deployment_params)
|
||||
|
||||
logger.info(f'Cdk stack names:\n{stacks}')
|
||||
resource_mappings.populate_output_keys(stacks)
|
||||
|
||||
pytest.cdk_obj.setup(cdk_path, project, aws_utils.assume_account_id(), workspace, aws_utils.assume_session(),
|
||||
bootstrap_required)
|
||||
def teardown():
|
||||
if destroy_stacks_on_teardown:
|
||||
pytest.cdk_obj.destroy()
|
||||
pytest.cdk_obj.destroy(deployment_params=deployment_params)
|
||||
# Enable after https://github.com/aws/aws-cdk/issues/986 is fixed.
|
||||
# Until then clean the bootstrap bucket manually.
|
||||
# cdk_obj.remove_bootstrap_stack()
|
||||
# pytest.cdk_obj.remove_bootstrap_stack()
|
||||
|
||||
pytest.cdk_obj = None
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
return pytest.cdk_obj
|
||||
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def aws_credentials(request: pytest.fixture, aws_utils: pytest.fixture, profile_name: str):
|
||||
"""
|
||||
|
||||
+8
-11528
File diff suppressed because it is too large
Load Diff
+93
-3
@@ -1,13 +1,23 @@
|
||||
ProductName: OneMeshOneMaterial.dbgsg
|
||||
debugSceneGraphVersion: 1
|
||||
OneMeshOneMaterial
|
||||
Node Name: Cube
|
||||
Node Path: RootNode.Cube
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
FaceList: Count 12. Hash: 17730128541777770264
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: Cube_optimized
|
||||
Node Path: RootNode.Cube_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cube.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -16,30 +26,110 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cube.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 1622169145591646736
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: CubeMaterial
|
||||
Node Path: RootNode.Cube.CubeMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: CubeMaterial
|
||||
UniqueId: 40
|
||||
UniqueId: 973942033197978066
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.200000, 0.200000, 0.200000>
|
||||
SpecularColor: < 0.800000, 0.800000, 0.800000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 36.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: OneMeshOneMaterial/FBXTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: OneMeshOneMaterial/FBXTestTexture.png
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 13438447437797057049
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 11372562338897179017
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cube_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 1622169145591646736
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 13438447437797057049
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 11372562338897179017
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cube_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: CubeMaterial
|
||||
Node Path: RootNode.Cube_optimized.CubeMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: CubeMaterial
|
||||
UniqueId: 973942033197978066
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.800000, 0.800000, 0.800000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 36.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: OneMeshOneMaterial/FBXTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: OneMeshOneMaterial/FBXTestTexture.png
|
||||
|
||||
|
||||
+404
-11
@@ -1,20 +1,23 @@
|
||||
ProductName: lodtest.dbgsg
|
||||
debugSceneGraphVersion: 1
|
||||
lodtest
|
||||
Node Name: lodtest
|
||||
Node Path: RootNode.lodtest
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
FaceList: Count 12. Hash: 17730128541777770264
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: lodtest_lod3
|
||||
Node Path: RootNode.lodtest_lod3
|
||||
Node Type: MeshData
|
||||
Positions: Count 1984. Hash: 6600975913707260286
|
||||
Normals: Count 1984. Hash: 2708036977889843831
|
||||
FaceList: Count 960. Hash: 18299150252135919020
|
||||
FaceList: Count 960. Hash: 10390417165025722786
|
||||
FaceMaterialIds: Count 960. Hash: 12510609185544665964
|
||||
|
||||
Node Name: lodtest_lod2
|
||||
Node Path: RootNode.lodtest_lod2
|
||||
Node Type: MeshData
|
||||
Positions: Count 240. Hash: 219362421205407416
|
||||
@@ -22,13 +25,47 @@ Node Type: MeshData
|
||||
FaceList: Count 80. Hash: 11130917988116538993
|
||||
FaceMaterialIds: Count 80. Hash: 4190892684086530065
|
||||
|
||||
Node Name: lodtest_lod1
|
||||
Node Path: RootNode.lodtest_lod1
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 1283526254311745349
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 4139150512255795252
|
||||
FaceList: Count 124. Hash: 3728991722746136013
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: lodtest_optimized
|
||||
Node Path: RootNode.lodtest_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: lodtest_lod3_optimized
|
||||
Node Path: RootNode.lodtest_lod3_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 1984. Hash: 6600975913707260286
|
||||
Normals: Count 1984. Hash: 2708036977889843831
|
||||
FaceList: Count 960. Hash: 10390417165025722786
|
||||
FaceMaterialIds: Count 960. Hash: 12510609185544665964
|
||||
|
||||
Node Name: lodtest_lod2_optimized
|
||||
Node Path: RootNode.lodtest_lod2_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 240. Hash: 219362421205407416
|
||||
Normals: Count 240. Hash: 11195242321181199939
|
||||
FaceList: Count 80. Hash: 11130917988116538993
|
||||
FaceMaterialIds: Count 80. Hash: 4190892684086530065
|
||||
|
||||
Node Name: lodtest_lod1_optimized
|
||||
Node Path: RootNode.lodtest_lod1_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 7921557352486854444
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 18311637590974204568
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.lodtest.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -37,33 +74,56 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.lodtest.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 1622169145591646736
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: Material
|
||||
Node Path: RootNode.lodtest.Material
|
||||
Node Type: MaterialData
|
||||
MaterialName: Material
|
||||
UniqueId: 41
|
||||
UniqueId: 11127505492038345244
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.200000, 0.200000, 0.200000>
|
||||
SpecularColor: < 0.800000, 0.800000, 0.800000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 36.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 13438447437797057049
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 11372562338897179017
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.lodtest_lod3.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -72,22 +132,56 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 2.298166, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.lodtest_lod3.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 1984. Hash: 14119273880200542497
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: DefaultMaterial
|
||||
Node Path: RootNode.lodtest_lod3.DefaultMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: DefaultMaterial
|
||||
UniqueId: 3809502407269006983
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.000000, 0.000000, 0.000000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 0.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod3.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 1984. Hash: 18230617734432580484
|
||||
Tangents: Count 1984. Hash: 5664494957869921957
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod3.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 1984. Hash: 1758062968819667297
|
||||
Bitangents: Count 1984. Hash: 5048878728906162461
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.lodtest_lod2.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -96,22 +190,56 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, -2.211498, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.lodtest_lod2.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 240. Hash: 13702273589593616598
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: DefaultMaterial
|
||||
Node Path: RootNode.lodtest_lod2.DefaultMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: DefaultMaterial
|
||||
UniqueId: 3809502407269006983
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.000000, 0.000000, 0.000000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 0.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod2.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 240. Hash: 12143450499217075227
|
||||
Tangents: Count 240. Hash: 1390901212717410749
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod2.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 240. Hash: 2933938440535428567
|
||||
Bitangents: Count 240. Hash: 1379238632949267281
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.lodtest_lod1.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -120,19 +248,284 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 2.410331, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.lodtest_lod1.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 192. Hash: 27253578623892681
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: DefaultMaterial
|
||||
Node Path: RootNode.lodtest_lod1.DefaultMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: DefaultMaterial
|
||||
UniqueId: 3809502407269006983
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.000000, 0.000000, 0.000000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 0.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod1.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 5663634855689915515
|
||||
Tangents: Count 192. Hash: 11165448242141781141
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod1.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 10115392016288328891
|
||||
Bitangents: Count 192. Hash: 7987814487334449536
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.lodtest_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 1622169145591646736
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 13438447437797057049
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 11372562338897179017
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.lodtest_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: Material
|
||||
Node Path: RootNode.lodtest_optimized.Material
|
||||
Node Type: MaterialData
|
||||
MaterialName: Material
|
||||
UniqueId: 11127505492038345244
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.800000, 0.800000, 0.800000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 36.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.lodtest_lod3_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 1984. Hash: 14119273880200542497
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod3_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 1984. Hash: 5664494957869921957
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod3_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 1984. Hash: 5048878728906162461
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.lodtest_lod3_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 2.298166, 0.000000>
|
||||
|
||||
Node Name: DefaultMaterial
|
||||
Node Path: RootNode.lodtest_lod3_optimized.DefaultMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: DefaultMaterial
|
||||
UniqueId: 3809502407269006983
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.000000, 0.000000, 0.000000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 0.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.lodtest_lod2_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 240. Hash: 13702273589593616598
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod2_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 240. Hash: 1390901212717410749
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod2_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 240. Hash: 1379238632949267281
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.lodtest_lod2_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, -0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, -2.211498, 0.000000>
|
||||
|
||||
Node Name: DefaultMaterial
|
||||
Node Path: RootNode.lodtest_lod2_optimized.DefaultMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: DefaultMaterial
|
||||
UniqueId: 3809502407269006983
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.000000, 0.000000, 0.000000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 0.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.lodtest_lod1_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 192. Hash: 13790301632763350589
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod1_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 7293001660047850407
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.lodtest_lod1_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 2874689498270494796
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.lodtest_lod1_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 2.410331, 0.000000, 0.000000>
|
||||
|
||||
Node Name: DefaultMaterial
|
||||
Node Path: RootNode.lodtest_lod1_optimized.DefaultMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: DefaultMaterial
|
||||
UniqueId: 3809502407269006983
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.000000, 0.000000, 0.000000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 0.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
|
||||
+140
-4
@@ -1,20 +1,31 @@
|
||||
ProductName: physicstest.dbgsg
|
||||
debugSceneGraphVersion: 1
|
||||
physicstest
|
||||
Node Name: Cone
|
||||
Node Path: RootNode.Cone
|
||||
Node Type: MeshData
|
||||
Positions: Count 128. Hash: 7714223793259938211
|
||||
Normals: Count 128. Hash: 2352668179264002707
|
||||
FaceList: Count 62. Hash: 501739282148426083
|
||||
FaceList: Count 62. Hash: 14563017593520122982
|
||||
FaceMaterialIds: Count 62. Hash: 12234218120113875284
|
||||
|
||||
Node Name: Cube_phys
|
||||
Node Path: RootNode.Cube_phys
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 3478903613105670818
|
||||
Normals: Count 24. Hash: 7251512570672401149
|
||||
FaceList: Count 12. Hash: 17730128541777770264
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: Cone_optimized
|
||||
Node Path: RootNode.Cone_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 128. Hash: 10174710861731544050
|
||||
Normals: Count 128. Hash: 2352668179264002707
|
||||
FaceList: Count 62. Hash: 11332459830831720586
|
||||
FaceMaterialIds: Count 62. Hash: 12234218120113875284
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cone.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -23,22 +34,56 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cone.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 128. Hash: 10171083346831193808
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: DefaultMaterial
|
||||
Node Path: RootNode.Cone.DefaultMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: DefaultMaterial
|
||||
UniqueId: 3809502407269006983
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.000000, 0.000000, 0.000000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 0.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cone.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 128. Hash: 7061767882345696031
|
||||
Tangents: Count 128. Hash: 14351734474754285313
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cone.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 128. Hash: 12648628819656324550
|
||||
Bitangents: Count 128. Hash: 15997251922861304891
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cube_phys.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -47,19 +92,110 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cube_phys.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 13623018071435219250
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: DefaultMaterial
|
||||
Node Path: RootNode.Cube_phys.DefaultMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: DefaultMaterial
|
||||
UniqueId: 3809502407269006983
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.000000, 0.000000, 0.000000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 0.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube_phys.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 11965897353301448436
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube_phys.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 17515781720544086759
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cone_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 128. Hash: 7873368003484215433
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cone_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 128. Hash: 12937806066914201637
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cone_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 128. Hash: 873786942732834087
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cone_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: DefaultMaterial
|
||||
Node Path: RootNode.Cone_optimized.DefaultMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: DefaultMaterial
|
||||
UniqueId: 3809502407269006983
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.000000, 0.000000, 0.000000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 0.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture:
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture:
|
||||
|
||||
|
||||
-756
@@ -5,788 +5,32 @@ Node Name: Cube
|
||||
Node Path: RootNode.Cube
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
0: <-0.010000, 0.010000, 0.010000>
|
||||
1: < 0.010000, 0.010000, 0.010000>
|
||||
2: < 0.010000, 0.010000, -0.010000>
|
||||
3: <-0.010000, 0.010000, -0.010000>
|
||||
4: <-0.010000, -0.010000, -0.010000>
|
||||
5: <-0.010000, 0.010000, -0.010000>
|
||||
6: < 0.010000, 0.010000, -0.010000>
|
||||
7: < 0.010000, -0.010000, -0.010000>
|
||||
8: < 0.010000, -0.010000, -0.010000>
|
||||
9: < 0.010000, 0.010000, -0.010000>
|
||||
10: < 0.010000, 0.010000, 0.010000>
|
||||
11: < 0.010000, -0.010000, 0.010000>
|
||||
12: < 0.010000, -0.010000, 0.010000>
|
||||
13: <-0.010000, -0.010000, 0.010000>
|
||||
14: <-0.010000, -0.010000, -0.010000>
|
||||
15: < 0.010000, -0.010000, -0.010000>
|
||||
16: <-0.010000, -0.010000, 0.010000>
|
||||
17: <-0.010000, 0.010000, 0.010000>
|
||||
18: <-0.010000, 0.010000, -0.010000>
|
||||
19: <-0.010000, -0.010000, -0.010000>
|
||||
20: < 0.010000, -0.010000, 0.010000>
|
||||
21: < 0.010000, 0.010000, 0.010000>
|
||||
22: <-0.010000, 0.010000, 0.010000>
|
||||
23: <-0.010000, -0.010000, 0.010000>
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
0: < 0.000000, 1.000000, 0.000000>
|
||||
1: < 0.000000, 1.000000, 0.000000>
|
||||
2: < 0.000000, 1.000000, 0.000000>
|
||||
3: < 0.000000, 1.000000, 0.000000>
|
||||
4: < 0.000000, 0.000000, -1.000000>
|
||||
5: < 0.000000, 0.000000, -1.000000>
|
||||
6: < 0.000000, 0.000000, -1.000000>
|
||||
7: < 0.000000, 0.000000, -1.000000>
|
||||
8: < 1.000000, 0.000000, 0.000000>
|
||||
9: < 1.000000, 0.000000, 0.000000>
|
||||
10: < 1.000000, 0.000000, 0.000000>
|
||||
11: < 1.000000, 0.000000, 0.000000>
|
||||
12: < 0.000000, -1.000000, 0.000000>
|
||||
13: < 0.000000, -1.000000, 0.000000>
|
||||
14: < 0.000000, -1.000000, 0.000000>
|
||||
15: < 0.000000, -1.000000, 0.000000>
|
||||
16: <-1.000000, 0.000000, 0.000000>
|
||||
17: <-1.000000, 0.000000, 0.000000>
|
||||
18: <-1.000000, 0.000000, 0.000000>
|
||||
19: <-1.000000, 0.000000, 0.000000>
|
||||
20: < 0.000000, 0.000000, 1.000000>
|
||||
21: < 0.000000, 0.000000, 1.000000>
|
||||
22: < 0.000000, 0.000000, 1.000000>
|
||||
23: < 0.000000, 0.000000, 1.000000>
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
0: 0, 1, 2,
|
||||
1: 0, 2, 3,
|
||||
2: 4, 5, 6,
|
||||
3: 4, 6, 7,
|
||||
4: 8, 9, 10,
|
||||
5: 8, 10, 11,
|
||||
6: 12, 13, 14,
|
||||
7: 12, 14, 15,
|
||||
8: 16, 17, 18,
|
||||
9: 16, 18, 19,
|
||||
10: 20, 21, 22,
|
||||
11: 20, 22, 23,
|
||||
FaceMaterialIds: Count 12. Hash: 7113802799051126666
|
||||
|
||||
Node Name: Cone
|
||||
Node Path: RootNode.Cone
|
||||
Node Type: MeshData
|
||||
Positions: Count 128. Hash: 12506421592104186200
|
||||
0: < 0.000000, -0.010000, 0.010000>
|
||||
1: < 0.000000, 0.010000, 0.000000>
|
||||
2: <-0.001951, -0.010000, 0.009808>
|
||||
3: <-0.001951, -0.010000, 0.009808>
|
||||
4: < 0.000000, 0.010000, 0.000000>
|
||||
5: <-0.003827, -0.010000, 0.009239>
|
||||
6: <-0.003827, -0.010000, 0.009239>
|
||||
7: < 0.000000, 0.010000, 0.000000>
|
||||
8: <-0.005556, -0.010000, 0.008315>
|
||||
9: <-0.005556, -0.010000, 0.008315>
|
||||
10: < 0.000000, 0.010000, 0.000000>
|
||||
11: <-0.007071, -0.010000, 0.007071>
|
||||
12: <-0.007071, -0.010000, 0.007071>
|
||||
13: < 0.000000, 0.010000, 0.000000>
|
||||
14: <-0.008315, -0.010000, 0.005556>
|
||||
15: <-0.008315, -0.010000, 0.005556>
|
||||
16: < 0.000000, 0.010000, 0.000000>
|
||||
17: <-0.009239, -0.010000, 0.003827>
|
||||
18: <-0.009239, -0.010000, 0.003827>
|
||||
19: < 0.000000, 0.010000, 0.000000>
|
||||
20: <-0.009808, -0.010000, 0.001951>
|
||||
21: < 0.009808, -0.010000, 0.001951>
|
||||
22: < 0.000000, 0.010000, 0.000000>
|
||||
23: < 0.009239, -0.010000, 0.003827>
|
||||
24: < 0.009239, -0.010000, 0.003827>
|
||||
25: < 0.000000, 0.010000, 0.000000>
|
||||
26: < 0.008315, -0.010000, 0.005556>
|
||||
27: < 0.008315, -0.010000, 0.005556>
|
||||
28: < 0.000000, 0.010000, 0.000000>
|
||||
29: < 0.007071, -0.010000, 0.007071>
|
||||
30: < 0.007071, -0.010000, 0.007071>
|
||||
31: < 0.000000, 0.010000, 0.000000>
|
||||
32: < 0.005556, -0.010000, 0.008315>
|
||||
33: < 0.005556, -0.010000, 0.008315>
|
||||
34: < 0.000000, 0.010000, 0.000000>
|
||||
35: < 0.003827, -0.010000, 0.009239>
|
||||
36: < 0.000000, -0.010000, 0.010000>
|
||||
37: <-0.001951, -0.010000, 0.009808>
|
||||
38: <-0.003827, -0.010000, 0.009239>
|
||||
39: <-0.005556, -0.010000, 0.008315>
|
||||
40: <-0.007071, -0.010000, 0.007071>
|
||||
41: <-0.008315, -0.010000, 0.005556>
|
||||
42: <-0.009239, -0.010000, 0.003827>
|
||||
43: <-0.009808, -0.010000, 0.001951>
|
||||
44: <-0.010000, -0.010000, 0.000000>
|
||||
45: <-0.009808, -0.010000, -0.001951>
|
||||
46: <-0.009239, -0.010000, -0.003827>
|
||||
47: <-0.008315, -0.010000, -0.005556>
|
||||
48: <-0.007071, -0.010000, -0.007071>
|
||||
49: <-0.005556, -0.010000, -0.008315>
|
||||
50: <-0.003827, -0.010000, -0.009239>
|
||||
51: <-0.001951, -0.010000, -0.009808>
|
||||
52: < 0.000000, -0.010000, -0.010000>
|
||||
53: < 0.001951, -0.010000, -0.009808>
|
||||
54: < 0.003827, -0.010000, -0.009239>
|
||||
55: < 0.005556, -0.010000, -0.008315>
|
||||
56: < 0.007071, -0.010000, -0.007071>
|
||||
57: < 0.008315, -0.010000, -0.005556>
|
||||
58: < 0.009239, -0.010000, -0.003827>
|
||||
59: < 0.009808, -0.010000, -0.001951>
|
||||
60: < 0.010000, -0.010000, 0.000000>
|
||||
61: < 0.009808, -0.010000, 0.001951>
|
||||
62: < 0.009239, -0.010000, 0.003827>
|
||||
63: < 0.008315, -0.010000, 0.005556>
|
||||
64: < 0.007071, -0.010000, 0.007071>
|
||||
65: < 0.005556, -0.010000, 0.008315>
|
||||
66: < 0.003827, -0.010000, 0.009239>
|
||||
67: < 0.001951, -0.010000, 0.009808>
|
||||
68: < 0.003827, -0.010000, 0.009239>
|
||||
69: < 0.000000, 0.010000, 0.000000>
|
||||
70: < 0.001951, -0.010000, 0.009808>
|
||||
71: < 0.001951, -0.010000, 0.009808>
|
||||
72: < 0.000000, 0.010000, 0.000000>
|
||||
73: < 0.000000, -0.010000, 0.010000>
|
||||
74: <-0.009808, -0.010000, 0.001951>
|
||||
75: < 0.000000, 0.010000, 0.000000>
|
||||
76: <-0.010000, -0.010000, 0.000000>
|
||||
77: <-0.010000, -0.010000, 0.000000>
|
||||
78: < 0.000000, 0.010000, 0.000000>
|
||||
79: <-0.009808, -0.010000, -0.001951>
|
||||
80: <-0.009808, -0.010000, -0.001951>
|
||||
81: < 0.000000, 0.010000, 0.000000>
|
||||
82: <-0.009239, -0.010000, -0.003827>
|
||||
83: <-0.009239, -0.010000, -0.003827>
|
||||
84: < 0.000000, 0.010000, 0.000000>
|
||||
85: <-0.008315, -0.010000, -0.005556>
|
||||
86: <-0.008315, -0.010000, -0.005556>
|
||||
87: < 0.000000, 0.010000, 0.000000>
|
||||
88: <-0.007071, -0.010000, -0.007071>
|
||||
89: <-0.007071, -0.010000, -0.007071>
|
||||
90: < 0.000000, 0.010000, 0.000000>
|
||||
91: <-0.005556, -0.010000, -0.008315>
|
||||
92: <-0.005556, -0.010000, -0.008315>
|
||||
93: < 0.000000, 0.010000, 0.000000>
|
||||
94: <-0.003827, -0.010000, -0.009239>
|
||||
95: <-0.003827, -0.010000, -0.009239>
|
||||
96: < 0.000000, 0.010000, 0.000000>
|
||||
97: <-0.001951, -0.010000, -0.009808>
|
||||
98: <-0.001951, -0.010000, -0.009808>
|
||||
99: < 0.000000, 0.010000, 0.000000>
|
||||
100: < 0.000000, -0.010000, -0.010000>
|
||||
101: < 0.000000, -0.010000, -0.010000>
|
||||
102: < 0.000000, 0.010000, 0.000000>
|
||||
103: < 0.001951, -0.010000, -0.009808>
|
||||
104: < 0.001951, -0.010000, -0.009808>
|
||||
105: < 0.000000, 0.010000, 0.000000>
|
||||
106: < 0.003827, -0.010000, -0.009239>
|
||||
107: < 0.003827, -0.010000, -0.009239>
|
||||
108: < 0.000000, 0.010000, 0.000000>
|
||||
109: < 0.005556, -0.010000, -0.008315>
|
||||
110: < 0.005556, -0.010000, -0.008315>
|
||||
111: < 0.000000, 0.010000, 0.000000>
|
||||
112: < 0.007071, -0.010000, -0.007071>
|
||||
113: < 0.007071, -0.010000, -0.007071>
|
||||
114: < 0.000000, 0.010000, 0.000000>
|
||||
115: < 0.008315, -0.010000, -0.005556>
|
||||
116: < 0.008315, -0.010000, -0.005556>
|
||||
117: < 0.000000, 0.010000, 0.000000>
|
||||
118: < 0.009239, -0.010000, -0.003827>
|
||||
119: < 0.009239, -0.010000, -0.003827>
|
||||
120: < 0.000000, 0.010000, 0.000000>
|
||||
121: < 0.009808, -0.010000, -0.001951>
|
||||
122: < 0.009808, -0.010000, -0.001951>
|
||||
123: < 0.000000, 0.010000, 0.000000>
|
||||
124: < 0.010000, -0.010000, 0.000000>
|
||||
125: < 0.010000, -0.010000, 0.000000>
|
||||
126: < 0.000000, 0.010000, 0.000000>
|
||||
127: < 0.009808, -0.010000, 0.001951>
|
||||
Normals: Count 128. Hash: 367461522682321485
|
||||
0: <-0.087754, 0.445488, 0.890977>
|
||||
1: <-0.087754, 0.445488, 0.890977>
|
||||
2: <-0.087754, 0.445488, 0.890977>
|
||||
3: <-0.259888, 0.445488, 0.856737>
|
||||
4: <-0.259888, 0.445488, 0.856737>
|
||||
5: <-0.259888, 0.445488, 0.856737>
|
||||
6: <-0.422036, 0.445488, 0.789573>
|
||||
7: <-0.422036, 0.445488, 0.789573>
|
||||
8: <-0.422036, 0.445488, 0.789573>
|
||||
9: <-0.567965, 0.445488, 0.692067>
|
||||
10: <-0.567965, 0.445488, 0.692067>
|
||||
11: <-0.567965, 0.445488, 0.692067>
|
||||
12: <-0.692067, 0.445488, 0.567965>
|
||||
13: <-0.692067, 0.445488, 0.567965>
|
||||
14: <-0.692067, 0.445488, 0.567965>
|
||||
15: <-0.789573, 0.445488, 0.422036>
|
||||
16: <-0.789573, 0.445488, 0.422036>
|
||||
17: <-0.789573, 0.445488, 0.422036>
|
||||
18: <-0.856737, 0.445488, 0.259888>
|
||||
19: <-0.856737, 0.445488, 0.259888>
|
||||
20: <-0.856737, 0.445488, 0.259888>
|
||||
21: < 0.856737, 0.445488, 0.259889>
|
||||
22: < 0.856737, 0.445488, 0.259889>
|
||||
23: < 0.856737, 0.445488, 0.259889>
|
||||
24: < 0.789573, 0.445488, 0.422037>
|
||||
25: < 0.789573, 0.445488, 0.422037>
|
||||
26: < 0.789573, 0.445488, 0.422037>
|
||||
27: < 0.692066, 0.445488, 0.567966>
|
||||
28: < 0.692066, 0.445488, 0.567966>
|
||||
29: < 0.692066, 0.445488, 0.567966>
|
||||
30: < 0.567964, 0.445488, 0.692067>
|
||||
31: < 0.567964, 0.445488, 0.692067>
|
||||
32: < 0.567964, 0.445488, 0.692067>
|
||||
33: < 0.422035, 0.445488, 0.789574>
|
||||
34: < 0.422035, 0.445488, 0.789574>
|
||||
35: < 0.422035, 0.445488, 0.789574>
|
||||
36: <-0.000000, -1.000000, 0.000000>
|
||||
37: <-0.000000, -1.000000, 0.000000>
|
||||
38: <-0.000000, -1.000000, 0.000000>
|
||||
39: <-0.000000, -1.000000, 0.000000>
|
||||
40: <-0.000000, -1.000000, 0.000000>
|
||||
41: <-0.000000, -1.000000, 0.000000>
|
||||
42: <-0.000000, -1.000000, 0.000000>
|
||||
43: <-0.000000, -1.000000, 0.000000>
|
||||
44: <-0.000000, -1.000000, 0.000000>
|
||||
45: <-0.000000, -1.000000, 0.000000>
|
||||
46: <-0.000000, -1.000000, 0.000000>
|
||||
47: <-0.000000, -1.000000, 0.000000>
|
||||
48: <-0.000000, -1.000000, 0.000000>
|
||||
49: <-0.000000, -1.000000, 0.000000>
|
||||
50: <-0.000000, -1.000000, 0.000000>
|
||||
51: <-0.000000, -1.000000, 0.000000>
|
||||
52: <-0.000000, -1.000000, 0.000000>
|
||||
53: <-0.000000, -1.000000, 0.000000>
|
||||
54: <-0.000000, -1.000000, 0.000000>
|
||||
55: <-0.000000, -1.000000, 0.000000>
|
||||
56: <-0.000000, -1.000000, 0.000000>
|
||||
57: <-0.000000, -1.000000, 0.000000>
|
||||
58: <-0.000000, -1.000000, 0.000000>
|
||||
59: <-0.000000, -1.000000, 0.000000>
|
||||
60: <-0.000000, -1.000000, 0.000000>
|
||||
61: <-0.000000, -1.000000, 0.000000>
|
||||
62: <-0.000000, -1.000000, 0.000000>
|
||||
63: <-0.000000, -1.000000, 0.000000>
|
||||
64: <-0.000000, -1.000000, 0.000000>
|
||||
65: <-0.000000, -1.000000, 0.000000>
|
||||
66: <-0.000000, -1.000000, 0.000000>
|
||||
67: <-0.000000, -1.000000, 0.000000>
|
||||
68: < 0.259887, 0.445488, 0.856737>
|
||||
69: < 0.259887, 0.445488, 0.856737>
|
||||
70: < 0.259887, 0.445488, 0.856737>
|
||||
71: < 0.087753, 0.445488, 0.890977>
|
||||
72: < 0.087753, 0.445488, 0.890977>
|
||||
73: < 0.087753, 0.445488, 0.890977>
|
||||
74: <-0.890977, 0.445488, 0.087754>
|
||||
75: <-0.890977, 0.445488, 0.087754>
|
||||
76: <-0.890977, 0.445488, 0.087754>
|
||||
77: <-0.890977, 0.445488, -0.087753>
|
||||
78: <-0.890977, 0.445488, -0.087753>
|
||||
79: <-0.890977, 0.445488, -0.087753>
|
||||
80: <-0.856737, 0.445488, -0.259888>
|
||||
81: <-0.856737, 0.445488, -0.259888>
|
||||
82: <-0.856737, 0.445488, -0.259888>
|
||||
83: <-0.789573, 0.445488, -0.422035>
|
||||
84: <-0.789573, 0.445488, -0.422035>
|
||||
85: <-0.789573, 0.445488, -0.422035>
|
||||
86: <-0.692067, 0.445488, -0.567965>
|
||||
87: <-0.692067, 0.445488, -0.567965>
|
||||
88: <-0.692067, 0.445488, -0.567965>
|
||||
89: <-0.567965, 0.445488, -0.692067>
|
||||
90: <-0.567965, 0.445488, -0.692067>
|
||||
91: <-0.567965, 0.445488, -0.692067>
|
||||
92: <-0.422036, 0.445488, -0.789573>
|
||||
93: <-0.422036, 0.445488, -0.789573>
|
||||
94: <-0.422036, 0.445488, -0.789573>
|
||||
95: <-0.259888, 0.445488, -0.856737>
|
||||
96: <-0.259888, 0.445488, -0.856737>
|
||||
97: <-0.259888, 0.445488, -0.856737>
|
||||
98: <-0.087753, 0.445488, -0.890977>
|
||||
99: <-0.087753, 0.445488, -0.890977>
|
||||
100: <-0.087753, 0.445488, -0.890977>
|
||||
101: < 0.087754, 0.445488, -0.890977>
|
||||
102: < 0.087754, 0.445488, -0.890977>
|
||||
103: < 0.087754, 0.445488, -0.890977>
|
||||
104: < 0.259889, 0.445488, -0.856737>
|
||||
105: < 0.259889, 0.445488, -0.856737>
|
||||
106: < 0.259889, 0.445488, -0.856737>
|
||||
107: < 0.422036, 0.445488, -0.789573>
|
||||
108: < 0.422036, 0.445488, -0.789573>
|
||||
109: < 0.422036, 0.445488, -0.789573>
|
||||
110: < 0.567965, 0.445488, -0.692066>
|
||||
111: < 0.567965, 0.445488, -0.692066>
|
||||
112: < 0.567965, 0.445488, -0.692066>
|
||||
113: < 0.692067, 0.445488, -0.567964>
|
||||
114: < 0.692067, 0.445488, -0.567964>
|
||||
115: < 0.692067, 0.445488, -0.567964>
|
||||
116: < 0.789574, 0.445488, -0.422035>
|
||||
117: < 0.789574, 0.445488, -0.422035>
|
||||
118: < 0.789574, 0.445488, -0.422035>
|
||||
119: < 0.856737, 0.445488, -0.259887>
|
||||
120: < 0.856737, 0.445488, -0.259887>
|
||||
121: < 0.856737, 0.445488, -0.259887>
|
||||
122: < 0.890977, 0.445488, -0.087753>
|
||||
123: < 0.890977, 0.445488, -0.087753>
|
||||
124: < 0.890977, 0.445488, -0.087753>
|
||||
125: < 0.890977, 0.445488, 0.087754>
|
||||
126: < 0.890977, 0.445488, 0.087754>
|
||||
127: < 0.890977, 0.445488, 0.087754>
|
||||
FaceList: Count 62. Hash: 13208951979626973193
|
||||
0: 0, 1, 2,
|
||||
1: 3, 4, 5,
|
||||
2: 6, 7, 8,
|
||||
3: 9, 10, 11,
|
||||
4: 12, 13, 14,
|
||||
5: 15, 16, 17,
|
||||
6: 18, 19, 20,
|
||||
7: 21, 22, 23,
|
||||
8: 24, 25, 26,
|
||||
9: 27, 28, 29,
|
||||
10: 30, 31, 32,
|
||||
11: 33, 34, 35,
|
||||
12: 67, 36, 37,
|
||||
13: 67, 37, 38,
|
||||
14: 67, 38, 39,
|
||||
15: 67, 39, 40,
|
||||
16: 67, 40, 41,
|
||||
17: 67, 41, 42,
|
||||
18: 67, 42, 43,
|
||||
19: 67, 43, 44,
|
||||
20: 67, 44, 45,
|
||||
21: 67, 45, 46,
|
||||
22: 67, 46, 47,
|
||||
23: 67, 47, 48,
|
||||
24: 67, 48, 49,
|
||||
25: 67, 49, 50,
|
||||
26: 67, 50, 51,
|
||||
27: 67, 51, 52,
|
||||
28: 67, 52, 53,
|
||||
29: 67, 53, 54,
|
||||
30: 67, 54, 55,
|
||||
31: 67, 55, 56,
|
||||
32: 67, 56, 57,
|
||||
33: 67, 57, 58,
|
||||
34: 67, 58, 59,
|
||||
35: 67, 59, 60,
|
||||
36: 67, 60, 61,
|
||||
37: 67, 61, 62,
|
||||
38: 67, 62, 63,
|
||||
39: 67, 63, 64,
|
||||
40: 67, 64, 65,
|
||||
41: 65, 66, 67,
|
||||
42: 68, 69, 70,
|
||||
43: 71, 72, 73,
|
||||
44: 74, 75, 76,
|
||||
45: 77, 78, 79,
|
||||
46: 80, 81, 82,
|
||||
47: 83, 84, 85,
|
||||
48: 86, 87, 88,
|
||||
49: 89, 90, 91,
|
||||
50: 92, 93, 94,
|
||||
51: 95, 96, 97,
|
||||
52: 98, 99, 100,
|
||||
53: 101, 102, 103,
|
||||
54: 104, 105, 106,
|
||||
55: 107, 108, 109,
|
||||
56: 110, 111, 112,
|
||||
57: 113, 114, 115,
|
||||
58: 116, 117, 118,
|
||||
59: 119, 120, 121,
|
||||
60: 122, 123, 124,
|
||||
61: 125, 126, 127,
|
||||
FaceMaterialIds: Count 62. Hash: 15454348664434923102
|
||||
|
||||
Node Name: Cube_optimized
|
||||
Node Path: RootNode.Cube_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
0: <-0.010000, 0.010000, 0.010000>
|
||||
1: < 0.010000, 0.010000, 0.010000>
|
||||
2: < 0.010000, 0.010000, -0.010000>
|
||||
3: <-0.010000, 0.010000, -0.010000>
|
||||
4: <-0.010000, -0.010000, -0.010000>
|
||||
5: <-0.010000, 0.010000, -0.010000>
|
||||
6: < 0.010000, 0.010000, -0.010000>
|
||||
7: < 0.010000, -0.010000, -0.010000>
|
||||
8: < 0.010000, -0.010000, -0.010000>
|
||||
9: < 0.010000, 0.010000, -0.010000>
|
||||
10: < 0.010000, 0.010000, 0.010000>
|
||||
11: < 0.010000, -0.010000, 0.010000>
|
||||
12: < 0.010000, -0.010000, 0.010000>
|
||||
13: <-0.010000, -0.010000, 0.010000>
|
||||
14: <-0.010000, -0.010000, -0.010000>
|
||||
15: < 0.010000, -0.010000, -0.010000>
|
||||
16: <-0.010000, -0.010000, 0.010000>
|
||||
17: <-0.010000, 0.010000, 0.010000>
|
||||
18: <-0.010000, 0.010000, -0.010000>
|
||||
19: <-0.010000, -0.010000, -0.010000>
|
||||
20: < 0.010000, -0.010000, 0.010000>
|
||||
21: < 0.010000, 0.010000, 0.010000>
|
||||
22: <-0.010000, 0.010000, 0.010000>
|
||||
23: <-0.010000, -0.010000, 0.010000>
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
0: < 0.000000, 1.000000, 0.000000>
|
||||
1: < 0.000000, 1.000000, 0.000000>
|
||||
2: < 0.000000, 1.000000, 0.000000>
|
||||
3: < 0.000000, 1.000000, 0.000000>
|
||||
4: < 0.000000, 0.000000, -1.000000>
|
||||
5: < 0.000000, 0.000000, -1.000000>
|
||||
6: < 0.000000, 0.000000, -1.000000>
|
||||
7: < 0.000000, 0.000000, -1.000000>
|
||||
8: < 1.000000, 0.000000, 0.000000>
|
||||
9: < 1.000000, 0.000000, 0.000000>
|
||||
10: < 1.000000, 0.000000, 0.000000>
|
||||
11: < 1.000000, 0.000000, 0.000000>
|
||||
12: < 0.000000, -1.000000, 0.000000>
|
||||
13: < 0.000000, -1.000000, 0.000000>
|
||||
14: < 0.000000, -1.000000, 0.000000>
|
||||
15: < 0.000000, -1.000000, 0.000000>
|
||||
16: <-1.000000, 0.000000, 0.000000>
|
||||
17: <-1.000000, 0.000000, 0.000000>
|
||||
18: <-1.000000, 0.000000, 0.000000>
|
||||
19: <-1.000000, 0.000000, 0.000000>
|
||||
20: < 0.000000, 0.000000, 1.000000>
|
||||
21: < 0.000000, 0.000000, 1.000000>
|
||||
22: < 0.000000, 0.000000, 1.000000>
|
||||
23: < 0.000000, 0.000000, 1.000000>
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
0: 0, 1, 2,
|
||||
1: 0, 2, 3,
|
||||
2: 4, 5, 6,
|
||||
3: 4, 6, 7,
|
||||
4: 8, 9, 10,
|
||||
5: 8, 10, 11,
|
||||
6: 12, 13, 14,
|
||||
7: 12, 14, 15,
|
||||
8: 16, 17, 18,
|
||||
9: 16, 18, 19,
|
||||
10: 20, 21, 22,
|
||||
11: 20, 22, 23,
|
||||
FaceMaterialIds: Count 12. Hash: 7113802799051126666
|
||||
|
||||
Node Name: Cone_optimized
|
||||
Node Path: RootNode.Cone_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 128. Hash: 14946490408303214595
|
||||
0: < 0.000000, -0.010000, 0.010000>
|
||||
1: < 0.000000, 0.010000, 0.000000>
|
||||
2: <-0.001951, -0.010000, 0.009808>
|
||||
3: <-0.001951, -0.010000, 0.009808>
|
||||
4: < 0.000000, 0.010000, 0.000000>
|
||||
5: <-0.003827, -0.010000, 0.009239>
|
||||
6: <-0.003827, -0.010000, 0.009239>
|
||||
7: < 0.000000, 0.010000, 0.000000>
|
||||
8: <-0.005556, -0.010000, 0.008315>
|
||||
9: <-0.005556, -0.010000, 0.008315>
|
||||
10: < 0.000000, 0.010000, 0.000000>
|
||||
11: <-0.007071, -0.010000, 0.007071>
|
||||
12: <-0.007071, -0.010000, 0.007071>
|
||||
13: < 0.000000, 0.010000, 0.000000>
|
||||
14: <-0.008315, -0.010000, 0.005556>
|
||||
15: <-0.008315, -0.010000, 0.005556>
|
||||
16: < 0.000000, 0.010000, 0.000000>
|
||||
17: <-0.009239, -0.010000, 0.003827>
|
||||
18: <-0.009239, -0.010000, 0.003827>
|
||||
19: < 0.000000, 0.010000, 0.000000>
|
||||
20: <-0.009808, -0.010000, 0.001951>
|
||||
21: < 0.009808, -0.010000, 0.001951>
|
||||
22: < 0.000000, 0.010000, 0.000000>
|
||||
23: < 0.009239, -0.010000, 0.003827>
|
||||
24: < 0.009239, -0.010000, 0.003827>
|
||||
25: < 0.000000, 0.010000, 0.000000>
|
||||
26: < 0.008315, -0.010000, 0.005556>
|
||||
27: < 0.008315, -0.010000, 0.005556>
|
||||
28: < 0.000000, 0.010000, 0.000000>
|
||||
29: < 0.007071, -0.010000, 0.007071>
|
||||
30: < 0.007071, -0.010000, 0.007071>
|
||||
31: < 0.000000, 0.010000, 0.000000>
|
||||
32: < 0.005556, -0.010000, 0.008315>
|
||||
33: < 0.005556, -0.010000, 0.008315>
|
||||
34: < 0.000000, 0.010000, 0.000000>
|
||||
35: < 0.003827, -0.010000, 0.009239>
|
||||
36: < 0.001951, -0.010000, 0.009808>
|
||||
37: < 0.000000, -0.010000, 0.010000>
|
||||
38: <-0.001951, -0.010000, 0.009808>
|
||||
39: <-0.003827, -0.010000, 0.009239>
|
||||
40: <-0.005556, -0.010000, 0.008315>
|
||||
41: <-0.007071, -0.010000, 0.007071>
|
||||
42: <-0.008315, -0.010000, 0.005556>
|
||||
43: <-0.009239, -0.010000, 0.003827>
|
||||
44: <-0.009808, -0.010000, 0.001951>
|
||||
45: <-0.010000, -0.010000, 0.000000>
|
||||
46: <-0.009808, -0.010000, -0.001951>
|
||||
47: <-0.009239, -0.010000, -0.003827>
|
||||
48: <-0.008315, -0.010000, -0.005556>
|
||||
49: <-0.007071, -0.010000, -0.007071>
|
||||
50: <-0.005556, -0.010000, -0.008315>
|
||||
51: <-0.003827, -0.010000, -0.009239>
|
||||
52: <-0.001951, -0.010000, -0.009808>
|
||||
53: < 0.000000, -0.010000, -0.010000>
|
||||
54: < 0.001951, -0.010000, -0.009808>
|
||||
55: < 0.003827, -0.010000, -0.009239>
|
||||
56: < 0.005556, -0.010000, -0.008315>
|
||||
57: < 0.007071, -0.010000, -0.007071>
|
||||
58: < 0.008315, -0.010000, -0.005556>
|
||||
59: < 0.009239, -0.010000, -0.003827>
|
||||
60: < 0.009808, -0.010000, -0.001951>
|
||||
61: < 0.010000, -0.010000, 0.000000>
|
||||
62: < 0.009808, -0.010000, 0.001951>
|
||||
63: < 0.009239, -0.010000, 0.003827>
|
||||
64: < 0.008315, -0.010000, 0.005556>
|
||||
65: < 0.007071, -0.010000, 0.007071>
|
||||
66: < 0.005556, -0.010000, 0.008315>
|
||||
67: < 0.003827, -0.010000, 0.009239>
|
||||
68: < 0.003827, -0.010000, 0.009239>
|
||||
69: < 0.000000, 0.010000, 0.000000>
|
||||
70: < 0.001951, -0.010000, 0.009808>
|
||||
71: < 0.001951, -0.010000, 0.009808>
|
||||
72: < 0.000000, 0.010000, 0.000000>
|
||||
73: < 0.000000, -0.010000, 0.010000>
|
||||
74: <-0.009808, -0.010000, 0.001951>
|
||||
75: < 0.000000, 0.010000, 0.000000>
|
||||
76: <-0.010000, -0.010000, 0.000000>
|
||||
77: <-0.010000, -0.010000, 0.000000>
|
||||
78: < 0.000000, 0.010000, 0.000000>
|
||||
79: <-0.009808, -0.010000, -0.001951>
|
||||
80: <-0.009808, -0.010000, -0.001951>
|
||||
81: < 0.000000, 0.010000, 0.000000>
|
||||
82: <-0.009239, -0.010000, -0.003827>
|
||||
83: <-0.009239, -0.010000, -0.003827>
|
||||
84: < 0.000000, 0.010000, 0.000000>
|
||||
85: <-0.008315, -0.010000, -0.005556>
|
||||
86: <-0.008315, -0.010000, -0.005556>
|
||||
87: < 0.000000, 0.010000, 0.000000>
|
||||
88: <-0.007071, -0.010000, -0.007071>
|
||||
89: <-0.007071, -0.010000, -0.007071>
|
||||
90: < 0.000000, 0.010000, 0.000000>
|
||||
91: <-0.005556, -0.010000, -0.008315>
|
||||
92: <-0.005556, -0.010000, -0.008315>
|
||||
93: < 0.000000, 0.010000, 0.000000>
|
||||
94: <-0.003827, -0.010000, -0.009239>
|
||||
95: <-0.003827, -0.010000, -0.009239>
|
||||
96: < 0.000000, 0.010000, 0.000000>
|
||||
97: <-0.001951, -0.010000, -0.009808>
|
||||
98: <-0.001951, -0.010000, -0.009808>
|
||||
99: < 0.000000, 0.010000, 0.000000>
|
||||
100: < 0.000000, -0.010000, -0.010000>
|
||||
101: < 0.000000, -0.010000, -0.010000>
|
||||
102: < 0.000000, 0.010000, 0.000000>
|
||||
103: < 0.001951, -0.010000, -0.009808>
|
||||
104: < 0.001951, -0.010000, -0.009808>
|
||||
105: < 0.000000, 0.010000, 0.000000>
|
||||
106: < 0.003827, -0.010000, -0.009239>
|
||||
107: < 0.003827, -0.010000, -0.009239>
|
||||
108: < 0.000000, 0.010000, 0.000000>
|
||||
109: < 0.005556, -0.010000, -0.008315>
|
||||
110: < 0.005556, -0.010000, -0.008315>
|
||||
111: < 0.000000, 0.010000, 0.000000>
|
||||
112: < 0.007071, -0.010000, -0.007071>
|
||||
113: < 0.007071, -0.010000, -0.007071>
|
||||
114: < 0.000000, 0.010000, 0.000000>
|
||||
115: < 0.008315, -0.010000, -0.005556>
|
||||
116: < 0.008315, -0.010000, -0.005556>
|
||||
117: < 0.000000, 0.010000, 0.000000>
|
||||
118: < 0.009239, -0.010000, -0.003827>
|
||||
119: < 0.009239, -0.010000, -0.003827>
|
||||
120: < 0.000000, 0.010000, 0.000000>
|
||||
121: < 0.009808, -0.010000, -0.001951>
|
||||
122: < 0.009808, -0.010000, -0.001951>
|
||||
123: < 0.000000, 0.010000, 0.000000>
|
||||
124: < 0.010000, -0.010000, 0.000000>
|
||||
125: < 0.010000, -0.010000, 0.000000>
|
||||
126: < 0.000000, 0.010000, 0.000000>
|
||||
127: < 0.009808, -0.010000, 0.001951>
|
||||
Normals: Count 128. Hash: 367461522682321485
|
||||
0: <-0.087754, 0.445488, 0.890977>
|
||||
1: <-0.087754, 0.445488, 0.890977>
|
||||
2: <-0.087754, 0.445488, 0.890977>
|
||||
3: <-0.259888, 0.445488, 0.856737>
|
||||
4: <-0.259888, 0.445488, 0.856737>
|
||||
5: <-0.259888, 0.445488, 0.856737>
|
||||
6: <-0.422036, 0.445488, 0.789573>
|
||||
7: <-0.422036, 0.445488, 0.789573>
|
||||
8: <-0.422036, 0.445488, 0.789573>
|
||||
9: <-0.567965, 0.445488, 0.692067>
|
||||
10: <-0.567965, 0.445488, 0.692067>
|
||||
11: <-0.567965, 0.445488, 0.692067>
|
||||
12: <-0.692067, 0.445488, 0.567965>
|
||||
13: <-0.692067, 0.445488, 0.567965>
|
||||
14: <-0.692067, 0.445488, 0.567965>
|
||||
15: <-0.789573, 0.445488, 0.422036>
|
||||
16: <-0.789573, 0.445488, 0.422036>
|
||||
17: <-0.789573, 0.445488, 0.422036>
|
||||
18: <-0.856737, 0.445488, 0.259888>
|
||||
19: <-0.856737, 0.445488, 0.259888>
|
||||
20: <-0.856737, 0.445488, 0.259888>
|
||||
21: < 0.856737, 0.445488, 0.259889>
|
||||
22: < 0.856737, 0.445488, 0.259889>
|
||||
23: < 0.856737, 0.445488, 0.259889>
|
||||
24: < 0.789573, 0.445488, 0.422037>
|
||||
25: < 0.789573, 0.445488, 0.422037>
|
||||
26: < 0.789573, 0.445488, 0.422037>
|
||||
27: < 0.692066, 0.445488, 0.567966>
|
||||
28: < 0.692066, 0.445488, 0.567966>
|
||||
29: < 0.692066, 0.445488, 0.567966>
|
||||
30: < 0.567964, 0.445488, 0.692067>
|
||||
31: < 0.567964, 0.445488, 0.692067>
|
||||
32: < 0.567964, 0.445488, 0.692067>
|
||||
33: < 0.422035, 0.445488, 0.789574>
|
||||
34: < 0.422035, 0.445488, 0.789574>
|
||||
35: < 0.422035, 0.445488, 0.789574>
|
||||
36: <-0.000000, -1.000000, 0.000000>
|
||||
37: <-0.000000, -1.000000, 0.000000>
|
||||
38: <-0.000000, -1.000000, 0.000000>
|
||||
39: <-0.000000, -1.000000, 0.000000>
|
||||
40: <-0.000000, -1.000000, 0.000000>
|
||||
41: <-0.000000, -1.000000, 0.000000>
|
||||
42: <-0.000000, -1.000000, 0.000000>
|
||||
43: <-0.000000, -1.000000, 0.000000>
|
||||
44: <-0.000000, -1.000000, 0.000000>
|
||||
45: <-0.000000, -1.000000, 0.000000>
|
||||
46: <-0.000000, -1.000000, 0.000000>
|
||||
47: <-0.000000, -1.000000, 0.000000>
|
||||
48: <-0.000000, -1.000000, 0.000000>
|
||||
49: <-0.000000, -1.000000, 0.000000>
|
||||
50: <-0.000000, -1.000000, 0.000000>
|
||||
51: <-0.000000, -1.000000, 0.000000>
|
||||
52: <-0.000000, -1.000000, 0.000000>
|
||||
53: <-0.000000, -1.000000, 0.000000>
|
||||
54: <-0.000000, -1.000000, 0.000000>
|
||||
55: <-0.000000, -1.000000, 0.000000>
|
||||
56: <-0.000000, -1.000000, 0.000000>
|
||||
57: <-0.000000, -1.000000, 0.000000>
|
||||
58: <-0.000000, -1.000000, 0.000000>
|
||||
59: <-0.000000, -1.000000, 0.000000>
|
||||
60: <-0.000000, -1.000000, 0.000000>
|
||||
61: <-0.000000, -1.000000, 0.000000>
|
||||
62: <-0.000000, -1.000000, 0.000000>
|
||||
63: <-0.000000, -1.000000, 0.000000>
|
||||
64: <-0.000000, -1.000000, 0.000000>
|
||||
65: <-0.000000, -1.000000, 0.000000>
|
||||
66: <-0.000000, -1.000000, 0.000000>
|
||||
67: <-0.000000, -1.000000, 0.000000>
|
||||
68: < 0.259887, 0.445488, 0.856737>
|
||||
69: < 0.259887, 0.445488, 0.856737>
|
||||
70: < 0.259887, 0.445488, 0.856737>
|
||||
71: < 0.087753, 0.445488, 0.890977>
|
||||
72: < 0.087753, 0.445488, 0.890977>
|
||||
73: < 0.087753, 0.445488, 0.890977>
|
||||
74: <-0.890977, 0.445488, 0.087754>
|
||||
75: <-0.890977, 0.445488, 0.087754>
|
||||
76: <-0.890977, 0.445488, 0.087754>
|
||||
77: <-0.890977, 0.445488, -0.087753>
|
||||
78: <-0.890977, 0.445488, -0.087753>
|
||||
79: <-0.890977, 0.445488, -0.087753>
|
||||
80: <-0.856737, 0.445488, -0.259888>
|
||||
81: <-0.856737, 0.445488, -0.259888>
|
||||
82: <-0.856737, 0.445488, -0.259888>
|
||||
83: <-0.789573, 0.445488, -0.422035>
|
||||
84: <-0.789573, 0.445488, -0.422035>
|
||||
85: <-0.789573, 0.445488, -0.422035>
|
||||
86: <-0.692067, 0.445488, -0.567965>
|
||||
87: <-0.692067, 0.445488, -0.567965>
|
||||
88: <-0.692067, 0.445488, -0.567965>
|
||||
89: <-0.567965, 0.445488, -0.692067>
|
||||
90: <-0.567965, 0.445488, -0.692067>
|
||||
91: <-0.567965, 0.445488, -0.692067>
|
||||
92: <-0.422036, 0.445488, -0.789573>
|
||||
93: <-0.422036, 0.445488, -0.789573>
|
||||
94: <-0.422036, 0.445488, -0.789573>
|
||||
95: <-0.259888, 0.445488, -0.856737>
|
||||
96: <-0.259888, 0.445488, -0.856737>
|
||||
97: <-0.259888, 0.445488, -0.856737>
|
||||
98: <-0.087753, 0.445488, -0.890977>
|
||||
99: <-0.087753, 0.445488, -0.890977>
|
||||
100: <-0.087753, 0.445488, -0.890977>
|
||||
101: < 0.087754, 0.445488, -0.890977>
|
||||
102: < 0.087754, 0.445488, -0.890977>
|
||||
103: < 0.087754, 0.445488, -0.890977>
|
||||
104: < 0.259889, 0.445488, -0.856737>
|
||||
105: < 0.259889, 0.445488, -0.856737>
|
||||
106: < 0.259889, 0.445488, -0.856737>
|
||||
107: < 0.422036, 0.445488, -0.789573>
|
||||
108: < 0.422036, 0.445488, -0.789573>
|
||||
109: < 0.422036, 0.445488, -0.789573>
|
||||
110: < 0.567965, 0.445488, -0.692066>
|
||||
111: < 0.567965, 0.445488, -0.692066>
|
||||
112: < 0.567965, 0.445488, -0.692066>
|
||||
113: < 0.692067, 0.445488, -0.567964>
|
||||
114: < 0.692067, 0.445488, -0.567964>
|
||||
115: < 0.692067, 0.445488, -0.567964>
|
||||
116: < 0.789574, 0.445488, -0.422035>
|
||||
117: < 0.789574, 0.445488, -0.422035>
|
||||
118: < 0.789574, 0.445488, -0.422035>
|
||||
119: < 0.856737, 0.445488, -0.259887>
|
||||
120: < 0.856737, 0.445488, -0.259887>
|
||||
121: < 0.856737, 0.445488, -0.259887>
|
||||
122: < 0.890977, 0.445488, -0.087753>
|
||||
123: < 0.890977, 0.445488, -0.087753>
|
||||
124: < 0.890977, 0.445488, -0.087753>
|
||||
125: < 0.890977, 0.445488, 0.087754>
|
||||
126: < 0.890977, 0.445488, 0.087754>
|
||||
127: < 0.890977, 0.445488, 0.087754>
|
||||
FaceList: Count 62. Hash: 11102693598481718079
|
||||
0: 0, 1, 2,
|
||||
1: 3, 4, 5,
|
||||
2: 6, 7, 8,
|
||||
3: 9, 10, 11,
|
||||
4: 12, 13, 14,
|
||||
5: 15, 16, 17,
|
||||
6: 18, 19, 20,
|
||||
7: 21, 22, 23,
|
||||
8: 24, 25, 26,
|
||||
9: 27, 28, 29,
|
||||
10: 30, 31, 32,
|
||||
11: 33, 34, 35,
|
||||
12: 36, 37, 38,
|
||||
13: 36, 38, 39,
|
||||
14: 36, 39, 40,
|
||||
15: 36, 40, 41,
|
||||
16: 36, 41, 42,
|
||||
17: 36, 42, 43,
|
||||
18: 36, 43, 44,
|
||||
19: 36, 44, 45,
|
||||
20: 36, 45, 46,
|
||||
21: 36, 46, 47,
|
||||
22: 36, 47, 48,
|
||||
23: 36, 48, 49,
|
||||
24: 36, 49, 50,
|
||||
25: 36, 50, 51,
|
||||
26: 36, 51, 52,
|
||||
27: 36, 52, 53,
|
||||
28: 36, 53, 54,
|
||||
29: 36, 54, 55,
|
||||
30: 36, 55, 56,
|
||||
31: 36, 56, 57,
|
||||
32: 36, 57, 58,
|
||||
33: 36, 58, 59,
|
||||
34: 36, 59, 60,
|
||||
35: 36, 60, 61,
|
||||
36: 36, 61, 62,
|
||||
37: 36, 62, 63,
|
||||
38: 36, 63, 64,
|
||||
39: 36, 64, 65,
|
||||
40: 36, 65, 66,
|
||||
41: 66, 67, 36,
|
||||
42: 68, 69, 70,
|
||||
43: 71, 72, 73,
|
||||
44: 74, 75, 76,
|
||||
45: 77, 78, 79,
|
||||
46: 80, 81, 82,
|
||||
47: 83, 84, 85,
|
||||
48: 86, 87, 88,
|
||||
49: 89, 90, 91,
|
||||
50: 92, 93, 94,
|
||||
51: 95, 96, 97,
|
||||
52: 98, 99, 100,
|
||||
53: 101, 102, 103,
|
||||
54: 104, 105, 106,
|
||||
55: 107, 108, 109,
|
||||
56: 110, 111, 112,
|
||||
57: 113, 114, 115,
|
||||
58: 116, 117, 118,
|
||||
59: 119, 120, 121,
|
||||
60: 122, 123, 124,
|
||||
61: 125, 126, 127,
|
||||
FaceMaterialIds: Count 62. Hash: 15454348664434923102
|
||||
|
||||
Node Name: transform
|
||||
|
||||
+188
-8
@@ -1,20 +1,39 @@
|
||||
ProductName: multiple_mesh_one_material.dbgsg
|
||||
debugSceneGraphVersion: 1
|
||||
multiple_mesh_one_material
|
||||
Node Name: Cube
|
||||
Node Path: RootNode.Cube
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
FaceList: Count 12. Hash: 17730128541777770264
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: Cylinder
|
||||
Node Path: RootNode.Cylinder
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 1283526254311745349
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 4139150512255795252
|
||||
FaceList: Count 124. Hash: 3728991722746136013
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: Cube_optimized
|
||||
Node Path: RootNode.Cube_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: Cylinder_optimized
|
||||
Node Path: RootNode.Cylinder_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 7921557352486854444
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 18311637590974204568
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cube.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -23,33 +42,56 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cube.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 1622169145591646736
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: SingleMaterial
|
||||
Node Path: RootNode.Cube.SingleMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SingleMaterial
|
||||
UniqueId: 41
|
||||
UniqueId: 14432700632681398127
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
||||
SpecularColor: < 0.203512, 0.203512, 0.203512>
|
||||
SpecularColor: < 0.814049, 0.814049, 0.814049>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshOneMaterial/FBXTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshOneMaterial/FBXTestTexture.png
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 13438447437797057049
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 11372562338897179017
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cylinder.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -58,30 +100,168 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: <-4.388482, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cylinder.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 192. Hash: 27253578623892681
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: SingleMaterial
|
||||
Node Path: RootNode.Cylinder.SingleMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SingleMaterial
|
||||
UniqueId: 41
|
||||
UniqueId: 14432700632681398127
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
||||
SpecularColor: < 0.203512, 0.203512, 0.203512>
|
||||
SpecularColor: < 0.814049, 0.814049, 0.814049>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshOneMaterial/FBXTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshOneMaterial/FBXTestTexture.png
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cylinder.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 5663634855689915515
|
||||
Tangents: Count 192. Hash: 11165448242141781141
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cylinder.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 10115392016288328891
|
||||
Bitangents: Count 192. Hash: 7987814487334449536
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cube_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 1622169145591646736
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 13438447437797057049
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 11372562338897179017
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cube_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: SingleMaterial
|
||||
Node Path: RootNode.Cube_optimized.SingleMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SingleMaterial
|
||||
UniqueId: 14432700632681398127
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
||||
SpecularColor: < 0.814049, 0.814049, 0.814049>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshOneMaterial/FBXTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshOneMaterial/FBXTestTexture.png
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cylinder_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 192. Hash: 13790301632763350589
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cylinder_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 7293001660047850407
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cylinder_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 2874689498270494796
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cylinder_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: <-4.388482, 0.000000, 0.000000>
|
||||
|
||||
Node Name: SingleMaterial
|
||||
Node Path: RootNode.Cylinder_optimized.SingleMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SingleMaterial
|
||||
UniqueId: 14432700632681398127
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
||||
SpecularColor: < 0.814049, 0.814049, 0.814049>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshOneMaterial/FBXTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshOneMaterial/FBXTestTexture.png
|
||||
|
||||
|
||||
+188
-8
@@ -1,20 +1,39 @@
|
||||
ProductName: multiple_mesh_multiple_material.dbgsg
|
||||
debugSceneGraphVersion: 1
|
||||
multiple_mesh_multiple_material
|
||||
Node Name: Cube
|
||||
Node Path: RootNode.Cube
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
FaceList: Count 12. Hash: 17730128541777770264
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: Cylinder
|
||||
Node Path: RootNode.Cylinder
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 1283526254311745349
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 4139150512255795252
|
||||
FaceList: Count 124. Hash: 3728991722746136013
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: Cube_optimized
|
||||
Node Path: RootNode.Cube_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: Cylinder_optimized
|
||||
Node Path: RootNode.Cylinder_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 7921557352486854444
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 18311637590974204568
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cube.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -23,33 +42,56 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cube.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 1622169145591646736
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: SingleMaterial
|
||||
Node Path: RootNode.Cube.SingleMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SingleMaterial
|
||||
UniqueId: 41
|
||||
UniqueId: 14432700632681398127
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
||||
SpecularColor: < 0.203512, 0.203512, 0.203512>
|
||||
SpecularColor: < 0.814049, 0.814049, 0.814049>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshTwoMaterial/FBXTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshTwoMaterial/FBXTestTexture.png
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 13438447437797057049
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 11372562338897179017
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cylinder.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
@@ -58,30 +100,168 @@ Node Type: TransformData
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: <-4.388482, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cylinder.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 192. Hash: 27253578623892681
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: SecondMaterial
|
||||
Node Path: RootNode.Cylinder.SecondMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SecondMaterial
|
||||
UniqueId: 42
|
||||
UniqueId: 5229255358802505087
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.200000, 0.200000, 0.200000>
|
||||
SpecularColor: < 0.800000, 0.800000, 0.800000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshTwoMaterial/FBXSecondTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshTwoMaterial/FBXSecondTestTexture.png
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cylinder.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 5663634855689915515
|
||||
Tangents: Count 192. Hash: 11165448242141781141
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cylinder.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 10115392016288328891
|
||||
Bitangents: Count 192. Hash: 7987814487334449536
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cube_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 1622169145591646736
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 13438447437797057049
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 11372562338897179017
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cube_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: SingleMaterial
|
||||
Node Path: RootNode.Cube_optimized.SingleMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SingleMaterial
|
||||
UniqueId: 14432700632681398127
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
||||
SpecularColor: < 0.814049, 0.814049, 0.814049>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshTwoMaterial/FBXTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshTwoMaterial/FBXTestTexture.png
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cylinder_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 192. Hash: 13790301632763350589
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cylinder_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 7293001660047850407
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cylinder_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 2874689498270494796
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cylinder_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: <-4.388482, 0.000000, 0.000000>
|
||||
|
||||
Node Name: SecondMaterial
|
||||
Node Path: RootNode.Cylinder_optimized.SecondMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SecondMaterial
|
||||
UniqueId: 5229255358802505087
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.800000, 0.800000, 0.800000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshTwoMaterial/FBXSecondTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshTwoMaterial/FBXSecondTestTexture.png
|
||||
|
||||
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
ProductName: multiple_mesh_multiple_material.dbgsg
|
||||
debugSceneGraphVersion: 1
|
||||
multiple_mesh_multiple_material
|
||||
Node Name: Cube
|
||||
Node Path: RootNode.Cube
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: Cylinder
|
||||
Node Path: RootNode.Cylinder
|
||||
Node Type: MeshData
|
||||
Positions: Count 192. Hash: 1283526254311745349
|
||||
Normals: Count 192. Hash: 1873340970602844856
|
||||
FaceList: Count 124. Hash: 3728991722746136013
|
||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
||||
|
||||
Node Name: Cube_optimized
|
||||
Node Path: RootNode.Cube_optimized
|
||||
Node Type: MeshData
|
||||
Positions: Count 24. Hash: 8661923109306356285
|
||||
Normals: Count 24. Hash: 5807525742165000561
|
||||
FaceList: Count 12. Hash: 9888799799190757436
|
||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cube.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cube.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 1622169145591646736
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: SingleMaterial
|
||||
Node Path: RootNode.Cube.SingleMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SingleMaterial
|
||||
UniqueId: 14432700632681398127
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
||||
SpecularColor: < 0.814049, 0.814049, 0.814049>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshTwoMaterial/FBXTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshTwoMaterial/FBXTestTexture.png
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 13438447437797057049
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 11372562338897179017
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cylinder.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: <-4.388482, 0.000000, 0.000000>
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cylinder.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 192. Hash: 27253578623892681
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: SecondMaterial
|
||||
Node Path: RootNode.Cylinder.SecondMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SecondMaterial
|
||||
UniqueId: 5229255358802505087
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
||||
SpecularColor: < 0.800000, 0.800000, 0.800000>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshTwoMaterial/FBXSecondTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshTwoMaterial/FBXSecondTestTexture.png
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cylinder.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 192. Hash: 11165448242141781141
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cylinder.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 192. Hash: 7987814487334449536
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: UVMap
|
||||
Node Path: RootNode.Cube_optimized.UVMap
|
||||
Node Type: MeshVertexUVData
|
||||
UVs: Count 24. Hash: 1622169145591646736
|
||||
UVCustomName: UVMap
|
||||
|
||||
Node Name: TangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube_optimized.TangentSet_MikkT_0
|
||||
Node Type: MeshVertexTangentData
|
||||
Tangents: Count 24. Hash: 13438447437797057049
|
||||
TangentSpace: 1
|
||||
SetIndex: 0
|
||||
|
||||
Node Name: BitangentSet_MikkT_0
|
||||
Node Path: RootNode.Cube_optimized.BitangentSet_MikkT_0
|
||||
Node Type: MeshVertexBitangentData
|
||||
Bitangents: Count 24. Hash: 11372562338897179017
|
||||
TangentSpace: 1
|
||||
|
||||
Node Name: transform
|
||||
Node Path: RootNode.Cube_optimized.transform
|
||||
Node Type: TransformData
|
||||
Matrix:
|
||||
BasisX: < 100.000000, 0.000000, 0.000000>
|
||||
BasisY: < 0.000000, -0.000016, 100.000000>
|
||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||
Transl: < 0.000000, 0.000000, 0.000000>
|
||||
|
||||
Node Name: SingleMaterial
|
||||
Node Path: RootNode.Cube_optimized.SingleMaterial
|
||||
Node Type: MaterialData
|
||||
MaterialName: SingleMaterial
|
||||
UniqueId: 14432700632681398127
|
||||
IsNoDraw: false
|
||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
||||
SpecularColor: < 0.814049, 0.814049, 0.814049>
|
||||
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||
Opacity: 1.000000
|
||||
Shininess: 25.000000
|
||||
UseColorMap: Not set
|
||||
BaseColor: Not set
|
||||
UseMetallicMap: Not set
|
||||
MetallicFactor: Not set
|
||||
UseRoughnessMap: Not set
|
||||
RoughnessFactor: Not set
|
||||
UseEmissiveMap: Not set
|
||||
EmissiveIntensity: Not set
|
||||
UseAOMap: Not set
|
||||
DiffuseTexture: TwoMeshTwoMaterial/FBXTestTexture.png
|
||||
SpecularTexture:
|
||||
BumpTexture:
|
||||
NormalTexture:
|
||||
MetallicTexture:
|
||||
RoughnessTexture:
|
||||
AmbientOcclusionTexture:
|
||||
EmissiveTexture:
|
||||
BaseColorTexture: TwoMeshTwoMaterial/FBXTestTexture.png
|
||||
|
||||
-122880
File diff suppressed because it is too large
Load Diff
@@ -44,6 +44,7 @@ class BlackboxAssetTest:
|
||||
asset_folder: str
|
||||
override_asset_folder: str = ""
|
||||
scene_debug_file: str = ""
|
||||
override_scene_debug_file: str = ""
|
||||
assets: List[asset_db_utils.DBSourceAsset] = ()
|
||||
override_assets: List[asset_db_utils.DBSourceAsset] = ()
|
||||
|
||||
@@ -59,25 +60,6 @@ blackbox_fbx_tests = [
|
||||
source_file_name = "OneMeshOneMaterial.fbx",
|
||||
uuid = b"8a9164adb84859be893e18aa819438e1",
|
||||
jobs = [
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "fbx",
|
||||
builder_guid=b"0bbfc8c191374404bd9464c0364efbfb",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=2,
|
||||
products = [
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="onemeshonematerial/onemeshonematerial.cgf",
|
||||
sub_id=-1588558583,
|
||||
asset_type=b"c2869e3bdda04e018fe36770d788866b"
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="onemeshonematerial/onemeshonematerial.dccmtl",
|
||||
sub_id=382053982,
|
||||
asset_type=b"c88469cf21e741eb96fdbf14fbb05edc"
|
||||
),
|
||||
],
|
||||
),
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "Scene compilation",
|
||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||
@@ -110,46 +92,12 @@ blackbox_fbx_tests = [
|
||||
source_file_name = "lodtest.fbx",
|
||||
uuid = b"44c8627fe2c25aae91fe3ff9547be3b9",
|
||||
jobs = [
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "fbx",
|
||||
builder_guid=b"0bbfc8c191374404bd9464c0364efbfb",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=2,
|
||||
products = [
|
||||
asset_db_utils.DBProduct(
|
||||
product_name= "softnaminglod/lodtest.cgf",
|
||||
sub_id=1091612206,
|
||||
asset_type=b"c2869e3bdda04e018fe36770d788866b"
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="softnaminglod/lodtest.dccmtl",
|
||||
sub_id=1960621672,
|
||||
asset_type=b"c88469cf21e741eb96fdbf14fbb05edc"
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="softnaminglod/lodtest_lod1.cgf",
|
||||
sub_id=1091677742,
|
||||
asset_type=b"9aae4926cb6a4c609948a1a22f51db23"
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="softnaminglod/lodtest_lod2.cgf",
|
||||
sub_id=1091743278,
|
||||
asset_type=b"9aae4926cb6a4c609948a1a22f51db23"
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="softnaminglod/lodtest_lod3.cgf",
|
||||
sub_id=1091808814,
|
||||
asset_type=b"9aae4926cb6a4c609948a1a22f51db23"
|
||||
),
|
||||
],
|
||||
),
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "Scene compilation",
|
||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=0,
|
||||
warning_count=9,
|
||||
products = [
|
||||
asset_db_utils.DBProduct(
|
||||
product_name='softnaminglod/lodtest.dbgsg',
|
||||
@@ -176,26 +124,12 @@ blackbox_fbx_tests = [
|
||||
source_file_name = "physicstest.fbx",
|
||||
uuid = b"df957b7918cf5b029806c73f630fa1c8",
|
||||
jobs = [
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "fbx",
|
||||
builder_guid=b"0bbfc8c191374404bd9464c0364efbfb",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=2,
|
||||
products = [
|
||||
asset_db_utils.DBProduct(
|
||||
product_name= "softnamingphysics/physicstest.cgf",
|
||||
sub_id=653314392,
|
||||
asset_type=b"c2869e3bdda04e018fe36770d788866b"
|
||||
),
|
||||
],
|
||||
),
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "Scene compilation",
|
||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=1,
|
||||
warning_count=6,
|
||||
products = [
|
||||
asset_db_utils.DBProduct(
|
||||
product_name='softnamingphysics/physicstest.dbgsg',
|
||||
@@ -224,30 +158,6 @@ blackbox_fbx_tests = [
|
||||
source_file_name = "multiple_mesh_one_material.fbx",
|
||||
uuid = b"597618fd497659a1b197a015fe47aa95",
|
||||
jobs = [
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "fbx",
|
||||
builder_guid=b"0bbfc8c191374404bd9464c0364efbfb",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=2,
|
||||
products = [
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="twomeshonematerial/multiple_mesh_one_material.dccmtl",
|
||||
sub_id=-1706078587,
|
||||
asset_type=b"c88469cf21e741eb96fdbf14fbb05edc"
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="twomeshonematerial/test_cube.cgf",
|
||||
sub_id=-112145915,
|
||||
asset_type=b"c2869e3bdda04e018fe36770d788866b"
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="twomeshonematerial/test_cylinder.cgf",
|
||||
sub_id=2087742249,
|
||||
asset_type=b"c2869e3bdda04e018fe36770d788866b"
|
||||
),
|
||||
],
|
||||
),
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "Scene compilation",
|
||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||
@@ -279,25 +189,6 @@ blackbox_fbx_tests = [
|
||||
source_file_name = "multiple_mesh_linked_materials.fbx",
|
||||
uuid = b"25d8301c2eef5dc7bded310db8ea608d",
|
||||
jobs = [
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "fbx",
|
||||
builder_guid=b"0bbfc8c191374404bd9464c0364efbfb",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=2,
|
||||
products = [
|
||||
asset_db_utils.DBProduct(
|
||||
product_name='twomeshlinkedmaterials/multiple_mesh_linked_materials.cgf',
|
||||
sub_id=1259347154,
|
||||
asset_type=b'c2869e3bdda04e018fe36770d788866b'
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name='twomeshlinkedmaterials/multiple_mesh_linked_materials.dccmtl',
|
||||
sub_id=1829742731,
|
||||
asset_type=b'c88469cf21e741eb96fdbf14fbb05edc'
|
||||
),
|
||||
],
|
||||
),
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "Scene compilation",
|
||||
platform= "pc",
|
||||
@@ -331,25 +222,6 @@ blackbox_fbx_tests = [
|
||||
source_file_name = "single_mesh_multiple_materials.fbx",
|
||||
uuid = b"f08fd585dfa35881b4bf86637da5e858",
|
||||
jobs = [
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "fbx",
|
||||
builder_guid=b"0bbfc8c191374404bd9464c0364efbfb",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=2,
|
||||
products = [
|
||||
asset_db_utils.DBProduct(
|
||||
product_name='onemeshmultiplematerials/single_mesh_multiple_materials.cgf',
|
||||
sub_id=1296081148,
|
||||
asset_type=b'c2869e3bdda04e018fe36770d788866b'
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name='onemeshmultiplematerials/single_mesh_multiple_materials.dccmtl',
|
||||
sub_id=-229825489,
|
||||
asset_type=b'c88469cf21e741eb96fdbf14fbb05edc'
|
||||
),
|
||||
],
|
||||
),
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "Scene compilation",
|
||||
platform= "pc",
|
||||
@@ -381,20 +253,6 @@ blackbox_fbx_tests = [
|
||||
source_file_name="VertexColor.fbx",
|
||||
uuid=b"207e7e1540785a26b064e9be67361cdf",
|
||||
jobs=[
|
||||
asset_db_utils.DBJob(
|
||||
job_key="fbx",
|
||||
builder_guid=b"0bbfc8c191374404bd9464c0364efbfb",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=2,
|
||||
products=[
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="vertexcolor/vertexcolor.cgf",
|
||||
sub_id=-427774918,
|
||||
asset_type=b"c2869e3bdda04e018fe36770d788866b"
|
||||
),
|
||||
],
|
||||
),
|
||||
asset_db_utils.DBJob(
|
||||
job_key="Scene compilation",
|
||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||
@@ -425,35 +283,12 @@ blackbox_fbx_special_tests = [
|
||||
asset_folder= "TwoMeshTwoMaterial",
|
||||
override_asset_folder = "OverrideAssetInfoForTwoMeshTwoMaterial",
|
||||
scene_debug_file="multiple_mesh_multiple_material.dbgsg",
|
||||
override_scene_debug_file="multiple_mesh_multiple_material_override.dbgsg",
|
||||
assets = [
|
||||
asset_db_utils.DBSourceAsset(
|
||||
source_file_name = "multiple_mesh_multiple_material.fbx",
|
||||
uuid = b"b5915fb874af5c8a866ccabbddb57595",
|
||||
jobs = [
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "fbx",
|
||||
builder_guid=b"0bbfc8c191374404bd9464c0364efbfb",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=2,
|
||||
products = [
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="twomeshtwomaterial/multiple_mesh_multiple_material.dccmtl",
|
||||
sub_id=-1035023097,
|
||||
asset_type=b"c88469cf21e741eb96fdbf14fbb05edc"
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="twomeshtwomaterial/test_cube_mesh.cgf",
|
||||
sub_id=-1822360172,
|
||||
asset_type=b"c2869e3bdda04e018fe36770d788866b"
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="twomeshtwomaterial/test_cylinder_mesh.cgf",
|
||||
sub_id=-1885293549,
|
||||
asset_type=b"c2869e3bdda04e018fe36770d788866b"
|
||||
),
|
||||
],
|
||||
),
|
||||
asset_db_utils.DBJob(
|
||||
job_key="Scene compilation",
|
||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||
@@ -475,25 +310,6 @@ blackbox_fbx_special_tests = [
|
||||
source_file_name = "multiple_mesh_multiple_material.fbx",
|
||||
uuid = b"b5915fb874af5c8a866ccabbddb57595",
|
||||
jobs = [
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "fbx",
|
||||
builder_guid=b"0bbfc8c191374404bd9464c0364efbfb",
|
||||
status=4,
|
||||
error_count=0,
|
||||
warning_count=2,
|
||||
products = [
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="twomeshtwomaterial/multiple_mesh_multiple_material.dccmtl",
|
||||
sub_id=-1035023097,
|
||||
asset_type=b"c88469cf21e741eb96fdbf14fbb05edc"
|
||||
),
|
||||
asset_db_utils.DBProduct(
|
||||
product_name="twomeshtwomaterial/test_cube_mesh.cgf",
|
||||
sub_id=-1822360172,
|
||||
asset_type=b"c2869e3bdda04e018fe36770d788866b"
|
||||
),
|
||||
],
|
||||
),
|
||||
asset_db_utils.DBJob(
|
||||
job_key= "Scene compilation",
|
||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||
@@ -574,7 +390,7 @@ class TestsFBX_AllPlatforms(object):
|
||||
for job in expected_source.jobs:
|
||||
job.platform = ASSET_PROCESSOR_PLATFORM_MAP[workspace.asset_processor_platform]
|
||||
for product in job.products:
|
||||
product.product_name = job.platform + "/" + project.lower() + "/" \
|
||||
product.product_name = job.platform + "/" \
|
||||
+ product.product_name
|
||||
|
||||
|
||||
@@ -605,7 +421,8 @@ class TestsFBX_AllPlatforms(object):
|
||||
asset_processor.prepare_test_environment(ap_setup_fixture['tests_dir'], test_assets_folder,
|
||||
use_current_root=True, add_scan_folder=False,
|
||||
existing_function_name=blackbox_params.asset_folder)
|
||||
asset_processor.batch_process(extra_params="--debugOutput")
|
||||
asset_processor.batch_process(extra_params=["--debugOutput",
|
||||
"--regset=\"/O3DE/SceneAPI/AssetImporter/SkipAtomOutput=true\""])
|
||||
|
||||
logger.info(f"Validating assets.")
|
||||
assetsToValidate = blackbox_params.override_assets if overrideAsset else blackbox_params.assets
|
||||
@@ -628,8 +445,11 @@ class TestsFBX_AllPlatforms(object):
|
||||
ASSET_PROCESSOR_PLATFORM_MAP[workspace.asset_processor_platform]))
|
||||
|
||||
if blackbox_params.scene_debug_file:
|
||||
scene_debug_file = blackbox_params.override_scene_debug_file if overrideAsset\
|
||||
else blackbox_params.scene_debug_file
|
||||
|
||||
debug_graph_path = os.path.join(asset_processor.project_test_cache_folder(), blackbox_params.scene_debug_file)
|
||||
expected_debug_graph_path = os.path.join(asset_processor.project_test_source_folder(), blackbox_params.scene_debug_file)
|
||||
expected_debug_graph_path = os.path.join(asset_processor.project_test_source_folder(), scene_debug_file)
|
||||
|
||||
logger.info(f"Parsing scene graph: {debug_graph_path}")
|
||||
with open(debug_graph_path, "r") as scene_file:
|
||||
|
||||
@@ -89,13 +89,13 @@ def clear_all_missing_dependencies(asset_db_path) -> None:
|
||||
class DBProduct:
|
||||
product_name: str = None
|
||||
sub_id: int = 0
|
||||
asset_type: str = None
|
||||
asset_type: bytes = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class DBJob:
|
||||
job_key: str = None
|
||||
builder_guid: str = None
|
||||
builder_guid: bytes = None
|
||||
status: int = 0
|
||||
error_count: int = 0
|
||||
warning_count: int = 0
|
||||
@@ -107,7 +107,7 @@ class DBJob:
|
||||
@dataclass
|
||||
class DBSourceAsset:
|
||||
source_file_name: str = None
|
||||
uuid: str = None
|
||||
uuid: bytes = None
|
||||
scan_folder_key: str = field(compare=False, default=None)
|
||||
id: str = field(compare=False, default=None)
|
||||
# Key: Job ID
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f0f4d4e0155feaa76c80a14128000a0fd9570ab76e79f4847eaef9006324a4d2
|
||||
size 9084
|
||||
oid sha256:19f2c4454bb395cdc0a36d1e45e6a384bbd23037af1a2fb93e088ecfa0f10e5b
|
||||
size 9343
|
||||
|
||||
+1009
-1011
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
<Environment />
|
||||
@@ -1 +0,0 @@
|
||||
<TimeOfDay Time="12"/>
|
||||
@@ -1,6 +1,6 @@
|
||||
<download name="ClientAuth" type="Map">
|
||||
<index src="filelist.xml" dest="filelist.xml"/>
|
||||
<files>
|
||||
<file src="level.pak" dest="level.pak" size="ED0" md5="dbf5115226e4b0ea38ebdc3967ba3aa9"/>
|
||||
<file src="level.pak" dest="level.pak" size="E1A" md5="fecbc160ebc2186184504482e3e2eba3"/>
|
||||
</files>
|
||||
</download>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:da041115014f11696d5878d5c21247c17b8d694fa9674e30692259261a7223a2
|
||||
size 3792
|
||||
oid sha256:8a674e05824e5ceec13a0487b318923568710bc8269e5be84adad59c495a7ceb
|
||||
size 3610
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:43b1a23b62fe2ffa05545ac99524f40b6fff49d6e35925b9d6138c00d8082e86
|
||||
size 9073
|
||||
oid sha256:a1c0b621525b8e88c3775ea4c60c2197d1e1b060ace9bad9d6efcb0532817e44
|
||||
size 9356
|
||||
|
||||
+4224
-4238
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
<download name="ClientAuthPasswordSignIn" type="Map">
|
||||
<index src="filelist.xml" dest="filelist.xml"/>
|
||||
<files>
|
||||
<file src="level.pak" dest="level.pak" size="DDF" md5="ebe91ae5f1ea1ec735b6650b14f3f95b"/>
|
||||
<file src="level.pak" dest="level.pak" size="E53" md5="12728d49c7efe0c8e83e3651a1d13ca6"/>
|
||||
</files>
|
||||
</download>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a58292341785cb260dc0ccf346259e35e2817ee48fc401a21ab528f6afb97b52
|
||||
size 3551
|
||||
oid sha256:f318a1787069385de291660f79e350cea2ca2c3ef3b5e0576686066bd9c49395
|
||||
size 3667
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f3d5121b26608b02747e245071ccff29ac57358cb6349ec9495a7a003ac12467
|
||||
size 8942
|
||||
oid sha256:afc5d665128738e6bea09e78a16ee38acc923a8ecefff90d987858ce72c395fa
|
||||
size 9360
|
||||
|
||||
+1546
-1554
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
<download name="ClientAuthPasswordSignUp" type="Map">
|
||||
<index src="filelist.xml" dest="filelist.xml"/>
|
||||
<files>
|
||||
<file src="level.pak" dest="level.pak" size="DDA" md5="aa6df891d505d6d9175beee4b55626db"/>
|
||||
<file src="level.pak" dest="level.pak" size="E44" md5="acfaa325178533f135cd683d3782cc8e"/>
|
||||
</files>
|
||||
</download>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:605391d415b828b100bada11d108099520c0b6a020f17588887b610475805d90
|
||||
size 3546
|
||||
oid sha256:87882b64688a77815d93c6973929fa21b89dc6c13d4866c710124ce2cd0f411e
|
||||
size 3652
|
||||
|
||||
@@ -30,9 +30,6 @@ function metrics:OnSendMetricsFailure(requestId, errorMessage)
|
||||
end
|
||||
|
||||
function metrics:OnDeactivate()
|
||||
AWSMetricsRequestBus.Broadcast.FlushMetrics()
|
||||
Debug.Log("Stop generating new test events and flushed the buffered metrics.")
|
||||
|
||||
self.tickBusHandler:Disconnect()
|
||||
self.metricsNotificationHandler:Disconnect()
|
||||
end
|
||||
@@ -40,7 +37,7 @@ end
|
||||
function metrics:OnTick(deltaTime, timePoint)
|
||||
self.tickTime = self.tickTime + deltaTime
|
||||
|
||||
if self.tickTime > 2.0 then
|
||||
if self.tickTime > 5.0 then
|
||||
defaultAttribute = AWSMetrics_MetricsAttribute()
|
||||
defaultAttribute:SetName("event_name")
|
||||
defaultAttribute:SetStrValue("login")
|
||||
@@ -57,6 +54,9 @@ function metrics:OnTick(deltaTime, timePoint)
|
||||
if self.numSubmittedMetricsEvents % 2 == 0 then
|
||||
if AWSMetricsRequestBus.Broadcast.SubmitMetrics(attributeList.attributes, 0, "lua", false) then
|
||||
Debug.Log("Submitted metrics without buffer.")
|
||||
|
||||
AWSMetricsRequestBus.Broadcast.FlushMetrics()
|
||||
Debug.Log("Flushed the buffered metrics.")
|
||||
else
|
||||
Debug.Log("Failed to Submit metrics without buffer.")
|
||||
end
|
||||
@@ -67,7 +67,7 @@ function metrics:OnTick(deltaTime, timePoint)
|
||||
Debug.Log("Failed to Submit metrics with buffer.")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
self.numSubmittedMetricsEvents = self.numSubmittedMetricsEvents + 1
|
||||
self.tickTime = 0
|
||||
end
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -8,7 +8,7 @@ To contribute, please review our [Code of Conduct](https://github.com/o3de/o3de/
|
||||
|
||||
## Making contributions with the Developer Certificate of Origin (DCO)
|
||||
|
||||
When contributing, your pull requests will require that you have agreed to our DCO found here: [Devloper Certificate of Origin](https://developercertificate.org/)
|
||||
When contributing, your pull requests will require that you have agreed to our DCO found here: [Developer Certificate of Origin](https://developercertificate.org/). All commits require the --signoff flag to show DCO compliance.
|
||||
|
||||
You can do this by using the -s option in git.
|
||||
Example: ```git commit -s -m 'my commit message'```
|
||||
@@ -54,10 +54,9 @@ private:
|
||||
|
||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
static XmlNodeRef m_node;
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
static QString m_title;
|
||||
|
||||
static QVariant s_pendingPut;
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
QWidget* m_parent;
|
||||
QTimer m_putDebounce;
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <AzToolsFramework/Entity/SliceEditorEntityOwnershipServiceBus.h>
|
||||
#include <AzCore/Component/Component.h>
|
||||
#include <TimeValue.h>
|
||||
#include <IEditor.h>
|
||||
#endif
|
||||
|
||||
class CClouds;
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include <QtCore/QString>
|
||||
|
||||
#define DEFINE_UUID(l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
|
||||
static const GUID uuid() { return { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }; }
|
||||
@@ -69,7 +70,6 @@ enum
|
||||
#include "SandboxAPI.h"
|
||||
|
||||
class QObject;
|
||||
class QString;
|
||||
|
||||
|
||||
//! System class IDs
|
||||
@@ -121,19 +121,9 @@ struct IClassDesc
|
||||
//! create panel.
|
||||
virtual QString Category() = 0;
|
||||
|
||||
#ifdef QSTRING_H
|
||||
virtual QString MenuSuggestion() { return QString(); }
|
||||
virtual QString Tooltip() { return QString(); }
|
||||
virtual QString Description() { return QString(); }
|
||||
#else
|
||||
//! This method returns the desired menu in which this plugin class would like to be placed in the editor.
|
||||
//! It is up to the editor to determine if it can and wants to fulfill this request.
|
||||
virtual QString MenuSuggestion();
|
||||
//! This method returns the tooltip for the pane
|
||||
virtual QString Tooltip();
|
||||
//! This method returns the description for the pane
|
||||
virtual QString Description();
|
||||
#endif
|
||||
|
||||
//! This method returns if the plugin should have a menu item for its pane.
|
||||
virtual bool ShowInMenu() const { return true; }
|
||||
|
||||
@@ -15,6 +15,8 @@ struct IStatObj;
|
||||
struct IMaterial;
|
||||
class CBitmap;
|
||||
|
||||
class QImage;
|
||||
|
||||
// Note: values are used as array indices
|
||||
enum EStatObject
|
||||
{
|
||||
|
||||
@@ -11,6 +11,10 @@
|
||||
#define CRYINCLUDE_EDITOR_INCLUDE_IOBJECTMANAGER_H
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/PlatformIncl.h>
|
||||
#include <CryCommon/platform.h>
|
||||
#include <CryCommon/Cry_Geo.h>
|
||||
|
||||
// forward declarations.
|
||||
class CEntityObject;
|
||||
struct DisplayContext;
|
||||
@@ -24,6 +28,8 @@ class CViewport;
|
||||
struct HitContext;
|
||||
enum class ImageRotationDegrees;
|
||||
struct IStatObj;
|
||||
class CBaseObject;
|
||||
class XmlNodeRef;
|
||||
|
||||
#include "ObjectEvent.h"
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
||||
#include <AzCore/Component/Component.h>
|
||||
#include <AzCore/EBus/Event.h>
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QMainWindow>
|
||||
|
||||
@@ -31,6 +31,7 @@ struct IRenderAuxGeom;
|
||||
struct IIconManager;
|
||||
class CDisplaySettings;
|
||||
class CCamera;
|
||||
class QPoint;
|
||||
|
||||
enum DisplayFlags
|
||||
{
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "IEditor.h"
|
||||
#include "Include/IIconManager.h"
|
||||
#include "Include/IDisplayViewport.h"
|
||||
#include <Editor/Util/EditorUtils.h>
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QPoint>
|
||||
|
||||
@@ -20,6 +20,8 @@ class CBaseObject;
|
||||
#include "ObjectEvent.h"
|
||||
#include "Objects/BaseObject.h"
|
||||
|
||||
#include <Editor/EditorDefs.h>
|
||||
|
||||
/*!
|
||||
* CSelectionGroup is a named selection group of objects.
|
||||
*/
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
#include "ComponentEntityEditorPlugin.h"
|
||||
|
||||
#include <LyViewPaneNames.h>
|
||||
|
||||
-33
@@ -1,33 +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
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/PlatformDef.h>
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Engine
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#include <Cry_Math.h>
|
||||
#include <ISystem.h>
|
||||
#include <ISerialize.h>
|
||||
#include <CryName.h>
|
||||
#include <EditorDefs.h>
|
||||
#include <Resource.h>
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// STL
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#include <vector>
|
||||
#include <list>
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <algorithm>
|
||||
|
||||
#ifdef CreateDirectory
|
||||
#undef CreateDirectory
|
||||
#endif
|
||||
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "ComponentEntityObject.h"
|
||||
|
||||
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "SandboxIntegration.h"
|
||||
|
||||
#include <AzCore/Component/ComponentApplicationBus.h>
|
||||
@@ -83,6 +81,7 @@
|
||||
#include <Editor/StringDlg.h>
|
||||
#include <Editor/QtViewPaneManager.h>
|
||||
#include <Editor/EditorViewportSettings.h>
|
||||
#include <Editor/Util/PathUtil.h>
|
||||
#include <IResourceSelectorHost.h>
|
||||
#include "CryEdit.h"
|
||||
|
||||
|
||||
-2
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include <AzCore/Component/TransformBus.h>
|
||||
#include <AzCore/UnitTest/TestTypes.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
@@ -6,15 +6,11 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
#include <AzCore/Memory/SystemAllocator.h>
|
||||
|
||||
#include <QApplication>
|
||||
|
||||
using namespace AZ;
|
||||
|
||||
// Handle asserts
|
||||
class ToolsFrameworkHook
|
||||
: public AZ::Test::ITestEnvironment
|
||||
@@ -22,12 +18,12 @@ class ToolsFrameworkHook
|
||||
public:
|
||||
void SetupEnvironment() override
|
||||
{
|
||||
AllocatorInstance<SystemAllocator>::Create();
|
||||
AZ::AllocatorInstance<AZ::SystemAllocator>::Create();
|
||||
}
|
||||
|
||||
void TeardownEnvironment() override
|
||||
{
|
||||
AllocatorInstance<SystemAllocator>::Destroy();
|
||||
AZ::AllocatorInstance<AZ::SystemAllocator>::Destroy();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include <EditorDefs.h>
|
||||
#include "CryEdit.h"
|
||||
#include "AssetCatalogModel.h"
|
||||
#include "Objects/ComponentEntityObject.h"
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "CategoriesList.h"
|
||||
|
||||
ComponentCategoryList::ComponentCategoryList(QWidget* parent /*= nullptr*/)
|
||||
|
||||
-2
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "ComponentDataModel.h"
|
||||
|
||||
#include "Include/IObjectManager.h"
|
||||
|
||||
+1
-2
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "ComponentPaletteWindow.h"
|
||||
#include "ComponentDataModel.h"
|
||||
#include "FavoriteComponentList.h"
|
||||
@@ -27,6 +25,7 @@
|
||||
#include <AzToolsFramework/API/ViewPaneOptions.h>
|
||||
|
||||
#include <QLabel>
|
||||
#include <QKeyEvent>
|
||||
|
||||
ComponentPaletteWindow::ComponentPaletteWindow(QWidget* parent)
|
||||
: QMainWindow(parent)
|
||||
|
||||
+2
@@ -9,7 +9,9 @@
|
||||
#pragma once
|
||||
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <AzCore/PlatformIncl.h>
|
||||
#include <QMainWindow>
|
||||
#include <AzCore/Math/Guid.h>
|
||||
#endif
|
||||
|
||||
namespace AzToolsFramework
|
||||
|
||||
-2
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "FavoriteComponentList.h"
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzCore/Serialization/EditContext.h>
|
||||
|
||||
-2
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "ComponentDataModel.h"
|
||||
#include "FavoriteComponentList.h"
|
||||
#include "FilteredComponentList.h"
|
||||
|
||||
-2
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "InformationPanel.h"
|
||||
|
||||
// TODO: LMBR-28174
|
||||
|
||||
-2
@@ -5,8 +5,6 @@
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "OutlinerDisplayOptionsMenu.h"
|
||||
|
||||
#include <QIcon>
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "OutlinerListModel.hxx"
|
||||
|
||||
#include <QtCore/QMimeData>
|
||||
@@ -65,6 +63,7 @@
|
||||
|
||||
#include <Editor/CryEditDoc.h>
|
||||
#include <AzCore/Outcome/Outcome.h>
|
||||
#include <Editor/Util/PathUtil.h>
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// OutlinerListModel
|
||||
|
||||
+2
-2
@@ -5,10 +5,9 @@
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "OutlinerSearchWidget.h"
|
||||
|
||||
#include <AzCore/Casting/numeric_cast.h>
|
||||
#include <AzQtComponents/Components/FlowLayout.h>
|
||||
#include <AzQtComponents/Components/StyleManager.h>
|
||||
#include <QLabel>
|
||||
@@ -16,6 +15,7 @@
|
||||
#include <QTextDocument>
|
||||
#include <QPainter>
|
||||
#include <QToolButton>
|
||||
#include <QApplication>
|
||||
|
||||
namespace AzQtComponents
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#if !defined(DEFINED_QMETATYPE_UUID)
|
||||
#define DEFINED_QMETATYPE_UUID
|
||||
|
||||
#include <AzCore/Math/Uuid.h>
|
||||
Q_DECLARE_METATYPE(AZ::Uuid);
|
||||
#endif
|
||||
|
||||
|
||||
-2
@@ -5,8 +5,6 @@
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "OutlinerSortFilterProxyModel.hxx"
|
||||
|
||||
#include <AzCore/Component/ComponentApplication.h>
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "OutlinerTreeView.hxx"
|
||||
#include "OutlinerListModel.hxx"
|
||||
|
||||
@@ -19,6 +17,7 @@
|
||||
#include <QDrag>
|
||||
#include <QPainter>
|
||||
#include <QHeaderView>
|
||||
#include <QMouseEvent>
|
||||
|
||||
OutlinerTreeView::OutlinerTreeView(QWidget* pParent)
|
||||
: QTreeView(pParent)
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include <CryCommon/platform.h>
|
||||
#include "MainWindow.h" // for MainWindow
|
||||
|
||||
#include "OutlinerListModel.hxx"
|
||||
|
||||
-2
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "UI/QComponentEntityEditorMainWindow.h"
|
||||
|
||||
#include <AzCore/Component/Entity.h>
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
#include <QMainWindow>
|
||||
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
|
||||
#include <CryCommon/ISystem.h>
|
||||
#endif
|
||||
|
||||
class QObjectPropertyModel;
|
||||
|
||||
+1
-2
@@ -6,8 +6,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include <EditorDefs.h>
|
||||
#include "CryEdit.h"
|
||||
#include "UI/QComponentEntityEditorOutlinerWindow.h"
|
||||
#include "UI/Outliner/OutlinerWidget.hxx"
|
||||
|
||||
-2
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
#include "UI/QComponentLevelEntityEditorMainWindow.h"
|
||||
|
||||
#include <AzCore/Component/Entity.h>
|
||||
|
||||
-1
@@ -12,7 +12,6 @@ set(FILES
|
||||
ComponentEntityEditorPlugin.cpp
|
||||
SandboxIntegration.h
|
||||
SandboxIntegration.cpp
|
||||
ComponentEntityEditorPlugin_precompiled.h
|
||||
UI/QComponentEntityEditorMainWindow.h
|
||||
UI/QComponentEntityEditorMainWindow.cpp
|
||||
UI/QComponentLevelEntityEditorMainWindow.h
|
||||
|
||||
@@ -6,15 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
||||
|
||||
// All plugins suffer from the following warning:
|
||||
// warning C4273: 'GetIEditor' : inconsistent dll linkage
|
||||
// GetIEditor() is forward-declared using EDITOR_CORE_API, which without EDITOR_CORE set,
|
||||
// results in dllimport rather than dllexport. This define ensure it's consistently and
|
||||
// properly defined for export.
|
||||
#define EDITOR_CORE
|
||||
|
||||
#include <platform.h>
|
||||
|
||||
#include <IEditor.h>
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "EditorAssetImporter_precompiled.h"
|
||||
#include <AssetBrowserContextProvider.h>
|
||||
#include <AssetImporterPlugin.h>
|
||||
#include <QtCore/QMimeData>
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "EditorAssetImporter_precompiled.h"
|
||||
#include <AssetImporterDocument.h>
|
||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||
#include <SceneAPI/SceneCore/Export/MtlMaterialExporter.h>
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "EditorAssetImporter_precompiled.h"
|
||||
#include <AssetImporterPlugin.h>
|
||||
#include <AssetImporterWindow.h>
|
||||
#include <QtViewPaneManager.h>
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "EditorAssetImporter_precompiled.h"
|
||||
#include <AssetImporterWindow.h>
|
||||
#include <ui_AssetImporterWindow.h>
|
||||
#include <AssetImporterPlugin.h>
|
||||
|
||||
@@ -15,10 +15,12 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <AzCore/PlatformIncl.h>
|
||||
#include <QMainWindow>
|
||||
#include <AssetImporterDocument.h>
|
||||
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
||||
#include <AzCore/std/smart_ptr/unique_ptr.h>
|
||||
#include <AzCore/Math/Guid.h>
|
||||
#endif
|
||||
|
||||
namespace AZStd
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "EditorAssetImporter_precompiled.h"
|
||||
#include <ImporterRootDisplay.h>
|
||||
#include <ui_ImporterRootDisplay.h>
|
||||
|
||||
|
||||
@@ -12,14 +12,10 @@
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "EditorAssetImporter_precompiled.h"
|
||||
#include "AssetImporterPlugin.h"
|
||||
|
||||
|
||||
#if defined(AZ_PLATFORM_WINDOWS)
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include <AzCore/PlatformIncl.h>
|
||||
#include <AzCore/Memory/SystemAllocator.h>
|
||||
|
||||
PLUGIN_API IPlugin* CreatePluginInstance(PLUGIN_INIT_PARAM* pInitParam)
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "EditorAssetImporter_precompiled.h"
|
||||
#include <AzCore/IO/SystemFile.h>
|
||||
#include <AzCore/std/algorithm.h>
|
||||
#include <AzCore/std/string/conversions.h>
|
||||
|
||||
@@ -20,7 +20,6 @@ set(FILES
|
||||
SceneSerializationHandler.h
|
||||
SceneSerializationHandler.cpp
|
||||
Main.cpp
|
||||
EditorAssetImporter_precompiled.h
|
||||
AssetImporter.qrc
|
||||
AssetImporterWindow.ui
|
||||
ImporterRootDisplay.ui
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "EditorCommon_precompiled.h"
|
||||
#include <ActionOutput.h>
|
||||
#include <QWidget>
|
||||
|
||||
|
||||
@@ -7,5 +7,4 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorCommon_precompiled.h"
|
||||
#include "../../Editor/RenderHelpers/AxisHelperShared.inl"
|
||||
|
||||
@@ -6,6 +6,4 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorCommon_precompiled.h"
|
||||
#include "../../Editor/Objects/DisplayContextShared.inl"
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorCommon_precompiled.h"
|
||||
#include "Ruler.h"
|
||||
|
||||
#include <QPainter>
|
||||
@@ -44,7 +43,7 @@ namespace DrawingPrimitives
|
||||
const float ticksMinPower = log10f(RULER_MIN_PIXELS_PER_TICK);
|
||||
const float ticksPowerDelta = ticksMinPower - log10f(pixelsPerUnit);
|
||||
|
||||
const int digitsAfterPoint = max(-int(ceil(ticksPowerDelta)) - 1, 0);
|
||||
const int digitsAfterPoint = AZStd::max(-int(ceil(ticksPowerDelta)) - 1, 0);
|
||||
if (pRulerPrecision)
|
||||
{
|
||||
*pRulerPrecision = digitsAfterPoint;
|
||||
@@ -160,7 +159,7 @@ namespace DrawingPrimitives
|
||||
|
||||
|
||||
char format[16] = "";
|
||||
sprintf_s(format, "%%.%df", rulerPrecision);
|
||||
azsprintf(format, "%%.%df", rulerPrecision);
|
||||
|
||||
const int height = options.m_rect.height();
|
||||
const int top = options.m_rect.top();
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorCommon_precompiled.h"
|
||||
#include "TimeSlider.h"
|
||||
|
||||
#include <QPainter>
|
||||
|
||||
@@ -5,13 +5,14 @@
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#include "EditorCommon_precompiled.h"
|
||||
|
||||
#include <platform.h>
|
||||
#include "EditorCommon.h"
|
||||
|
||||
#include "EditorCommonAPI.h"
|
||||
|
||||
#include <CryCommon/ISystem.h>
|
||||
|
||||
CEditorCommonApp::CEditorCommonApp()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,22 +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
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef VC_EXTRALEAN
|
||||
#define VC_EXTRALEAN
|
||||
#endif
|
||||
|
||||
// These redicilous dependencies are needed just to be able to use
|
||||
// Sandbox gizmos drawing and hit-testing code =(
|
||||
|
||||
#include "ISystem.h"
|
||||
#include "Include/EditorCoreAPI.h"
|
||||
#include "Util/EditorUtils.h"
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorCommon_precompiled.h"
|
||||
#include "platform.h"
|
||||
|
||||
#pragma warning(disable: 4266) // disabled warning from afk overrides
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "EditorCommon_precompiled.h"
|
||||
#include <SaveUtilities/AsyncSaveRunner.h>
|
||||
#include <AzToolsFramework/SourceControl/SourceControlAPI.h>
|
||||
#include <AzCore/IO/SystemFile.h>
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "EditorCommon_precompiled.h"
|
||||
#include <WinWidget/WinWidgetManager.h>
|
||||
|
||||
namespace WinWidget
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
#include <vector>
|
||||
#include <functional>
|
||||
|
||||
class QWidget;
|
||||
|
||||
namespace WinWidget
|
||||
{
|
||||
class EDITOR_COMMON_API WinWidgetManager
|
||||
|
||||
@@ -11,7 +11,6 @@ set(FILES
|
||||
EditorCommon.cpp
|
||||
EditorCommon.rc
|
||||
EditorCommonAPI.h
|
||||
EditorCommon_precompiled.h
|
||||
ActionOutput.h
|
||||
ActionOutput.cpp
|
||||
UiEditorDLLBus.h
|
||||
|
||||
@@ -1,14 +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
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// EditorCommon.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "EditorCommon_precompiled.h"
|
||||
@@ -7,7 +7,6 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "FFMPEGPlugin_precompiled.h"
|
||||
#include "FFMPEGPlugin.h"
|
||||
#include "CryString.h"
|
||||
typedef CryStringT<char> string;
|
||||
|
||||
@@ -1,25 +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
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/PlatformDef.h>
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRY Stuff ////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#include <platform.h>
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRY Stuff ////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#include <ISystem.h>
|
||||
#include "EditorCoreAPI.h"
|
||||
@@ -9,7 +9,6 @@
|
||||
set(FILES
|
||||
FFMPEGPlugin.rc
|
||||
main.cpp
|
||||
FFMPEGPlugin_precompiled.h
|
||||
FFMPEGPlugin.cpp
|
||||
FFMPEGPlugin.h
|
||||
)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user