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 logging
|
||||||
import os
|
import os
|
||||||
import pytest
|
import pytest
|
||||||
import time
|
|
||||||
import typing
|
import typing
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import ly_test_tools.log.log_monitor
|
import ly_test_tools.log.log_monitor
|
||||||
|
|
||||||
# fixture imports
|
# fixture imports
|
||||||
from AWS.Windows.resource_mappings.resource_mappings import resource_mappings
|
|
||||||
from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor
|
from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor
|
||||||
from .aws_metrics_utils import aws_metrics_utils
|
from .aws_metrics_utils import aws_metrics_utils
|
||||||
|
from .aws_metrics_custom_thread import AWSMetricsThread
|
||||||
|
|
||||||
AWS_METRICS_FEATURE_NAME = 'AWSMetrics'
|
AWS_METRICS_FEATURE_NAME = 'AWSMetrics'
|
||||||
GAME_LOG_NAME = 'Game.log'
|
GAME_LOG_NAME = 'Game.log'
|
||||||
|
CONTEXT_VARIABLE = ['-c', 'batch_processing=true']
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def setup(launcher: ly_test_tools.launchers.Launcher,
|
def setup(launcher: pytest.fixture,
|
||||||
cdk: pytest.fixture,
|
asset_processor: pytest.fixture) -> pytest.fixture:
|
||||||
asset_processor: asset_processor,
|
|
||||||
resource_mappings: resource_mappings,
|
|
||||||
context_variable: str = '') -> typing.Tuple[ly_test_tools.log.log_monitor.LogMonitor, str, str]:
|
|
||||||
"""
|
"""
|
||||||
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 launcher: Client launcher for running the test level.
|
||||||
:param cdk: CDK application for deploying the AWS resources.
|
|
||||||
:param asset_processor: asset_processor fixture.
|
: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.
|
: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.start()
|
||||||
asset_processor.wait_for_idle()
|
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)
|
file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), GAME_LOG_NAME)
|
||||||
remove_file(file_to_monitor)
|
|
||||||
|
|
||||||
# Initialize the log monitor.
|
# Initialize the log monitor.
|
||||||
log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_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.
|
Monitor the messages and notifications for submitting metrics.
|
||||||
:param log_monitor: Log monitor to check the log messages.
|
: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 = [
|
expected_lines = [
|
||||||
'(Script) - Submitted metrics without buffer.',
|
'(Script) - Submitted metrics without buffer.',
|
||||||
'(Script) - Submitted metrics with buffer.',
|
'(Script) - Submitted metrics with buffer.',
|
||||||
|
'(Script) - Flushed the buffered metrics.',
|
||||||
'(Script) - Metrics is sent successfully.'
|
'(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}')
|
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.
|
Verify that the metrics events are delivered to the S3 bucket and can be queried.
|
||||||
:param file_path: Path to the local file.
|
aws_metrics_utils: aws_metrics_utils fixture.
|
||||||
|
stack_name: name of the CloudFormation stack.
|
||||||
"""
|
"""
|
||||||
if os.path.exists(file_path):
|
analytics_bucket_name = aws_metrics_utils.get_analytics_bucket_name(stack_name)
|
||||||
os.remove(file_path)
|
aws_metrics_utils.verify_s3_delivery(analytics_bucket_name)
|
||||||
|
logger.info('Metrics are sent to S3.')
|
||||||
|
|
||||||
file_dir = os.path.dirname(file_path)
|
aws_metrics_utils.run_glue_crawler(f'{stack_name}-EventsCrawler')
|
||||||
if os.path.exists(file_dir) and len(os.listdir(file_dir)) == 0:
|
aws_metrics_utils.run_named_queries(f'{stack_name}-AthenaWorkGroup')
|
||||||
os.rmdir(file_dir)
|
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.SUITE_periodic
|
||||||
@pytest.mark.usefixtures('automatic_process_killer')
|
@pytest.mark.usefixtures('automatic_process_killer')
|
||||||
@pytest.mark.parametrize('project', ['AutomatedTesting'])
|
@pytest.mark.parametrize('project', ['AutomatedTesting'])
|
||||||
@pytest.mark.parametrize('level', ['AWS/Metrics'])
|
@pytest.mark.parametrize('level', ['AWS/Metrics'])
|
||||||
@pytest.mark.parametrize('feature_name', [AWS_METRICS_FEATURE_NAME])
|
@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.parametrize('resource_mappings_filename', ['default_aws_resource_mappings.json'])
|
||||||
|
@pytest.mark.usefixtures('aws_credentials')
|
||||||
@pytest.mark.parametrize('profile_name', ['AWSAutomationTest'])
|
@pytest.mark.parametrize('profile_name', ['AWSAutomationTest'])
|
||||||
@pytest.mark.parametrize('region_name', ['us-west-2'])
|
@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('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('session_name', ['o3de-Automation-session'])
|
||||||
|
@pytest.mark.parametrize('deployment_params', [CONTEXT_VARIABLE])
|
||||||
class TestAWSMetricsWindows(object):
|
class TestAWSMetricsWindows(object):
|
||||||
def test_realtime_analytics_metrics_sent_to_cloudwatch(self,
|
"""
|
||||||
level: str,
|
Test class to verify the real-time and batch analytics for metrics.
|
||||||
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)
|
|
||||||
|
|
||||||
# Start the Kinesis Data Analytics application for real-time analytics.
|
@pytest.mark.parametrize('destroy_stacks_on_teardown', [False])
|
||||||
analytics_application_name = f'{stack_name}-AnalyticsApplication'
|
def test_realtime_and_batch_analytics(self,
|
||||||
aws_metrics_utils.start_kinesis_data_analytics_application(analytics_application_name)
|
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 = ['+LoadLevel', level]
|
||||||
launcher.args.extend(['-rhi=null'])
|
launcher.args.extend(['-rhi=null'])
|
||||||
|
start_time = datetime.utcnow()
|
||||||
with launcher.start(launch_ap=False):
|
with launcher.start(launch_ap=False):
|
||||||
start_time = datetime.utcnow()
|
|
||||||
monitor_metrics_submission(log_monitor)
|
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_utils.verify_cloud_watch_delivery(
|
||||||
AWS_METRICS_FEATURE_NAME,
|
AWS_METRICS_FEATURE_NAME,
|
||||||
'TotalLogins',
|
'TotalLogins',
|
||||||
[],
|
[],
|
||||||
start_time)
|
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.
|
# Run time-consuming verifications on separate threads to avoid blocking the test.
|
||||||
aws_metrics_utils.stop_kinesis_data_analytics_application(analytics_application_name)
|
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,
|
def test_unauthorized_user_request_rejected(self,
|
||||||
level: str,
|
level: str,
|
||||||
launcher: ly_test_tools.launchers.Launcher,
|
launcher: pytest.fixture,
|
||||||
cdk: pytest.fixture,
|
|
||||||
aws_credentials: pytest.fixture,
|
|
||||||
asset_processor: pytest.fixture,
|
asset_processor: pytest.fixture,
|
||||||
resource_mappings: pytest.fixture,
|
|
||||||
workspace: 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.
|
# Set invalid AWS credentials.
|
||||||
launcher.args = ['+LoadLevel', level, '+cl_awsAccessKey', 'AKIAIOSFODNN7EXAMPLE',
|
launcher.args = ['+LoadLevel', level, '+cl_awsAccessKey', 'AKIAIOSFODNN7EXAMPLE',
|
||||||
'+cl_awsSecretKey', 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY']
|
'+cl_awsSecretKey', 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY']
|
||||||
@@ -180,51 +211,3 @@ class TestAWSMetricsWindows(object):
|
|||||||
halt_on_unexpected=True)
|
halt_on_unexpected=True)
|
||||||
assert result, 'Metrics events are sent successfully by unauthorized user'
|
assert result, 'Metrics events are sent successfully by unauthorized user'
|
||||||
logger.info('Unauthorized user is rejected to send metrics.')
|
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 datetime import datetime
|
||||||
from botocore.exceptions import WaiterError
|
from botocore.exceptions import WaiterError
|
||||||
|
|
||||||
from AWS.common.aws_utils import AwsUtils
|
|
||||||
from .aws_metrics_waiters import KinesisAnalyticsApplicationUpdatedWaiter, \
|
from .aws_metrics_waiters import KinesisAnalyticsApplicationUpdatedWaiter, \
|
||||||
CloudWatchMetricsDeliveredWaiter, DataLakeMetricsDeliveredWaiter, GlueCrawlerReadyWaiter
|
CloudWatchMetricsDeliveredWaiter, DataLakeMetricsDeliveredWaiter, GlueCrawlerReadyWaiter
|
||||||
|
|
||||||
@@ -29,7 +28,7 @@ class AWSMetricsUtils:
|
|||||||
Provide utils functions for the AWSMetrics gem to interact with the deployed resources.
|
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
|
self._aws_util = aws_utils
|
||||||
|
|
||||||
def start_kinesis_data_analytics_application(self, application_name: str) -> None:
|
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", {})}'
|
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:
|
Empty the S3 bucket following:
|
||||||
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/migrations3.html
|
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/migrations3.html
|
||||||
|
|
||||||
:param bucket_name: Name of the S3 bucket.
|
:param bucket_name: Name of the S3 bucket.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
s3 = self._aws_util.resource('s3')
|
s3 = self._aws_util.resource('s3')
|
||||||
bucket = s3.Bucket(bucket_name)
|
bucket = s3.Bucket(bucket_name)
|
||||||
|
|
||||||
|
|||||||
@@ -72,15 +72,14 @@ class Cdk:
|
|||||||
f'\nError:{error.stderr}')
|
f'\nError:{error.stderr}')
|
||||||
|
|
||||||
def setup(self, cdk_path: str, project: str, account_id: str,
|
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 cdk_path: Path where cdk app.py is stored.
|
||||||
:param project: Project name used for cdk project name env variable.
|
:param project: Project name used for cdk project name env variable.
|
||||||
:param account_id: AWS account id to use with cdk application.
|
:param account_id: AWS account id to use with cdk application.
|
||||||
:param workspace: ly_test_tools workspace fixture.
|
: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()
|
self._cdk_env = os.environ.copy()
|
||||||
unique_id = uuid.uuid4().hex[-4:]
|
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
|
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}')
|
logger.info(f'Installing cdk python dependencies: {output}')
|
||||||
|
|
||||||
if bootstrap_required:
|
self.bootstrap()
|
||||||
self.bootstrap()
|
|
||||||
|
|
||||||
def bootstrap(self) -> None:
|
def bootstrap(self) -> None:
|
||||||
"""
|
"""
|
||||||
@@ -124,15 +122,19 @@ class Cdk:
|
|||||||
logger.warning(f'Failed creating Bootstrap stack {BOOTSTRAP_STACK_NAME} not found. '
|
logger.warning(f'Failed creating Bootstrap stack {BOOTSTRAP_STACK_NAME} not found. '
|
||||||
f'\nError:{clientError["Error"]["Message"]}')
|
f'\nError:{clientError["Error"]["Message"]}')
|
||||||
|
|
||||||
def list(self) -> List[str]:
|
def list(self, deployment_params: List[str] = None) -> List[str]:
|
||||||
"""
|
"""
|
||||||
lists cdk stack names
|
lists cdk stack names.
|
||||||
:return List of 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:
|
if not self._cdk_path:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
list_cdk_application_cmd = ['cdk', 'list']
|
list_cdk_application_cmd = ['cdk', 'list']
|
||||||
|
if deployment_params:
|
||||||
|
list_cdk_application_cmd.extend(deployment_params)
|
||||||
|
|
||||||
output = process_utils.check_output(
|
output = process_utils.check_output(
|
||||||
list_cdk_application_cmd,
|
list_cdk_application_cmd,
|
||||||
cwd=self._cdk_path,
|
cwd=self._cdk_path,
|
||||||
@@ -141,36 +143,36 @@ class Cdk:
|
|||||||
|
|
||||||
return output.splitlines()
|
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:
|
if not self._cdk_path:
|
||||||
return
|
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(
|
process_utils.check_output(
|
||||||
list_cdk_application_cmd,
|
synth_cdk_application_cmd,
|
||||||
cwd=self._cdk_path,
|
cwd=self._cdk_path,
|
||||||
env=self._cdk_env,
|
env=self._cdk_env,
|
||||||
shell=True)
|
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.
|
Deploys all the CDK stacks.
|
||||||
:param context_variable: Context variable for enabling optional features.
|
:param deployment_params: Deployment parameters like --all can be passed in this way.
|
||||||
:param additonal_params: Additonal parameters like --all can be passed in this way.
|
|
||||||
:return List of deployed stack arns.
|
:return List of deployed stack arns.
|
||||||
"""
|
"""
|
||||||
if not self._cdk_path:
|
if not self._cdk_path:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
deploy_cdk_application_cmd = ['cdk', 'deploy', '--require-approval', 'never']
|
deploy_cdk_application_cmd = ['cdk', 'deploy', '--require-approval', 'never']
|
||||||
if additonal_params:
|
if deployment_params:
|
||||||
deploy_cdk_application_cmd.extend(additonal_params)
|
deploy_cdk_application_cmd.extend(deployment_params)
|
||||||
if context_variable:
|
|
||||||
deploy_cdk_application_cmd.extend(['-c', f'{context_variable}'])
|
|
||||||
|
|
||||||
output = process_utils.check_output(
|
output = process_utils.check_output(
|
||||||
deploy_cdk_application_cmd,
|
deploy_cdk_application_cmd,
|
||||||
@@ -178,21 +180,23 @@ class Cdk:
|
|||||||
env=self._cdk_env,
|
env=self._cdk_env,
|
||||||
shell=True)
|
shell=True)
|
||||||
|
|
||||||
stacks = []
|
|
||||||
for line in output.splitlines():
|
for line in output.splitlines():
|
||||||
line_sections = line.split('/')
|
line_sections = line.split('/')
|
||||||
assert len(line_sections), 3
|
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.
|
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}')
|
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:
|
try:
|
||||||
process_utils.check_output(
|
process_utils.check_output(
|
||||||
@@ -238,3 +242,7 @@ class Cdk:
|
|||||||
# self._session.client('cloudformation').delete_stack(
|
# self._session.client('cloudformation').delete_stack(
|
||||||
# StackName=BOOTSTRAP_STACK_NAME
|
# 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
|
import ly_test_tools.log.log_monitor
|
||||||
|
|
||||||
# fixture imports
|
# fixture imports
|
||||||
from AWS.Windows.resource_mappings.resource_mappings import resource_mappings
|
from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor
|
||||||
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_PROJECT_NAME = 'AWS-AutomationTest'
|
||||||
AWS_CLIENT_AUTH_FEATURE_NAME = 'AWSClientAuth'
|
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('region_name', ['us-west-2'])
|
||||||
@pytest.mark.parametrize('assume_role_arn', ['arn:aws:iam::645075835648:role/o3de-automation-tests'])
|
@pytest.mark.parametrize('assume_role_arn', ['arn:aws:iam::645075835648:role/o3de-automation-tests'])
|
||||||
@pytest.mark.parametrize('session_name', ['o3de-Automation-session'])
|
@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,
|
def test_password_signin_credentials(self,
|
||||||
launcher: pytest.fixture,
|
launcher: pytest.fixture,
|
||||||
cdk: pytest.fixture,
|
cdk: pytest.fixture,
|
||||||
@@ -51,13 +84,12 @@ class TestAWSClientAuthPasswordSignIn(object):
|
|||||||
aws_utils: pytest.fixture
|
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.
|
Setup: Deploys cdk and updates resource mapping file.
|
||||||
Tests: Sign up new test user, admin confirm the user, sign in and get aws credentials.
|
Tests: Sign up new test user, admin confirm the user, sign in and get aws credentials.
|
||||||
Verification: Log monitor looks for success credentials log.
|
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.start()
|
||||||
asset_processor.wait_for_idle()
|
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 os
|
||||||
import logging
|
import logging
|
||||||
import time
|
import typing
|
||||||
|
import shutil
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import ly_test_tools
|
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
|
import ly_test_tools.o3de.asset_processor_utils as asset_processor_utils
|
||||||
|
|
||||||
from botocore.exceptions import ClientError
|
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
|
from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor
|
||||||
|
|
||||||
AWS_CORE_FEATURE_NAME = 'AWSCore'
|
AWS_CORE_FEATURE_NAME = 'AWSCore'
|
||||||
@@ -29,18 +29,49 @@ GAME_LOG_NAME = 'Game.log'
|
|||||||
logger = logging.getLogger(__name__)
|
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()
|
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.start()
|
||||||
asset_processor.wait_for_idle()
|
asset_processor.wait_for_idle()
|
||||||
|
|
||||||
file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), GAME_LOG_NAME)
|
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)
|
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
|
@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.parametrize('resource_mappings_filename', [AWS_RESOURCE_MAPPING_FILE_NAME])
|
||||||
@pytest.mark.usefixtures('aws_credentials')
|
@pytest.mark.usefixtures('aws_credentials')
|
||||||
@pytest.mark.parametrize('profile_name', ['AWSAutomationTest'])
|
@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):
|
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,
|
@pytest.mark.parametrize('expected_lines', [
|
||||||
launcher: pytest.fixture,
|
['(Script) - [S3] Head object request is done',
|
||||||
cdk: pytest.fixture,
|
'(Script) - [S3] Head object success: Object example.txt is found.',
|
||||||
workspace: pytest.fixture,
|
'(Script) - [S3] Get object success: Object example.txt is downloaded.',
|
||||||
asset_processor: pytest.fixture,
|
'(Script) - [Lambda] Completed Invoke',
|
||||||
resource_mappings: pytest.fixture
|
'(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.
|
Setup: Deploys cdk and updates resource mapping file.
|
||||||
Tests: Getting AWS credentials for no signed in user.
|
Tests: Interact with AWS S3, DynamoDB and Lambda services.
|
||||||
Verification: Log monitor looks for success download. The existence and contents of the file are also verified.
|
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 = ['+LoadLevel', level]
|
||||||
launcher.args.extend(['-rhi=null'])
|
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):
|
with launcher.start(launch_ap=False):
|
||||||
result = log_monitor.monitor_log_for_lines(
|
result = log_monitor.monitor_log_for_lines(
|
||||||
expected_lines=['(Script) - [S3] Head object request is done',
|
expected_lines=expected_lines,
|
||||||
'(Script) - [S3] Head object success: Object example.txt is found.',
|
unexpected_lines=unexpected_lines,
|
||||||
'(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.'],
|
|
||||||
halt_on_unexpected=True
|
halt_on_unexpected=True
|
||||||
)
|
)
|
||||||
|
|
||||||
assert result, "Expected lines weren't found."
|
assert result, "Expected lines weren't found."
|
||||||
|
|
||||||
download_path = os.path.join(download_dir, 'output.txt')
|
assert os.path.exists(os.path.join(s3_download_dir, 'output.txt')), \
|
||||||
|
'The expected file wasn\'t successfully downloaded.'
|
||||||
file_was_downloaded = os.path.exists(download_path)
|
|
||||||
# clean up the file directories.
|
# clean up the file directories.
|
||||||
if file_was_downloaded:
|
shutil.rmtree(s3_download_dir)
|
||||||
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
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from os.path import abspath
|
|
||||||
import pytest
|
import pytest
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
@@ -107,38 +106,3 @@ class ResourceMappings:
|
|||||||
|
|
||||||
def get_resource_name_id(self, resource_key: str):
|
def get_resource_name_id(self, resource_key: str):
|
||||||
return self._resource_mappings[AWS_RESOURCE_MAPPINGS_KEY][resource_key]['Name/ID']
|
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
|
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
"""
|
"""
|
||||||
import pytest
|
|
||||||
import logging
|
import logging
|
||||||
|
from os.path import abspath
|
||||||
|
import pytest
|
||||||
|
import typing
|
||||||
|
|
||||||
from AWS.common.aws_utils import AwsUtils
|
from AWS.common.aws_utils import AwsUtils
|
||||||
from AWS.common.aws_credentials import AwsCredentials
|
from AWS.common.aws_credentials import AwsCredentials
|
||||||
from AWS.Windows.cdk.cdk_utils import Cdk
|
from AWS.Windows.cdk.cdk_utils import Cdk
|
||||||
|
from AWS.Windows.resource_mappings.resource_mappings import ResourceMappings
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -42,6 +46,41 @@ def aws_utils(
|
|||||||
pytest.cdk_obj = None
|
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')
|
@pytest.fixture(scope='function')
|
||||||
def cdk(
|
def cdk(
|
||||||
request: pytest.fixture,
|
request: pytest.fixture,
|
||||||
@@ -49,8 +88,9 @@ def cdk(
|
|||||||
feature_name: str,
|
feature_name: str,
|
||||||
workspace: pytest.fixture,
|
workspace: pytest.fixture,
|
||||||
aws_utils: pytest.fixture,
|
aws_utils: pytest.fixture,
|
||||||
bootstrap_required: bool = True,
|
resource_mappings: pytest.fixture,
|
||||||
destroy_stacks_on_teardown: bool = True) -> Cdk:
|
deployment_params: typing.List[str],
|
||||||
|
destroy_stacks_on_teardown: bool) -> Cdk:
|
||||||
"""
|
"""
|
||||||
Fixture for setting up a Cdk
|
Fixture for setting up a Cdk
|
||||||
:param request: _pytest.fixtures.SubRequest class that handles getting
|
: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 feature_name: Feature gem name to expect cdk folder in.
|
||||||
:param workspace: ly_test_tools workspace fixture.
|
:param workspace: ly_test_tools workspace fixture.
|
||||||
:param aws_utils: aws_utils fixture.
|
:param aws_utils: aws_utils fixture.
|
||||||
:param bootstrap_required: Whether the bootstrap stack needs to be created to
|
:param resource_mappings: resource_mappings fixture.
|
||||||
provision resources the AWS CDK needs to perform the deployment.
|
:param deployment_params: Parameters for the CDK application deployment.
|
||||||
:param destroy_stacks_on_teardown: option to control calling destroy ot the end of test.
|
:param destroy_stacks_on_teardown: option to control calling destroy ot the end of test.
|
||||||
:return Cdk class object.
|
:return Cdk class object.
|
||||||
"""
|
"""
|
||||||
@@ -70,22 +110,27 @@ def cdk(
|
|||||||
|
|
||||||
if pytest.cdk_obj is None:
|
if pytest.cdk_obj is None:
|
||||||
pytest.cdk_obj = Cdk()
|
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():
|
def teardown():
|
||||||
if destroy_stacks_on_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.
|
# Enable after https://github.com/aws/aws-cdk/issues/986 is fixed.
|
||||||
# Until then clean the bootstrap bucket manually.
|
# 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)
|
request.addfinalizer(teardown)
|
||||||
|
|
||||||
return pytest.cdk_obj
|
return pytest.cdk_obj
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def aws_credentials(request: pytest.fixture, aws_utils: pytest.fixture, profile_name: str):
|
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
|
ProductName: OneMeshOneMaterial.dbgsg
|
||||||
debugSceneGraphVersion: 1
|
debugSceneGraphVersion: 1
|
||||||
OneMeshOneMaterial
|
OneMeshOneMaterial
|
||||||
|
Node Name: Cube
|
||||||
Node Path: RootNode.Cube
|
Node Path: RootNode.Cube
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 24. Hash: 8661923109306356285
|
Positions: Count 24. Hash: 8661923109306356285
|
||||||
Normals: Count 24. Hash: 5807525742165000561
|
Normals: Count 24. Hash: 5807525742165000561
|
||||||
FaceList: Count 12. Hash: 17730128541777770264
|
FaceList: Count 12. Hash: 9888799799190757436
|
||||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
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 Path: RootNode.Cube.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -16,30 +26,110 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: < 0.000000, 0.000000, 0.000000>
|
Transl: < 0.000000, 0.000000, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.Cube.UVMap
|
Node Path: RootNode.Cube.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 24. Hash: 1622169145591646736
|
UVs: Count 24. Hash: 1622169145591646736
|
||||||
UVCustomName: UVMap
|
UVCustomName: UVMap
|
||||||
|
|
||||||
|
Node Name: CubeMaterial
|
||||||
Node Path: RootNode.Cube.CubeMaterial
|
Node Path: RootNode.Cube.CubeMaterial
|
||||||
Node Type: MaterialData
|
Node Type: MaterialData
|
||||||
MaterialName: CubeMaterial
|
MaterialName: CubeMaterial
|
||||||
UniqueId: 40
|
UniqueId: 973942033197978066
|
||||||
IsNoDraw: false
|
IsNoDraw: false
|
||||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
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>
|
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||||
Opacity: 1.000000
|
Opacity: 1.000000
|
||||||
Shininess: 36.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 Path: RootNode.Cube.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 24. Hash: 13438447437797057049
|
Tangents: Count 24. Hash: 13438447437797057049
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.Cube.BitangentSet_MikkT_0
|
Node Path: RootNode.Cube.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 24. Hash: 11372562338897179017
|
Bitangents: Count 24. Hash: 11372562338897179017
|
||||||
TangentSpace: 1
|
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
|
ProductName: lodtest.dbgsg
|
||||||
debugSceneGraphVersion: 1
|
debugSceneGraphVersion: 1
|
||||||
lodtest
|
lodtest
|
||||||
|
Node Name: lodtest
|
||||||
Node Path: RootNode.lodtest
|
Node Path: RootNode.lodtest
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 24. Hash: 8661923109306356285
|
Positions: Count 24. Hash: 8661923109306356285
|
||||||
Normals: Count 24. Hash: 5807525742165000561
|
Normals: Count 24. Hash: 5807525742165000561
|
||||||
FaceList: Count 12. Hash: 17730128541777770264
|
FaceList: Count 12. Hash: 9888799799190757436
|
||||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||||
|
|
||||||
|
Node Name: lodtest_lod3
|
||||||
Node Path: RootNode.lodtest_lod3
|
Node Path: RootNode.lodtest_lod3
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 1984. Hash: 6600975913707260286
|
Positions: Count 1984. Hash: 6600975913707260286
|
||||||
Normals: Count 1984. Hash: 2708036977889843831
|
Normals: Count 1984. Hash: 2708036977889843831
|
||||||
FaceList: Count 960. Hash: 18299150252135919020
|
FaceList: Count 960. Hash: 10390417165025722786
|
||||||
FaceMaterialIds: Count 960. Hash: 12510609185544665964
|
FaceMaterialIds: Count 960. Hash: 12510609185544665964
|
||||||
|
|
||||||
|
Node Name: lodtest_lod2
|
||||||
Node Path: RootNode.lodtest_lod2
|
Node Path: RootNode.lodtest_lod2
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 240. Hash: 219362421205407416
|
Positions: Count 240. Hash: 219362421205407416
|
||||||
@@ -22,13 +25,47 @@ Node Type: MeshData
|
|||||||
FaceList: Count 80. Hash: 11130917988116538993
|
FaceList: Count 80. Hash: 11130917988116538993
|
||||||
FaceMaterialIds: Count 80. Hash: 4190892684086530065
|
FaceMaterialIds: Count 80. Hash: 4190892684086530065
|
||||||
|
|
||||||
|
Node Name: lodtest_lod1
|
||||||
Node Path: RootNode.lodtest_lod1
|
Node Path: RootNode.lodtest_lod1
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 192. Hash: 1283526254311745349
|
Positions: Count 192. Hash: 1283526254311745349
|
||||||
Normals: Count 192. Hash: 1873340970602844856
|
Normals: Count 192. Hash: 1873340970602844856
|
||||||
FaceList: Count 124. Hash: 4139150512255795252
|
FaceList: Count 124. Hash: 3728991722746136013
|
||||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
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 Path: RootNode.lodtest.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -37,33 +74,56 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: < 0.000000, 0.000000, 0.000000>
|
Transl: < 0.000000, 0.000000, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.lodtest.UVMap
|
Node Path: RootNode.lodtest.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 24. Hash: 1622169145591646736
|
UVs: Count 24. Hash: 1622169145591646736
|
||||||
UVCustomName: UVMap
|
UVCustomName: UVMap
|
||||||
|
|
||||||
|
Node Name: Material
|
||||||
Node Path: RootNode.lodtest.Material
|
Node Path: RootNode.lodtest.Material
|
||||||
Node Type: MaterialData
|
Node Type: MaterialData
|
||||||
MaterialName: Material
|
MaterialName: Material
|
||||||
UniqueId: 41
|
UniqueId: 11127505492038345244
|
||||||
IsNoDraw: false
|
IsNoDraw: false
|
||||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
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>
|
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||||
Opacity: 1.000000
|
Opacity: 1.000000
|
||||||
Shininess: 36.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 Path: RootNode.lodtest.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 24. Hash: 13438447437797057049
|
Tangents: Count 24. Hash: 13438447437797057049
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.lodtest.BitangentSet_MikkT_0
|
Node Path: RootNode.lodtest.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 24. Hash: 11372562338897179017
|
Bitangents: Count 24. Hash: 11372562338897179017
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
|
|
||||||
|
Node Name: transform
|
||||||
Node Path: RootNode.lodtest_lod3.transform
|
Node Path: RootNode.lodtest_lod3.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -72,22 +132,56 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: < 0.000000, 2.298166, 0.000000>
|
Transl: < 0.000000, 2.298166, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.lodtest_lod3.UVMap
|
Node Path: RootNode.lodtest_lod3.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 1984. Hash: 14119273880200542497
|
UVs: Count 1984. Hash: 14119273880200542497
|
||||||
UVCustomName: UVMap
|
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 Path: RootNode.lodtest_lod3.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 1984. Hash: 18230617734432580484
|
Tangents: Count 1984. Hash: 5664494957869921957
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.lodtest_lod3.BitangentSet_MikkT_0
|
Node Path: RootNode.lodtest_lod3.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 1984. Hash: 1758062968819667297
|
Bitangents: Count 1984. Hash: 5048878728906162461
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
|
|
||||||
|
Node Name: transform
|
||||||
Node Path: RootNode.lodtest_lod2.transform
|
Node Path: RootNode.lodtest_lod2.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -96,22 +190,56 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: < 0.000000, -2.211498, 0.000000>
|
Transl: < 0.000000, -2.211498, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.lodtest_lod2.UVMap
|
Node Path: RootNode.lodtest_lod2.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 240. Hash: 13702273589593616598
|
UVs: Count 240. Hash: 13702273589593616598
|
||||||
UVCustomName: UVMap
|
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 Path: RootNode.lodtest_lod2.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 240. Hash: 12143450499217075227
|
Tangents: Count 240. Hash: 1390901212717410749
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.lodtest_lod2.BitangentSet_MikkT_0
|
Node Path: RootNode.lodtest_lod2.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 240. Hash: 2933938440535428567
|
Bitangents: Count 240. Hash: 1379238632949267281
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
|
|
||||||
|
Node Name: transform
|
||||||
Node Path: RootNode.lodtest_lod1.transform
|
Node Path: RootNode.lodtest_lod1.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -120,19 +248,284 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: < 2.410331, 0.000000, 0.000000>
|
Transl: < 2.410331, 0.000000, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.lodtest_lod1.UVMap
|
Node Path: RootNode.lodtest_lod1.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 192. Hash: 27253578623892681
|
UVs: Count 192. Hash: 27253578623892681
|
||||||
UVCustomName: UVMap
|
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 Path: RootNode.lodtest_lod1.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 192. Hash: 5663634855689915515
|
Tangents: Count 192. Hash: 11165448242141781141
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.lodtest_lod1.BitangentSet_MikkT_0
|
Node Path: RootNode.lodtest_lod1.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 192. Hash: 10115392016288328891
|
Bitangents: Count 192. Hash: 7987814487334449536
|
||||||
TangentSpace: 1
|
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
|
ProductName: physicstest.dbgsg
|
||||||
debugSceneGraphVersion: 1
|
debugSceneGraphVersion: 1
|
||||||
physicstest
|
physicstest
|
||||||
|
Node Name: Cone
|
||||||
Node Path: RootNode.Cone
|
Node Path: RootNode.Cone
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 128. Hash: 7714223793259938211
|
Positions: Count 128. Hash: 7714223793259938211
|
||||||
Normals: Count 128. Hash: 2352668179264002707
|
Normals: Count 128. Hash: 2352668179264002707
|
||||||
FaceList: Count 62. Hash: 501739282148426083
|
FaceList: Count 62. Hash: 14563017593520122982
|
||||||
FaceMaterialIds: Count 62. Hash: 12234218120113875284
|
FaceMaterialIds: Count 62. Hash: 12234218120113875284
|
||||||
|
|
||||||
|
Node Name: Cube_phys
|
||||||
Node Path: RootNode.Cube_phys
|
Node Path: RootNode.Cube_phys
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 24. Hash: 3478903613105670818
|
Positions: Count 24. Hash: 3478903613105670818
|
||||||
Normals: Count 24. Hash: 7251512570672401149
|
Normals: Count 24. Hash: 7251512570672401149
|
||||||
FaceList: Count 12. Hash: 17730128541777770264
|
FaceList: Count 12. Hash: 9888799799190757436
|
||||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
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 Path: RootNode.Cone.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -23,22 +34,56 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: < 0.000000, 0.000000, 0.000000>
|
Transl: < 0.000000, 0.000000, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.Cone.UVMap
|
Node Path: RootNode.Cone.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 128. Hash: 10171083346831193808
|
UVs: Count 128. Hash: 10171083346831193808
|
||||||
UVCustomName: UVMap
|
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 Path: RootNode.Cone.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 128. Hash: 7061767882345696031
|
Tangents: Count 128. Hash: 14351734474754285313
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.Cone.BitangentSet_MikkT_0
|
Node Path: RootNode.Cone.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 128. Hash: 12648628819656324550
|
Bitangents: Count 128. Hash: 15997251922861304891
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
|
|
||||||
|
Node Name: transform
|
||||||
Node Path: RootNode.Cube_phys.transform
|
Node Path: RootNode.Cube_phys.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -47,19 +92,110 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: < 0.000000, 0.000000, 0.000000>
|
Transl: < 0.000000, 0.000000, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.Cube_phys.UVMap
|
Node Path: RootNode.Cube_phys.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 24. Hash: 13623018071435219250
|
UVs: Count 24. Hash: 13623018071435219250
|
||||||
UVCustomName: UVMap
|
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 Path: RootNode.Cube_phys.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 24. Hash: 11965897353301448436
|
Tangents: Count 24. Hash: 11965897353301448436
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.Cube_phys.BitangentSet_MikkT_0
|
Node Path: RootNode.Cube_phys.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 24. Hash: 17515781720544086759
|
Bitangents: Count 24. Hash: 17515781720544086759
|
||||||
TangentSpace: 1
|
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 Path: RootNode.Cube
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 24. Hash: 8661923109306356285
|
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
|
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
|
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
|
FaceMaterialIds: Count 12. Hash: 7113802799051126666
|
||||||
|
|
||||||
Node Name: Cone
|
Node Name: Cone
|
||||||
Node Path: RootNode.Cone
|
Node Path: RootNode.Cone
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 128. Hash: 12506421592104186200
|
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
|
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
|
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
|
FaceMaterialIds: Count 62. Hash: 15454348664434923102
|
||||||
|
|
||||||
Node Name: Cube_optimized
|
Node Name: Cube_optimized
|
||||||
Node Path: RootNode.Cube_optimized
|
Node Path: RootNode.Cube_optimized
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 24. Hash: 8661923109306356285
|
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
|
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
|
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
|
FaceMaterialIds: Count 12. Hash: 7113802799051126666
|
||||||
|
|
||||||
Node Name: Cone_optimized
|
Node Name: Cone_optimized
|
||||||
Node Path: RootNode.Cone_optimized
|
Node Path: RootNode.Cone_optimized
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 128. Hash: 14946490408303214595
|
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
|
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
|
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
|
FaceMaterialIds: Count 62. Hash: 15454348664434923102
|
||||||
|
|
||||||
Node Name: transform
|
Node Name: transform
|
||||||
|
|||||||
+188
-8
@@ -1,20 +1,39 @@
|
|||||||
ProductName: multiple_mesh_one_material.dbgsg
|
ProductName: multiple_mesh_one_material.dbgsg
|
||||||
debugSceneGraphVersion: 1
|
debugSceneGraphVersion: 1
|
||||||
multiple_mesh_one_material
|
multiple_mesh_one_material
|
||||||
|
Node Name: Cube
|
||||||
Node Path: RootNode.Cube
|
Node Path: RootNode.Cube
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 24. Hash: 8661923109306356285
|
Positions: Count 24. Hash: 8661923109306356285
|
||||||
Normals: Count 24. Hash: 5807525742165000561
|
Normals: Count 24. Hash: 5807525742165000561
|
||||||
FaceList: Count 12. Hash: 17730128541777770264
|
FaceList: Count 12. Hash: 9888799799190757436
|
||||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||||
|
|
||||||
|
Node Name: Cylinder
|
||||||
Node Path: RootNode.Cylinder
|
Node Path: RootNode.Cylinder
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 192. Hash: 1283526254311745349
|
Positions: Count 192. Hash: 1283526254311745349
|
||||||
Normals: Count 192. Hash: 1873340970602844856
|
Normals: Count 192. Hash: 1873340970602844856
|
||||||
FaceList: Count 124. Hash: 4139150512255795252
|
FaceList: Count 124. Hash: 3728991722746136013
|
||||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
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 Path: RootNode.Cube.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -23,33 +42,56 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: < 0.000000, 0.000000, 0.000000>
|
Transl: < 0.000000, 0.000000, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.Cube.UVMap
|
Node Path: RootNode.Cube.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 24. Hash: 1622169145591646736
|
UVs: Count 24. Hash: 1622169145591646736
|
||||||
UVCustomName: UVMap
|
UVCustomName: UVMap
|
||||||
|
|
||||||
|
Node Name: SingleMaterial
|
||||||
Node Path: RootNode.Cube.SingleMaterial
|
Node Path: RootNode.Cube.SingleMaterial
|
||||||
Node Type: MaterialData
|
Node Type: MaterialData
|
||||||
MaterialName: SingleMaterial
|
MaterialName: SingleMaterial
|
||||||
UniqueId: 41
|
UniqueId: 14432700632681398127
|
||||||
IsNoDraw: false
|
IsNoDraw: false
|
||||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
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>
|
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||||
Opacity: 1.000000
|
Opacity: 1.000000
|
||||||
Shininess: 25.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 Path: RootNode.Cube.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 24. Hash: 13438447437797057049
|
Tangents: Count 24. Hash: 13438447437797057049
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.Cube.BitangentSet_MikkT_0
|
Node Path: RootNode.Cube.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 24. Hash: 11372562338897179017
|
Bitangents: Count 24. Hash: 11372562338897179017
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
|
|
||||||
|
Node Name: transform
|
||||||
Node Path: RootNode.Cylinder.transform
|
Node Path: RootNode.Cylinder.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -58,30 +100,168 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: <-4.388482, 0.000000, 0.000000>
|
Transl: <-4.388482, 0.000000, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.Cylinder.UVMap
|
Node Path: RootNode.Cylinder.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 192. Hash: 27253578623892681
|
UVs: Count 192. Hash: 27253578623892681
|
||||||
UVCustomName: UVMap
|
UVCustomName: UVMap
|
||||||
|
|
||||||
|
Node Name: SingleMaterial
|
||||||
Node Path: RootNode.Cylinder.SingleMaterial
|
Node Path: RootNode.Cylinder.SingleMaterial
|
||||||
Node Type: MaterialData
|
Node Type: MaterialData
|
||||||
MaterialName: SingleMaterial
|
MaterialName: SingleMaterial
|
||||||
UniqueId: 41
|
UniqueId: 14432700632681398127
|
||||||
IsNoDraw: false
|
IsNoDraw: false
|
||||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
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>
|
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||||
Opacity: 1.000000
|
Opacity: 1.000000
|
||||||
Shininess: 25.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 Path: RootNode.Cylinder.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 192. Hash: 5663634855689915515
|
Tangents: Count 192. Hash: 11165448242141781141
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.Cylinder.BitangentSet_MikkT_0
|
Node Path: RootNode.Cylinder.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 192. Hash: 10115392016288328891
|
Bitangents: Count 192. Hash: 7987814487334449536
|
||||||
TangentSpace: 1
|
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
|
ProductName: multiple_mesh_multiple_material.dbgsg
|
||||||
debugSceneGraphVersion: 1
|
debugSceneGraphVersion: 1
|
||||||
multiple_mesh_multiple_material
|
multiple_mesh_multiple_material
|
||||||
|
Node Name: Cube
|
||||||
Node Path: RootNode.Cube
|
Node Path: RootNode.Cube
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 24. Hash: 8661923109306356285
|
Positions: Count 24. Hash: 8661923109306356285
|
||||||
Normals: Count 24. Hash: 5807525742165000561
|
Normals: Count 24. Hash: 5807525742165000561
|
||||||
FaceList: Count 12. Hash: 17730128541777770264
|
FaceList: Count 12. Hash: 9888799799190757436
|
||||||
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
FaceMaterialIds: Count 12. Hash: 7110546404675862471
|
||||||
|
|
||||||
|
Node Name: Cylinder
|
||||||
Node Path: RootNode.Cylinder
|
Node Path: RootNode.Cylinder
|
||||||
Node Type: MeshData
|
Node Type: MeshData
|
||||||
Positions: Count 192. Hash: 1283526254311745349
|
Positions: Count 192. Hash: 1283526254311745349
|
||||||
Normals: Count 192. Hash: 1873340970602844856
|
Normals: Count 192. Hash: 1873340970602844856
|
||||||
FaceList: Count 124. Hash: 4139150512255795252
|
FaceList: Count 124. Hash: 3728991722746136013
|
||||||
FaceMaterialIds: Count 124. Hash: 2372486708814455910
|
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 Path: RootNode.Cube.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -23,33 +42,56 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: < 0.000000, 0.000000, 0.000000>
|
Transl: < 0.000000, 0.000000, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.Cube.UVMap
|
Node Path: RootNode.Cube.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 24. Hash: 1622169145591646736
|
UVs: Count 24. Hash: 1622169145591646736
|
||||||
UVCustomName: UVMap
|
UVCustomName: UVMap
|
||||||
|
|
||||||
|
Node Name: SingleMaterial
|
||||||
Node Path: RootNode.Cube.SingleMaterial
|
Node Path: RootNode.Cube.SingleMaterial
|
||||||
Node Type: MaterialData
|
Node Type: MaterialData
|
||||||
MaterialName: SingleMaterial
|
MaterialName: SingleMaterial
|
||||||
UniqueId: 41
|
UniqueId: 14432700632681398127
|
||||||
IsNoDraw: false
|
IsNoDraw: false
|
||||||
DiffuseColor: < 0.814049, 0.814049, 0.814049>
|
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>
|
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||||
Opacity: 1.000000
|
Opacity: 1.000000
|
||||||
Shininess: 25.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 Path: RootNode.Cube.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 24. Hash: 13438447437797057049
|
Tangents: Count 24. Hash: 13438447437797057049
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.Cube.BitangentSet_MikkT_0
|
Node Path: RootNode.Cube.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 24. Hash: 11372562338897179017
|
Bitangents: Count 24. Hash: 11372562338897179017
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
|
|
||||||
|
Node Name: transform
|
||||||
Node Path: RootNode.Cylinder.transform
|
Node Path: RootNode.Cylinder.transform
|
||||||
Node Type: TransformData
|
Node Type: TransformData
|
||||||
Matrix:
|
Matrix:
|
||||||
@@ -58,30 +100,168 @@ Node Type: TransformData
|
|||||||
BasisZ: < 0.000000, -100.000000, -0.000016>
|
BasisZ: < 0.000000, -100.000000, -0.000016>
|
||||||
Transl: <-4.388482, 0.000000, 0.000000>
|
Transl: <-4.388482, 0.000000, 0.000000>
|
||||||
|
|
||||||
|
Node Name: UVMap
|
||||||
Node Path: RootNode.Cylinder.UVMap
|
Node Path: RootNode.Cylinder.UVMap
|
||||||
Node Type: MeshVertexUVData
|
Node Type: MeshVertexUVData
|
||||||
UVs: Count 192. Hash: 27253578623892681
|
UVs: Count 192. Hash: 27253578623892681
|
||||||
UVCustomName: UVMap
|
UVCustomName: UVMap
|
||||||
|
|
||||||
|
Node Name: SecondMaterial
|
||||||
Node Path: RootNode.Cylinder.SecondMaterial
|
Node Path: RootNode.Cylinder.SecondMaterial
|
||||||
Node Type: MaterialData
|
Node Type: MaterialData
|
||||||
MaterialName: SecondMaterial
|
MaterialName: SecondMaterial
|
||||||
UniqueId: 42
|
UniqueId: 5229255358802505087
|
||||||
IsNoDraw: false
|
IsNoDraw: false
|
||||||
DiffuseColor: < 0.800000, 0.800000, 0.800000>
|
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>
|
EmissiveColor: < 0.000000, 0.000000, 0.000000>
|
||||||
Opacity: 1.000000
|
Opacity: 1.000000
|
||||||
Shininess: 25.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 Path: RootNode.Cylinder.TangentSet_MikkT_0
|
||||||
Node Type: MeshVertexTangentData
|
Node Type: MeshVertexTangentData
|
||||||
Tangents: Count 192. Hash: 5663634855689915515
|
Tangents: Count 192. Hash: 11165448242141781141
|
||||||
TangentSpace: 1
|
TangentSpace: 1
|
||||||
SetIndex: 0
|
SetIndex: 0
|
||||||
|
|
||||||
|
Node Name: BitangentSet_MikkT_0
|
||||||
Node Path: RootNode.Cylinder.BitangentSet_MikkT_0
|
Node Path: RootNode.Cylinder.BitangentSet_MikkT_0
|
||||||
Node Type: MeshVertexBitangentData
|
Node Type: MeshVertexBitangentData
|
||||||
Bitangents: Count 192. Hash: 10115392016288328891
|
Bitangents: Count 192. Hash: 7987814487334449536
|
||||||
TangentSpace: 1
|
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
|
asset_folder: str
|
||||||
override_asset_folder: str = ""
|
override_asset_folder: str = ""
|
||||||
scene_debug_file: str = ""
|
scene_debug_file: str = ""
|
||||||
|
override_scene_debug_file: str = ""
|
||||||
assets: List[asset_db_utils.DBSourceAsset] = ()
|
assets: List[asset_db_utils.DBSourceAsset] = ()
|
||||||
override_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",
|
source_file_name = "OneMeshOneMaterial.fbx",
|
||||||
uuid = b"8a9164adb84859be893e18aa819438e1",
|
uuid = b"8a9164adb84859be893e18aa819438e1",
|
||||||
jobs = [
|
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(
|
asset_db_utils.DBJob(
|
||||||
job_key= "Scene compilation",
|
job_key= "Scene compilation",
|
||||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||||
@@ -110,46 +92,12 @@ blackbox_fbx_tests = [
|
|||||||
source_file_name = "lodtest.fbx",
|
source_file_name = "lodtest.fbx",
|
||||||
uuid = b"44c8627fe2c25aae91fe3ff9547be3b9",
|
uuid = b"44c8627fe2c25aae91fe3ff9547be3b9",
|
||||||
jobs = [
|
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(
|
asset_db_utils.DBJob(
|
||||||
job_key= "Scene compilation",
|
job_key= "Scene compilation",
|
||||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||||
status=4,
|
status=4,
|
||||||
error_count=0,
|
error_count=0,
|
||||||
warning_count=0,
|
warning_count=9,
|
||||||
products = [
|
products = [
|
||||||
asset_db_utils.DBProduct(
|
asset_db_utils.DBProduct(
|
||||||
product_name='softnaminglod/lodtest.dbgsg',
|
product_name='softnaminglod/lodtest.dbgsg',
|
||||||
@@ -176,26 +124,12 @@ blackbox_fbx_tests = [
|
|||||||
source_file_name = "physicstest.fbx",
|
source_file_name = "physicstest.fbx",
|
||||||
uuid = b"df957b7918cf5b029806c73f630fa1c8",
|
uuid = b"df957b7918cf5b029806c73f630fa1c8",
|
||||||
jobs = [
|
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(
|
asset_db_utils.DBJob(
|
||||||
job_key= "Scene compilation",
|
job_key= "Scene compilation",
|
||||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||||
status=4,
|
status=4,
|
||||||
error_count=0,
|
error_count=0,
|
||||||
warning_count=1,
|
warning_count=6,
|
||||||
products = [
|
products = [
|
||||||
asset_db_utils.DBProduct(
|
asset_db_utils.DBProduct(
|
||||||
product_name='softnamingphysics/physicstest.dbgsg',
|
product_name='softnamingphysics/physicstest.dbgsg',
|
||||||
@@ -224,30 +158,6 @@ blackbox_fbx_tests = [
|
|||||||
source_file_name = "multiple_mesh_one_material.fbx",
|
source_file_name = "multiple_mesh_one_material.fbx",
|
||||||
uuid = b"597618fd497659a1b197a015fe47aa95",
|
uuid = b"597618fd497659a1b197a015fe47aa95",
|
||||||
jobs = [
|
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(
|
asset_db_utils.DBJob(
|
||||||
job_key= "Scene compilation",
|
job_key= "Scene compilation",
|
||||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||||
@@ -279,25 +189,6 @@ blackbox_fbx_tests = [
|
|||||||
source_file_name = "multiple_mesh_linked_materials.fbx",
|
source_file_name = "multiple_mesh_linked_materials.fbx",
|
||||||
uuid = b"25d8301c2eef5dc7bded310db8ea608d",
|
uuid = b"25d8301c2eef5dc7bded310db8ea608d",
|
||||||
jobs = [
|
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(
|
asset_db_utils.DBJob(
|
||||||
job_key= "Scene compilation",
|
job_key= "Scene compilation",
|
||||||
platform= "pc",
|
platform= "pc",
|
||||||
@@ -331,25 +222,6 @@ blackbox_fbx_tests = [
|
|||||||
source_file_name = "single_mesh_multiple_materials.fbx",
|
source_file_name = "single_mesh_multiple_materials.fbx",
|
||||||
uuid = b"f08fd585dfa35881b4bf86637da5e858",
|
uuid = b"f08fd585dfa35881b4bf86637da5e858",
|
||||||
jobs = [
|
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(
|
asset_db_utils.DBJob(
|
||||||
job_key= "Scene compilation",
|
job_key= "Scene compilation",
|
||||||
platform= "pc",
|
platform= "pc",
|
||||||
@@ -381,20 +253,6 @@ blackbox_fbx_tests = [
|
|||||||
source_file_name="VertexColor.fbx",
|
source_file_name="VertexColor.fbx",
|
||||||
uuid=b"207e7e1540785a26b064e9be67361cdf",
|
uuid=b"207e7e1540785a26b064e9be67361cdf",
|
||||||
jobs=[
|
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(
|
asset_db_utils.DBJob(
|
||||||
job_key="Scene compilation",
|
job_key="Scene compilation",
|
||||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||||
@@ -425,35 +283,12 @@ blackbox_fbx_special_tests = [
|
|||||||
asset_folder= "TwoMeshTwoMaterial",
|
asset_folder= "TwoMeshTwoMaterial",
|
||||||
override_asset_folder = "OverrideAssetInfoForTwoMeshTwoMaterial",
|
override_asset_folder = "OverrideAssetInfoForTwoMeshTwoMaterial",
|
||||||
scene_debug_file="multiple_mesh_multiple_material.dbgsg",
|
scene_debug_file="multiple_mesh_multiple_material.dbgsg",
|
||||||
|
override_scene_debug_file="multiple_mesh_multiple_material_override.dbgsg",
|
||||||
assets = [
|
assets = [
|
||||||
asset_db_utils.DBSourceAsset(
|
asset_db_utils.DBSourceAsset(
|
||||||
source_file_name = "multiple_mesh_multiple_material.fbx",
|
source_file_name = "multiple_mesh_multiple_material.fbx",
|
||||||
uuid = b"b5915fb874af5c8a866ccabbddb57595",
|
uuid = b"b5915fb874af5c8a866ccabbddb57595",
|
||||||
jobs = [
|
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(
|
asset_db_utils.DBJob(
|
||||||
job_key="Scene compilation",
|
job_key="Scene compilation",
|
||||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||||
@@ -475,25 +310,6 @@ blackbox_fbx_special_tests = [
|
|||||||
source_file_name = "multiple_mesh_multiple_material.fbx",
|
source_file_name = "multiple_mesh_multiple_material.fbx",
|
||||||
uuid = b"b5915fb874af5c8a866ccabbddb57595",
|
uuid = b"b5915fb874af5c8a866ccabbddb57595",
|
||||||
jobs = [
|
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(
|
asset_db_utils.DBJob(
|
||||||
job_key= "Scene compilation",
|
job_key= "Scene compilation",
|
||||||
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
builder_guid=b"bd8bf65894854fe3830e8ec3a23c35f3",
|
||||||
@@ -574,7 +390,7 @@ class TestsFBX_AllPlatforms(object):
|
|||||||
for job in expected_source.jobs:
|
for job in expected_source.jobs:
|
||||||
job.platform = ASSET_PROCESSOR_PLATFORM_MAP[workspace.asset_processor_platform]
|
job.platform = ASSET_PROCESSOR_PLATFORM_MAP[workspace.asset_processor_platform]
|
||||||
for product in job.products:
|
for product in job.products:
|
||||||
product.product_name = job.platform + "/" + project.lower() + "/" \
|
product.product_name = job.platform + "/" \
|
||||||
+ product.product_name
|
+ product.product_name
|
||||||
|
|
||||||
|
|
||||||
@@ -605,7 +421,8 @@ class TestsFBX_AllPlatforms(object):
|
|||||||
asset_processor.prepare_test_environment(ap_setup_fixture['tests_dir'], test_assets_folder,
|
asset_processor.prepare_test_environment(ap_setup_fixture['tests_dir'], test_assets_folder,
|
||||||
use_current_root=True, add_scan_folder=False,
|
use_current_root=True, add_scan_folder=False,
|
||||||
existing_function_name=blackbox_params.asset_folder)
|
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.")
|
logger.info(f"Validating assets.")
|
||||||
assetsToValidate = blackbox_params.override_assets if overrideAsset else blackbox_params.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]))
|
ASSET_PROCESSOR_PLATFORM_MAP[workspace.asset_processor_platform]))
|
||||||
|
|
||||||
if blackbox_params.scene_debug_file:
|
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)
|
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}")
|
logger.info(f"Parsing scene graph: {debug_graph_path}")
|
||||||
with open(debug_graph_path, "r") as scene_file:
|
with open(debug_graph_path, "r") as scene_file:
|
||||||
|
|||||||
@@ -89,13 +89,13 @@ def clear_all_missing_dependencies(asset_db_path) -> None:
|
|||||||
class DBProduct:
|
class DBProduct:
|
||||||
product_name: str = None
|
product_name: str = None
|
||||||
sub_id: int = 0
|
sub_id: int = 0
|
||||||
asset_type: str = None
|
asset_type: bytes = None
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class DBJob:
|
class DBJob:
|
||||||
job_key: str = None
|
job_key: str = None
|
||||||
builder_guid: str = None
|
builder_guid: bytes = None
|
||||||
status: int = 0
|
status: int = 0
|
||||||
error_count: int = 0
|
error_count: int = 0
|
||||||
warning_count: int = 0
|
warning_count: int = 0
|
||||||
@@ -107,7 +107,7 @@ class DBJob:
|
|||||||
@dataclass
|
@dataclass
|
||||||
class DBSourceAsset:
|
class DBSourceAsset:
|
||||||
source_file_name: str = None
|
source_file_name: str = None
|
||||||
uuid: str = None
|
uuid: bytes = None
|
||||||
scan_folder_key: str = field(compare=False, default=None)
|
scan_folder_key: str = field(compare=False, default=None)
|
||||||
id: str = field(compare=False, default=None)
|
id: str = field(compare=False, default=None)
|
||||||
# Key: Job ID
|
# Key: Job ID
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f0f4d4e0155feaa76c80a14128000a0fd9570ab76e79f4847eaef9006324a4d2
|
oid sha256:19f2c4454bb395cdc0a36d1e45e6a384bbd23037af1a2fb93e088ecfa0f10e5b
|
||||||
size 9084
|
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">
|
<download name="ClientAuth" type="Map">
|
||||||
<index src="filelist.xml" dest="filelist.xml"/>
|
<index src="filelist.xml" dest="filelist.xml"/>
|
||||||
<files>
|
<files>
|
||||||
<file src="level.pak" dest="level.pak" size="ED0" md5="dbf5115226e4b0ea38ebdc3967ba3aa9"/>
|
<file src="level.pak" dest="level.pak" size="E1A" md5="fecbc160ebc2186184504482e3e2eba3"/>
|
||||||
</files>
|
</files>
|
||||||
</download>
|
</download>
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:da041115014f11696d5878d5c21247c17b8d694fa9674e30692259261a7223a2
|
oid sha256:8a674e05824e5ceec13a0487b318923568710bc8269e5be84adad59c495a7ceb
|
||||||
size 3792
|
size 3610
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:43b1a23b62fe2ffa05545ac99524f40b6fff49d6e35925b9d6138c00d8082e86
|
oid sha256:a1c0b621525b8e88c3775ea4c60c2197d1e1b060ace9bad9d6efcb0532817e44
|
||||||
size 9073
|
size 9356
|
||||||
|
|||||||
+4224
-4238
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
<download name="ClientAuthPasswordSignIn" type="Map">
|
<download name="ClientAuthPasswordSignIn" type="Map">
|
||||||
<index src="filelist.xml" dest="filelist.xml"/>
|
<index src="filelist.xml" dest="filelist.xml"/>
|
||||||
<files>
|
<files>
|
||||||
<file src="level.pak" dest="level.pak" size="DDF" md5="ebe91ae5f1ea1ec735b6650b14f3f95b"/>
|
<file src="level.pak" dest="level.pak" size="E53" md5="12728d49c7efe0c8e83e3651a1d13ca6"/>
|
||||||
</files>
|
</files>
|
||||||
</download>
|
</download>
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:a58292341785cb260dc0ccf346259e35e2817ee48fc401a21ab528f6afb97b52
|
oid sha256:f318a1787069385de291660f79e350cea2ca2c3ef3b5e0576686066bd9c49395
|
||||||
size 3551
|
size 3667
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f3d5121b26608b02747e245071ccff29ac57358cb6349ec9495a7a003ac12467
|
oid sha256:afc5d665128738e6bea09e78a16ee38acc923a8ecefff90d987858ce72c395fa
|
||||||
size 8942
|
size 9360
|
||||||
|
|||||||
+1546
-1554
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
<download name="ClientAuthPasswordSignUp" type="Map">
|
<download name="ClientAuthPasswordSignUp" type="Map">
|
||||||
<index src="filelist.xml" dest="filelist.xml"/>
|
<index src="filelist.xml" dest="filelist.xml"/>
|
||||||
<files>
|
<files>
|
||||||
<file src="level.pak" dest="level.pak" size="DDA" md5="aa6df891d505d6d9175beee4b55626db"/>
|
<file src="level.pak" dest="level.pak" size="E44" md5="acfaa325178533f135cd683d3782cc8e"/>
|
||||||
</files>
|
</files>
|
||||||
</download>
|
</download>
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:605391d415b828b100bada11d108099520c0b6a020f17588887b610475805d90
|
oid sha256:87882b64688a77815d93c6973929fa21b89dc6c13d4866c710124ce2cd0f411e
|
||||||
size 3546
|
size 3652
|
||||||
|
|||||||
@@ -30,9 +30,6 @@ function metrics:OnSendMetricsFailure(requestId, errorMessage)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function metrics:OnDeactivate()
|
function metrics:OnDeactivate()
|
||||||
AWSMetricsRequestBus.Broadcast.FlushMetrics()
|
|
||||||
Debug.Log("Stop generating new test events and flushed the buffered metrics.")
|
|
||||||
|
|
||||||
self.tickBusHandler:Disconnect()
|
self.tickBusHandler:Disconnect()
|
||||||
self.metricsNotificationHandler:Disconnect()
|
self.metricsNotificationHandler:Disconnect()
|
||||||
end
|
end
|
||||||
@@ -40,7 +37,7 @@ end
|
|||||||
function metrics:OnTick(deltaTime, timePoint)
|
function metrics:OnTick(deltaTime, timePoint)
|
||||||
self.tickTime = self.tickTime + deltaTime
|
self.tickTime = self.tickTime + deltaTime
|
||||||
|
|
||||||
if self.tickTime > 2.0 then
|
if self.tickTime > 5.0 then
|
||||||
defaultAttribute = AWSMetrics_MetricsAttribute()
|
defaultAttribute = AWSMetrics_MetricsAttribute()
|
||||||
defaultAttribute:SetName("event_name")
|
defaultAttribute:SetName("event_name")
|
||||||
defaultAttribute:SetStrValue("login")
|
defaultAttribute:SetStrValue("login")
|
||||||
@@ -57,6 +54,9 @@ function metrics:OnTick(deltaTime, timePoint)
|
|||||||
if self.numSubmittedMetricsEvents % 2 == 0 then
|
if self.numSubmittedMetricsEvents % 2 == 0 then
|
||||||
if AWSMetricsRequestBus.Broadcast.SubmitMetrics(attributeList.attributes, 0, "lua", false) then
|
if AWSMetricsRequestBus.Broadcast.SubmitMetrics(attributeList.attributes, 0, "lua", false) then
|
||||||
Debug.Log("Submitted metrics without buffer.")
|
Debug.Log("Submitted metrics without buffer.")
|
||||||
|
|
||||||
|
AWSMetricsRequestBus.Broadcast.FlushMetrics()
|
||||||
|
Debug.Log("Flushed the buffered metrics.")
|
||||||
else
|
else
|
||||||
Debug.Log("Failed to Submit metrics without buffer.")
|
Debug.Log("Failed to Submit metrics without buffer.")
|
||||||
end
|
end
|
||||||
@@ -67,7 +67,7 @@ function metrics:OnTick(deltaTime, timePoint)
|
|||||||
Debug.Log("Failed to Submit metrics with buffer.")
|
Debug.Log("Failed to Submit metrics with buffer.")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
self.numSubmittedMetricsEvents = self.numSubmittedMetricsEvents + 1
|
self.numSubmittedMetricsEvents = self.numSubmittedMetricsEvents + 1
|
||||||
self.tickTime = 0
|
self.tickTime = 0
|
||||||
end
|
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)
|
## 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.
|
You can do this by using the -s option in git.
|
||||||
Example: ```git commit -s -m 'my commit message'```
|
Example: ```git commit -s -m 'my commit message'```
|
||||||
@@ -54,10 +54,9 @@ private:
|
|||||||
|
|
||||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||||
static XmlNodeRef m_node;
|
static XmlNodeRef m_node;
|
||||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
|
||||||
static QString m_title;
|
static QString m_title;
|
||||||
|
|
||||||
static QVariant s_pendingPut;
|
static QVariant s_pendingPut;
|
||||||
|
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||||
|
|
||||||
QWidget* m_parent;
|
QWidget* m_parent;
|
||||||
QTimer m_putDebounce;
|
QTimer m_putDebounce;
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
#include <AzToolsFramework/Entity/SliceEditorEntityOwnershipServiceBus.h>
|
#include <AzToolsFramework/Entity/SliceEditorEntityOwnershipServiceBus.h>
|
||||||
#include <AzCore/Component/Component.h>
|
#include <AzCore/Component/Component.h>
|
||||||
#include <TimeValue.h>
|
#include <TimeValue.h>
|
||||||
|
#include <IEditor.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class CClouds;
|
class CClouds;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <QtCore/QString>
|
||||||
|
|
||||||
#define DEFINE_UUID(l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
|
#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 } }; }
|
static const GUID uuid() { return { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }; }
|
||||||
@@ -69,7 +70,6 @@ enum
|
|||||||
#include "SandboxAPI.h"
|
#include "SandboxAPI.h"
|
||||||
|
|
||||||
class QObject;
|
class QObject;
|
||||||
class QString;
|
|
||||||
|
|
||||||
|
|
||||||
//! System class IDs
|
//! System class IDs
|
||||||
@@ -121,19 +121,9 @@ struct IClassDesc
|
|||||||
//! create panel.
|
//! create panel.
|
||||||
virtual QString Category() = 0;
|
virtual QString Category() = 0;
|
||||||
|
|
||||||
#ifdef QSTRING_H
|
|
||||||
virtual QString MenuSuggestion() { return QString(); }
|
virtual QString MenuSuggestion() { return QString(); }
|
||||||
virtual QString Tooltip() { return QString(); }
|
virtual QString Tooltip() { return QString(); }
|
||||||
virtual QString Description() { 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.
|
//! This method returns if the plugin should have a menu item for its pane.
|
||||||
virtual bool ShowInMenu() const { return true; }
|
virtual bool ShowInMenu() const { return true; }
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ struct IStatObj;
|
|||||||
struct IMaterial;
|
struct IMaterial;
|
||||||
class CBitmap;
|
class CBitmap;
|
||||||
|
|
||||||
|
class QImage;
|
||||||
|
|
||||||
// Note: values are used as array indices
|
// Note: values are used as array indices
|
||||||
enum EStatObject
|
enum EStatObject
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,6 +11,10 @@
|
|||||||
#define CRYINCLUDE_EDITOR_INCLUDE_IOBJECTMANAGER_H
|
#define CRYINCLUDE_EDITOR_INCLUDE_IOBJECTMANAGER_H
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <AzCore/PlatformIncl.h>
|
||||||
|
#include <CryCommon/platform.h>
|
||||||
|
#include <CryCommon/Cry_Geo.h>
|
||||||
|
|
||||||
// forward declarations.
|
// forward declarations.
|
||||||
class CEntityObject;
|
class CEntityObject;
|
||||||
struct DisplayContext;
|
struct DisplayContext;
|
||||||
@@ -24,6 +28,8 @@ class CViewport;
|
|||||||
struct HitContext;
|
struct HitContext;
|
||||||
enum class ImageRotationDegrees;
|
enum class ImageRotationDegrees;
|
||||||
struct IStatObj;
|
struct IStatObj;
|
||||||
|
class CBaseObject;
|
||||||
|
class XmlNodeRef;
|
||||||
|
|
||||||
#include "ObjectEvent.h"
|
#include "ObjectEvent.h"
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#if !defined(Q_MOC_RUN)
|
#if !defined(Q_MOC_RUN)
|
||||||
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
||||||
#include <AzCore/Component/Component.h>
|
#include <AzCore/Component/Component.h>
|
||||||
|
#include <AzCore/EBus/Event.h>
|
||||||
|
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ struct IRenderAuxGeom;
|
|||||||
struct IIconManager;
|
struct IIconManager;
|
||||||
class CDisplaySettings;
|
class CDisplaySettings;
|
||||||
class CCamera;
|
class CCamera;
|
||||||
|
class QPoint;
|
||||||
|
|
||||||
enum DisplayFlags
|
enum DisplayFlags
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
#include "IEditor.h"
|
#include "IEditor.h"
|
||||||
#include "Include/IIconManager.h"
|
#include "Include/IIconManager.h"
|
||||||
#include "Include/IDisplayViewport.h"
|
#include "Include/IDisplayViewport.h"
|
||||||
|
#include <Editor/Util/EditorUtils.h>
|
||||||
|
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QPoint>
|
#include <QPoint>
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ class CBaseObject;
|
|||||||
#include "ObjectEvent.h"
|
#include "ObjectEvent.h"
|
||||||
#include "Objects/BaseObject.h"
|
#include "Objects/BaseObject.h"
|
||||||
|
|
||||||
|
#include <Editor/EditorDefs.h>
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* CSelectionGroup is a named selection group of objects.
|
* CSelectionGroup is a named selection group of objects.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
#include "ComponentEntityEditorPlugin.h"
|
#include "ComponentEntityEditorPlugin.h"
|
||||||
|
|
||||||
#include <LyViewPaneNames.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"
|
#include "ComponentEntityObject.h"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "SandboxIntegration.h"
|
#include "SandboxIntegration.h"
|
||||||
|
|
||||||
#include <AzCore/Component/ComponentApplicationBus.h>
|
#include <AzCore/Component/ComponentApplicationBus.h>
|
||||||
@@ -83,6 +81,7 @@
|
|||||||
#include <Editor/StringDlg.h>
|
#include <Editor/StringDlg.h>
|
||||||
#include <Editor/QtViewPaneManager.h>
|
#include <Editor/QtViewPaneManager.h>
|
||||||
#include <Editor/EditorViewportSettings.h>
|
#include <Editor/EditorViewportSettings.h>
|
||||||
|
#include <Editor/Util/PathUtil.h>
|
||||||
#include <IResourceSelectorHost.h>
|
#include <IResourceSelectorHost.h>
|
||||||
#include "CryEdit.h"
|
#include "CryEdit.h"
|
||||||
|
|
||||||
|
|||||||
-2
@@ -6,8 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include <AzCore/Component/TransformBus.h>
|
#include <AzCore/Component/TransformBus.h>
|
||||||
#include <AzCore/UnitTest/TestTypes.h>
|
#include <AzCore/UnitTest/TestTypes.h>
|
||||||
#include <AzTest/AzTest.h>
|
#include <AzTest/AzTest.h>
|
||||||
|
|||||||
@@ -6,15 +6,11 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include <AzTest/AzTest.h>
|
#include <AzTest/AzTest.h>
|
||||||
#include <AzCore/Memory/SystemAllocator.h>
|
#include <AzCore/Memory/SystemAllocator.h>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
|
||||||
using namespace AZ;
|
|
||||||
|
|
||||||
// Handle asserts
|
// Handle asserts
|
||||||
class ToolsFrameworkHook
|
class ToolsFrameworkHook
|
||||||
: public AZ::Test::ITestEnvironment
|
: public AZ::Test::ITestEnvironment
|
||||||
@@ -22,12 +18,12 @@ class ToolsFrameworkHook
|
|||||||
public:
|
public:
|
||||||
void SetupEnvironment() override
|
void SetupEnvironment() override
|
||||||
{
|
{
|
||||||
AllocatorInstance<SystemAllocator>::Create();
|
AZ::AllocatorInstance<AZ::SystemAllocator>::Create();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TeardownEnvironment() override
|
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 "CryEdit.h"
|
||||||
#include "AssetCatalogModel.h"
|
#include "AssetCatalogModel.h"
|
||||||
#include "Objects/ComponentEntityObject.h"
|
#include "Objects/ComponentEntityObject.h"
|
||||||
|
|||||||
@@ -6,8 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "CategoriesList.h"
|
#include "CategoriesList.h"
|
||||||
|
|
||||||
ComponentCategoryList::ComponentCategoryList(QWidget* parent /*= nullptr*/)
|
ComponentCategoryList::ComponentCategoryList(QWidget* parent /*= nullptr*/)
|
||||||
|
|||||||
-2
@@ -6,8 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "ComponentDataModel.h"
|
#include "ComponentDataModel.h"
|
||||||
|
|
||||||
#include "Include/IObjectManager.h"
|
#include "Include/IObjectManager.h"
|
||||||
|
|||||||
+1
-2
@@ -6,8 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "ComponentPaletteWindow.h"
|
#include "ComponentPaletteWindow.h"
|
||||||
#include "ComponentDataModel.h"
|
#include "ComponentDataModel.h"
|
||||||
#include "FavoriteComponentList.h"
|
#include "FavoriteComponentList.h"
|
||||||
@@ -27,6 +25,7 @@
|
|||||||
#include <AzToolsFramework/API/ViewPaneOptions.h>
|
#include <AzToolsFramework/API/ViewPaneOptions.h>
|
||||||
|
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
#include <QKeyEvent>
|
||||||
|
|
||||||
ComponentPaletteWindow::ComponentPaletteWindow(QWidget* parent)
|
ComponentPaletteWindow::ComponentPaletteWindow(QWidget* parent)
|
||||||
: QMainWindow(parent)
|
: QMainWindow(parent)
|
||||||
|
|||||||
+2
@@ -9,7 +9,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#if !defined(Q_MOC_RUN)
|
#if !defined(Q_MOC_RUN)
|
||||||
|
#include <AzCore/PlatformIncl.h>
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
#include <AzCore/Math/Guid.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace AzToolsFramework
|
namespace AzToolsFramework
|
||||||
|
|||||||
-2
@@ -6,8 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "FavoriteComponentList.h"
|
#include "FavoriteComponentList.h"
|
||||||
#include <AzCore/Serialization/SerializeContext.h>
|
#include <AzCore/Serialization/SerializeContext.h>
|
||||||
#include <AzCore/Serialization/EditContext.h>
|
#include <AzCore/Serialization/EditContext.h>
|
||||||
|
|||||||
-2
@@ -6,8 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "ComponentDataModel.h"
|
#include "ComponentDataModel.h"
|
||||||
#include "FavoriteComponentList.h"
|
#include "FavoriteComponentList.h"
|
||||||
#include "FilteredComponentList.h"
|
#include "FilteredComponentList.h"
|
||||||
|
|||||||
-2
@@ -6,8 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "InformationPanel.h"
|
#include "InformationPanel.h"
|
||||||
|
|
||||||
// TODO: LMBR-28174
|
// TODO: LMBR-28174
|
||||||
|
|||||||
-2
@@ -5,8 +5,6 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "OutlinerDisplayOptionsMenu.h"
|
#include "OutlinerDisplayOptionsMenu.h"
|
||||||
|
|
||||||
#include <QIcon>
|
#include <QIcon>
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "OutlinerListModel.hxx"
|
#include "OutlinerListModel.hxx"
|
||||||
|
|
||||||
#include <QtCore/QMimeData>
|
#include <QtCore/QMimeData>
|
||||||
@@ -65,6 +63,7 @@
|
|||||||
|
|
||||||
#include <Editor/CryEditDoc.h>
|
#include <Editor/CryEditDoc.h>
|
||||||
#include <AzCore/Outcome/Outcome.h>
|
#include <AzCore/Outcome/Outcome.h>
|
||||||
|
#include <Editor/Util/PathUtil.h>
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
// OutlinerListModel
|
// OutlinerListModel
|
||||||
|
|||||||
+2
-2
@@ -5,10 +5,9 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "OutlinerSearchWidget.h"
|
#include "OutlinerSearchWidget.h"
|
||||||
|
|
||||||
|
#include <AzCore/Casting/numeric_cast.h>
|
||||||
#include <AzQtComponents/Components/FlowLayout.h>
|
#include <AzQtComponents/Components/FlowLayout.h>
|
||||||
#include <AzQtComponents/Components/StyleManager.h>
|
#include <AzQtComponents/Components/StyleManager.h>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
@@ -16,6 +15,7 @@
|
|||||||
#include <QTextDocument>
|
#include <QTextDocument>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QToolButton>
|
#include <QToolButton>
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
namespace AzQtComponents
|
namespace AzQtComponents
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
#if !defined(DEFINED_QMETATYPE_UUID)
|
#if !defined(DEFINED_QMETATYPE_UUID)
|
||||||
#define DEFINED_QMETATYPE_UUID
|
#define DEFINED_QMETATYPE_UUID
|
||||||
|
|
||||||
|
#include <AzCore/Math/Uuid.h>
|
||||||
Q_DECLARE_METATYPE(AZ::Uuid);
|
Q_DECLARE_METATYPE(AZ::Uuid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
-2
@@ -5,8 +5,6 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "OutlinerSortFilterProxyModel.hxx"
|
#include "OutlinerSortFilterProxyModel.hxx"
|
||||||
|
|
||||||
#include <AzCore/Component/ComponentApplication.h>
|
#include <AzCore/Component/ComponentApplication.h>
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "OutlinerTreeView.hxx"
|
#include "OutlinerTreeView.hxx"
|
||||||
#include "OutlinerListModel.hxx"
|
#include "OutlinerListModel.hxx"
|
||||||
|
|
||||||
@@ -19,6 +17,7 @@
|
|||||||
#include <QDrag>
|
#include <QDrag>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
|
#include <QMouseEvent>
|
||||||
|
|
||||||
OutlinerTreeView::OutlinerTreeView(QWidget* pParent)
|
OutlinerTreeView::OutlinerTreeView(QWidget* pParent)
|
||||||
: QTreeView(pParent)
|
: QTreeView(pParent)
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
|
#include <CryCommon/platform.h>
|
||||||
#include "MainWindow.h" // for MainWindow
|
#include "MainWindow.h" // for MainWindow
|
||||||
|
|
||||||
#include "OutlinerListModel.hxx"
|
#include "OutlinerListModel.hxx"
|
||||||
|
|||||||
-2
@@ -6,8 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "UI/QComponentEntityEditorMainWindow.h"
|
#include "UI/QComponentEntityEditorMainWindow.h"
|
||||||
|
|
||||||
#include <AzCore/Component/Entity.h>
|
#include <AzCore/Component/Entity.h>
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
|
||||||
#include <AzCore/Serialization/SerializeContext.h>
|
#include <AzCore/Serialization/SerializeContext.h>
|
||||||
|
|
||||||
|
#include <CryCommon/ISystem.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class QObjectPropertyModel;
|
class QObjectPropertyModel;
|
||||||
|
|||||||
+1
-2
@@ -6,8 +6,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
#include <EditorDefs.h>
|
||||||
|
|
||||||
#include "CryEdit.h"
|
#include "CryEdit.h"
|
||||||
#include "UI/QComponentEntityEditorOutlinerWindow.h"
|
#include "UI/QComponentEntityEditorOutlinerWindow.h"
|
||||||
#include "UI/Outliner/OutlinerWidget.hxx"
|
#include "UI/Outliner/OutlinerWidget.hxx"
|
||||||
|
|||||||
-2
@@ -6,8 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ComponentEntityEditorPlugin_precompiled.h"
|
|
||||||
|
|
||||||
#include "UI/QComponentLevelEntityEditorMainWindow.h"
|
#include "UI/QComponentLevelEntityEditorMainWindow.h"
|
||||||
|
|
||||||
#include <AzCore/Component/Entity.h>
|
#include <AzCore/Component/Entity.h>
|
||||||
|
|||||||
-1
@@ -12,7 +12,6 @@ set(FILES
|
|||||||
ComponentEntityEditorPlugin.cpp
|
ComponentEntityEditorPlugin.cpp
|
||||||
SandboxIntegration.h
|
SandboxIntegration.h
|
||||||
SandboxIntegration.cpp
|
SandboxIntegration.cpp
|
||||||
ComponentEntityEditorPlugin_precompiled.h
|
|
||||||
UI/QComponentEntityEditorMainWindow.h
|
UI/QComponentEntityEditorMainWindow.h
|
||||||
UI/QComponentEntityEditorMainWindow.cpp
|
UI/QComponentEntityEditorMainWindow.cpp
|
||||||
UI/QComponentLevelEntityEditorMainWindow.h
|
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 <platform.h>
|
||||||
|
|
||||||
#include <IEditor.h>
|
#include <IEditor.h>
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "EditorAssetImporter_precompiled.h"
|
|
||||||
#include <AssetBrowserContextProvider.h>
|
#include <AssetBrowserContextProvider.h>
|
||||||
#include <AssetImporterPlugin.h>
|
#include <AssetImporterPlugin.h>
|
||||||
#include <QtCore/QMimeData>
|
#include <QtCore/QMimeData>
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "EditorAssetImporter_precompiled.h"
|
|
||||||
#include <AssetImporterDocument.h>
|
#include <AssetImporterDocument.h>
|
||||||
#include <AzToolsFramework/Debug/TraceContext.h>
|
#include <AzToolsFramework/Debug/TraceContext.h>
|
||||||
#include <SceneAPI/SceneCore/Export/MtlMaterialExporter.h>
|
#include <SceneAPI/SceneCore/Export/MtlMaterialExporter.h>
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "EditorAssetImporter_precompiled.h"
|
|
||||||
#include <AssetImporterPlugin.h>
|
#include <AssetImporterPlugin.h>
|
||||||
#include <AssetImporterWindow.h>
|
#include <AssetImporterWindow.h>
|
||||||
#include <QtViewPaneManager.h>
|
#include <QtViewPaneManager.h>
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "EditorAssetImporter_precompiled.h"
|
|
||||||
#include <AssetImporterWindow.h>
|
#include <AssetImporterWindow.h>
|
||||||
#include <ui_AssetImporterWindow.h>
|
#include <ui_AssetImporterWindow.h>
|
||||||
#include <AssetImporterPlugin.h>
|
#include <AssetImporterPlugin.h>
|
||||||
|
|||||||
@@ -15,10 +15,12 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#if !defined(Q_MOC_RUN)
|
#if !defined(Q_MOC_RUN)
|
||||||
|
#include <AzCore/PlatformIncl.h>
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <AssetImporterDocument.h>
|
#include <AssetImporterDocument.h>
|
||||||
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
||||||
#include <AzCore/std/smart_ptr/unique_ptr.h>
|
#include <AzCore/std/smart_ptr/unique_ptr.h>
|
||||||
|
#include <AzCore/Math/Guid.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace AZStd
|
namespace AZStd
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "EditorAssetImporter_precompiled.h"
|
|
||||||
#include <ImporterRootDisplay.h>
|
#include <ImporterRootDisplay.h>
|
||||||
#include <ui_ImporterRootDisplay.h>
|
#include <ui_ImporterRootDisplay.h>
|
||||||
|
|
||||||
|
|||||||
@@ -12,14 +12,10 @@
|
|||||||
//
|
//
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "EditorAssetImporter_precompiled.h"
|
|
||||||
#include "AssetImporterPlugin.h"
|
#include "AssetImporterPlugin.h"
|
||||||
|
|
||||||
|
|
||||||
#if defined(AZ_PLATFORM_WINDOWS)
|
#include <AzCore/PlatformIncl.h>
|
||||||
#define WIN32_LEAN_AND_MEAN
|
|
||||||
#include <windows.h>
|
|
||||||
#endif
|
|
||||||
#include <AzCore/Memory/SystemAllocator.h>
|
#include <AzCore/Memory/SystemAllocator.h>
|
||||||
|
|
||||||
PLUGIN_API IPlugin* CreatePluginInstance(PLUGIN_INIT_PARAM* pInitParam)
|
PLUGIN_API IPlugin* CreatePluginInstance(PLUGIN_INIT_PARAM* pInitParam)
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "EditorAssetImporter_precompiled.h"
|
|
||||||
#include <AzCore/IO/SystemFile.h>
|
#include <AzCore/IO/SystemFile.h>
|
||||||
#include <AzCore/std/algorithm.h>
|
#include <AzCore/std/algorithm.h>
|
||||||
#include <AzCore/std/string/conversions.h>
|
#include <AzCore/std/string/conversions.h>
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ set(FILES
|
|||||||
SceneSerializationHandler.h
|
SceneSerializationHandler.h
|
||||||
SceneSerializationHandler.cpp
|
SceneSerializationHandler.cpp
|
||||||
Main.cpp
|
Main.cpp
|
||||||
EditorAssetImporter_precompiled.h
|
|
||||||
AssetImporter.qrc
|
AssetImporter.qrc
|
||||||
AssetImporterWindow.ui
|
AssetImporterWindow.ui
|
||||||
ImporterRootDisplay.ui
|
ImporterRootDisplay.ui
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "EditorCommon_precompiled.h"
|
|
||||||
#include <ActionOutput.h>
|
#include <ActionOutput.h>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
|
|||||||
@@ -7,5 +7,4 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "EditorCommon_precompiled.h"
|
|
||||||
#include "../../Editor/RenderHelpers/AxisHelperShared.inl"
|
#include "../../Editor/RenderHelpers/AxisHelperShared.inl"
|
||||||
|
|||||||
@@ -6,6 +6,4 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "EditorCommon_precompiled.h"
|
|
||||||
#include "../../Editor/Objects/DisplayContextShared.inl"
|
#include "../../Editor/Objects/DisplayContextShared.inl"
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "EditorCommon_precompiled.h"
|
|
||||||
#include "Ruler.h"
|
#include "Ruler.h"
|
||||||
|
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
@@ -44,7 +43,7 @@ namespace DrawingPrimitives
|
|||||||
const float ticksMinPower = log10f(RULER_MIN_PIXELS_PER_TICK);
|
const float ticksMinPower = log10f(RULER_MIN_PIXELS_PER_TICK);
|
||||||
const float ticksPowerDelta = ticksMinPower - log10f(pixelsPerUnit);
|
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)
|
if (pRulerPrecision)
|
||||||
{
|
{
|
||||||
*pRulerPrecision = digitsAfterPoint;
|
*pRulerPrecision = digitsAfterPoint;
|
||||||
@@ -160,7 +159,7 @@ namespace DrawingPrimitives
|
|||||||
|
|
||||||
|
|
||||||
char format[16] = "";
|
char format[16] = "";
|
||||||
sprintf_s(format, "%%.%df", rulerPrecision);
|
azsprintf(format, "%%.%df", rulerPrecision);
|
||||||
|
|
||||||
const int height = options.m_rect.height();
|
const int height = options.m_rect.height();
|
||||||
const int top = options.m_rect.top();
|
const int top = options.m_rect.top();
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "EditorCommon_precompiled.h"
|
|
||||||
#include "TimeSlider.h"
|
#include "TimeSlider.h"
|
||||||
|
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
|
|||||||
@@ -5,13 +5,14 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#include "EditorCommon_precompiled.h"
|
|
||||||
|
|
||||||
#include <platform.h>
|
#include <platform.h>
|
||||||
#include "EditorCommon.h"
|
#include "EditorCommon.h"
|
||||||
|
|
||||||
#include "EditorCommonAPI.h"
|
#include "EditorCommonAPI.h"
|
||||||
|
|
||||||
|
#include <CryCommon/ISystem.h>
|
||||||
|
|
||||||
CEditorCommonApp::CEditorCommonApp()
|
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"
|
#include "platform.h"
|
||||||
|
|
||||||
#pragma warning(disable: 4266) // disabled warning from afk overrides
|
#pragma warning(disable: 4266) // disabled warning from afk overrides
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "EditorCommon_precompiled.h"
|
|
||||||
#include <SaveUtilities/AsyncSaveRunner.h>
|
#include <SaveUtilities/AsyncSaveRunner.h>
|
||||||
#include <AzToolsFramework/SourceControl/SourceControlAPI.h>
|
#include <AzToolsFramework/SourceControl/SourceControlAPI.h>
|
||||||
#include <AzCore/IO/SystemFile.h>
|
#include <AzCore/IO/SystemFile.h>
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "EditorCommon_precompiled.h"
|
|
||||||
#include <WinWidget/WinWidgetManager.h>
|
#include <WinWidget/WinWidgetManager.h>
|
||||||
|
|
||||||
namespace WinWidget
|
namespace WinWidget
|
||||||
|
|||||||
@@ -14,6 +14,8 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
|
class QWidget;
|
||||||
|
|
||||||
namespace WinWidget
|
namespace WinWidget
|
||||||
{
|
{
|
||||||
class EDITOR_COMMON_API WinWidgetManager
|
class EDITOR_COMMON_API WinWidgetManager
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ set(FILES
|
|||||||
EditorCommon.cpp
|
EditorCommon.cpp
|
||||||
EditorCommon.rc
|
EditorCommon.rc
|
||||||
EditorCommonAPI.h
|
EditorCommonAPI.h
|
||||||
EditorCommon_precompiled.h
|
|
||||||
ActionOutput.h
|
ActionOutput.h
|
||||||
ActionOutput.cpp
|
ActionOutput.cpp
|
||||||
UiEditorDLLBus.h
|
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 "FFMPEGPlugin.h"
|
||||||
#include "CryString.h"
|
#include "CryString.h"
|
||||||
typedef CryStringT<char> string;
|
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
|
set(FILES
|
||||||
FFMPEGPlugin.rc
|
FFMPEGPlugin.rc
|
||||||
main.cpp
|
main.cpp
|
||||||
FFMPEGPlugin_precompiled.h
|
|
||||||
FFMPEGPlugin.cpp
|
FFMPEGPlugin.cpp
|
||||||
FFMPEGPlugin.h
|
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