diff --git a/Assets/Editor/TriLibCore/Scripts/AssetLoaderOptionsEditor.cs b/Assets/Editor/TriLibCore/Scripts/AssetLoaderOptionsEditor.cs index 441f3195..77cef6cc 100644 --- a/Assets/Editor/TriLibCore/Scripts/AssetLoaderOptionsEditor.cs +++ b/Assets/Editor/TriLibCore/Scripts/AssetLoaderOptionsEditor.cs @@ -1,5 +1,4 @@ using TriLibCore.General; -using TriLibCore.Mappers; using UnityEditor; using UnityEngine; @@ -49,76 +48,137 @@ namespace TriLibCore.Editor { case 0: GUILayout.Label(new GUIContent("Scene", "Scene import settings"), "BoldLabel"); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ScaleFactor"), new GUIContent("Scale Factor", "Model scale multiplier.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("UseFileScale"), new GUIContent("Use File Scale", "Turn on this flag to use the file original scale.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ImportVisibility"), new GUIContent("Import Visibility", "Turn on this field to apply the visibility property to Mesh Renderers/Skinned Mesh Renderers.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ImportCameras"), new GUIContent("Import Cameras", "Turn on this field to enable Cameras importing.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ImportLights"), new GUIContent("Import Lights", "Turn on this field to enable Lights importing.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("Static"), new GUIContent("Import as Static", "Turn on this field to import the Model as a static Game Object.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("SortHierarchyByName"), new GUIContent("Sort Hierarchy by Name", "Turn on this field to sort the Model hierarchy by name.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("AddAssetUnloader"), new GUIContent("Add Asset Unloader", "Turn on this field to add the Asset Unloader Component to the loaded Game Object.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ShowLoadingWarnings"), new GUIContent("Show Loading Warnings", "Turn on this field to display Model loading warnings on the Console.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("CloseStreamAutomatically"), new GUIContent("Close Stream Automatically", "Turn on this field to close the Model loading Stream automatically.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("DestroyOnError"), new GUIContent("Destroy on Error", "Turn on this field to destroy the loaded Game Object automatically when there is any loading error.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("PivotPosition"), new GUIContent("Pivot Position", "Use this field to realign the Model pivot based on the given value.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("DisableObjectsRenaming"), new GUIContent("Disable Objects Renaming", "Turn on this field to disable objects renaming.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("MergeSingleChild"), new GUIContent("Merge Single Child", "Turn on this field to merge single child models into a single GameObject.")); - + EditorGUILayout.PropertyField(serializedObject.FindProperty("ScaleFactor"), + new GUIContent("Scale Factor", "Model scale multiplier.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("UseFileScale"), + new GUIContent("Use File Scale", "Turn on this flag to use the file's original scale.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ImportVisibility"), + new GUIContent("Import Visibility", "Turn on this field to apply the visibility property to Mesh Renderers/Skinned Mesh Renderers.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ImportCameras"), + new GUIContent("Import Cameras", "Turn on this field to enable camera importing.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ImportLights"), + new GUIContent("Import Lights", "Turn on this field to enable light importing.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("Static"), + new GUIContent("Import as Static", "Turn on this field to import the Model as a static Game Object.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("SortHierarchyByName"), + new GUIContent("Sort Hierarchy by Name", "Turn on this field to sort the Model hierarchy by name.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("AddAssetUnloader"), + new GUIContent("Add Asset Unloader", "Turn on this field to add the Asset Unloader Component to the loaded Game Object.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("CloseStreamAutomatically"), + new GUIContent("Close Stream Automatically", "Turn on this field to close the Model loading Stream automatically.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("DestroyOnError"), + new GUIContent("Destroy on Error", "Turn on this field to destroy the loaded Game Object automatically when there is any loading error.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("PivotPosition"), + new GUIContent("Pivot Position", "Use this field to realign the Model pivot based on the given value.")); + var disableObjectsRenamingProperty = serializedObject.FindProperty("DisableObjectsRenaming"); + EditorGUILayout.PropertyField(disableObjectsRenamingProperty, + new GUIContent("Disable Object Renaming", "Turn on this field to disable object renaming.")); + if (!disableObjectsRenamingProperty.boolValue) + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("MaxObjectsToRename"), + new GUIContent("Max Objects to Rename", + "Use this field to set the maximum number of objects TriLib can rename. Renaming is an expensive process, so it's advised to keep this value low.")); + } + EditorGUILayout.PropertyField(serializedObject.FindProperty("MergeSingleChild"), + new GUIContent("Merge Single Child", "Turn on this field to merge single-child models into a single GameObject.")); EditorGUILayout.Space(); GUILayout.Label(new GUIContent("Meshes", "Global settings for generated meshes"), "BoldLabel"); var importMeshesProperty = serializedObject.FindProperty("ImportMeshes"); - EditorGUILayout.PropertyField(importMeshesProperty, new GUIContent("Import Meshes", "Turn on this field to import Model Meshes.")); + EditorGUILayout.PropertyField(importMeshesProperty, + new GUIContent("Import Meshes", "Turn on this field to import Model Meshes.")); if (importMeshesProperty.boolValue) { - EditorGUILayout.PropertyField(serializedObject.FindProperty("MarkMeshesAsDynamic"), new GUIContent("Mark Meshes as Dynamic", "Turn on this field to mark created meshes as dynamic.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("MarkMeshesAsDynamic"), + new GUIContent("Mark Meshes as Dynamic", "Turn on this field to mark created meshes as dynamic.")); var generateCollidersProperty = serializedObject.FindProperty("GenerateColliders"); - EditorGUILayout.PropertyField(generateCollidersProperty, new GUIContent("Generate Colliders", "Turn on this field to generate Colliders for imported Meshes.")); + EditorGUILayout.PropertyField(generateCollidersProperty, + new GUIContent("Generate Colliders", "Turn on this field to generate Colliders for imported Meshes.")); if (generateCollidersProperty.boolValue) { - EditorGUILayout.PropertyField(serializedObject.FindProperty("ConvexColliders"), new GUIContent("Convex Colliders", "Turn on this field to generate convex Colliders when the GenerateColliders field is enabled.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ConvexColliders"), + new GUIContent("Convex Colliders", "Turn on this field to generate convex Colliders when GenerateColliders is enabled.")); } - EditorGUILayout.PropertyField(serializedObject.FindProperty("IndexFormat"), new GUIContent("Index Format", "Mesh index format (16 or 32 bits).")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("KeepQuads"), new GUIContent("Keep Quads", "Turn on this field to mantain Mesh quads (Useful for DX11 tesselation).")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("MergeVertices"), new GUIContent("Merge Vertices", "Turn on this field to merge model duplicated vertices where possible.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("IndexFormat"), + new GUIContent("Index Format", "Mesh index format (16 or 32 bits).")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("KeepQuads"), + new GUIContent("Keep Quads", "Turn on this field to maintain Mesh quads (useful for DX11 tessellation).")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("MergeVertices"), + new GUIContent("Merge Vertices", "Turn on this field to merge model duplicated vertices where possible.")); var importNormalsProperty = serializedObject.FindProperty("ImportNormals"); - EditorGUILayout.PropertyField(importNormalsProperty, new GUIContent("Import Normals", "Turn on this field to import Mesh normals. If not enabled, normals will be calculated instead.")); + EditorGUILayout.PropertyField(importNormalsProperty, + new GUIContent("Import Normals", "Turn on this field to import Mesh normals. If disabled, normals will be calculated instead.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("BakeAxisConversion"), + new GUIContent("Bake Axis Conversion", "Turn on this field to bake the model transform into models and animations (Experimental).")); + var generateNormalsProperty = serializedObject.FindProperty("GenerateNormals"); if (generateNormalsProperty.boolValue) { - EditorGUILayout.PropertyField(generateNormalsProperty, new GUIContent("Generate Normals", "Turn off this field to disable Mesh normals generation.")); + EditorGUILayout.PropertyField(generateNormalsProperty, + new GUIContent("Generate Normals", "Turn off this field to disable Mesh normals generation.")); var useUnityNativeNormalCalculatorProperty = serializedObject.FindProperty("UseUnityNativeNormalCalculator"); - EditorGUILayout.PropertyField(useUnityNativeNormalCalculatorProperty, new GUIContent("Use Unity Native Normal Calculator", "Turn on this field to use the builtin Unity normal calculator.")); + EditorGUILayout.PropertyField(useUnityNativeNormalCalculatorProperty, + new GUIContent("Use Unity Native Normal Calculator", "Turn on this field to use the built-in Unity normal calculator.")); if (!useUnityNativeNormalCalculatorProperty.boolValue) { - EditorGUILayout.Slider(serializedObject.FindProperty("SmoothingAngle"), 0f, 180f, new GUIContent("Smoothing Angle", "Normals calculation smoothing angle.")); + EditorGUILayout.Slider(serializedObject.FindProperty("SmoothingAngle"), 0f, 180f, + new GUIContent("Smoothing Angle", "Normals calculation smoothing angle.")); } } var importBlendShapesProperty = serializedObject.FindProperty("ImportBlendShapes"); - EditorGUILayout.PropertyField(importBlendShapesProperty, new GUIContent("Import Blend Shapes", "Turn on this field to import Mesh Blend Shapes.")); + EditorGUILayout.PropertyField(importBlendShapesProperty, + new GUIContent("Import Blend Shapes", "Turn on this field to import Mesh Blend Shapes.")); if (importBlendShapesProperty.boolValue) { - EditorGUILayout.PropertyField(serializedObject.FindProperty("ImportBlendShapeNormals"), new GUIContent("Import Blend Shape Normals", "Turn on this field to import Mesh Blend Shape normals.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("CalculateBlendShapeNormals"), new GUIContent("Calculate Blend Shape Normals", "Turn on this field to calculate Mesh Blend Shape normals when none can be imported.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ImportBlendShapeNormals"), + new GUIContent("Import Blend Shape Normals", "Turn on this field to import Mesh Blend Shape normals.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("CalculateBlendShapeNormals"), + new GUIContent("Calculate Blend Shape Normals", + "Turn on this field to calculate Mesh Blend Shape normals when none are available in the file.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("BlendShapeMapper"), + new GUIContent("Blend Shape Mapper", + "Use this field to set a BlendShapeMapper to use with the loaded model. BlendShapeMappers can replace the Unity built-in blend shape playback system.")); } - EditorGUILayout.PropertyField(serializedObject.FindProperty("ImportColors"), new GUIContent("Import Colors", "Turn on this field to import Mesh Colors.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ImportColors"), + new GUIContent("Import Colors", "Turn on this field to import Mesh colors.")); var importTangentsProperty = serializedObject.FindProperty("ImportTangents"); - EditorGUILayout.PropertyField(importTangentsProperty, new GUIContent("Import Tangents", "Turn on this field to import Mesh tangents. If not enabled, tangents will be calculated instead.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("GenerateTangents"), new GUIContent("Generate Tangents", "Turn off this field to disable Mesh tangents generation.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("SwapUVs"), new GUIContent("Swap UVs", "Turn on this field to swap Mesh UVs. (uv1 into uv2)")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("LODScreenRelativeTransitionHeightBase"), new GUIContent("LOD Screen Relative Transition Height Base", "Defines the initial screen relative transition height when creating LOD Groups.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ReadEnabled"), new GUIContent("Read Enabled", "Turn on this field to make mesh CPU data readable.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("DisableTesselation"), new GUIContent("Disable Tesselation", "Turn on this field to disable polygon tesselation.")); + EditorGUILayout.PropertyField(importTangentsProperty, + new GUIContent("Import Tangents", + "Turn on this field to import Mesh tangents. If disabled, tangents will be calculated instead.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("GenerateTangents"), + new GUIContent("Generate Tangents", "Turn off this field to disable Mesh tangents generation.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("SwapUVs"), + new GUIContent("Swap UVs", "Turn on this field to swap Mesh UVs (uv1 into uv2).")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("LODScreenRelativeTransitionHeightBase"), + new GUIContent("LOD Screen Relative Transition Height Base", + "Defines the initial screen relative transition height when creating LOD Groups.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ReadEnabled"), + new GUIContent("Read Enabled", "Turn on this field to make mesh CPU data readable.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("DisableTesselation"), + new GUIContent("Disable Tessellation", "Turn on this field to disable polygon tessellation.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("UseSharedMeshes"), + new GUIContent("Use Shared Meshes", + "Turn off this field to use the mesh filter's \"mesh\" property instead of the \"sharedMesh\" property.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("MeshWorldTransform"), + new GUIContent("Mesh World Transform", + "Use this field to define a transformation applied in world space to all mesh vertices.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("UpdateSkinnedMeshRendererWhenOffscreen"), + new GUIContent("Update Skinned Mesh Renderer when Offscreen", + "Turn on this field to update SkinnedMeshRenderers when they're offscreen.")); } var loadPointCloudsProperty = serializedObject.FindProperty("LoadPointClouds"); - EditorGUILayout.PropertyField(loadPointCloudsProperty, new GUIContent("Load Point Clouds", "TTurn on this field to load the model as a Point Cloud (PLY and OBJ only)")); + EditorGUILayout.PropertyField(loadPointCloudsProperty, + new GUIContent("Load Point Clouds", + "Turn on this field to load the model as a point cloud (PLY and OBJ only).")); if (!loadPointCloudsProperty.boolValue) { - EditorGUILayout.PropertyField(serializedObject.FindProperty("OptimizeMeshes"), new GUIContent("Optimize Meshes", "Turn on this field to optimize imported Meshes for GPU access.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("OptimizeMeshes"), + new GUIContent("Optimize Meshes", "Turn on this field to optimize imported Meshes for GPU access.")); } break; case 1: var animationTypeProperty = serializedObject.FindProperty("AnimationType"); - EditorGUILayout.PropertyField(animationTypeProperty, new GUIContent("Animation Type", "Model rigging type.")); + EditorGUILayout.PropertyField(animationTypeProperty, + new GUIContent("Animation Type", "Model rigging type.")); var animationType = (AnimationType)animationTypeProperty.intValue; switch (animationType) { @@ -126,98 +186,181 @@ namespace TriLibCore.Editor case AnimationType.Humanoid: var avatarDefinitionTypeProperty = serializedObject.FindProperty("AvatarDefinition"); - EditorGUILayout.PropertyField(avatarDefinitionTypeProperty, new GUIContent("Avatar Definition", "Type of avatar creation for the Model.")); + EditorGUILayout.PropertyField(avatarDefinitionTypeProperty, + new GUIContent("Avatar Definition", "Type of avatar creation for the Model.")); var avatarDefinitionType = (AvatarDefinitionType)avatarDefinitionTypeProperty.intValue; switch (avatarDefinitionType) { case AvatarDefinitionType.CreateFromThisModel: if (animationType == AnimationType.Humanoid) { - EditorGUILayout.PropertyField(serializedObject.FindProperty("HumanDescription"), new GUIContent("Human Description", "Human Description used to create the humanoid Avatar, when the humanoid rigging type is selected.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("SampleBindPose"), new GUIContent("Sample Bind Pose", "Turn on this field to enforce the loaded Model to the bind-pose when rigging.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("EnforceTPose"), new GUIContent("Enforce T-Pose", "Turn on this field to enforce the loaded Model to the t-pose when rigging.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("HumanoidAvatarMapper"), new GUIContent("Humanoid Avatar Mapper", "Mapper used to map the humanoid Avatar, when the humanoid rigging type is selected.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("HumanDescription"), + new GUIContent("Human Description", + "Human Description used to create the humanoid Avatar, when the humanoid rigging type is selected.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("SampleBindPose"), + new GUIContent("Sample Bind Pose", + "Turn on this field to enforce the loaded Model to the bind-pose when rigging.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("EnforceTPose"), + new GUIContent("Enforce T-Pose", + "Turn on this field to enforce the loaded Model to a T-pose when rigging.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("HumanoidAvatarMapper"), + new GUIContent("Humanoid Avatar Mapper", + "Mapper used to map the humanoid Avatar when the humanoid rigging type is selected.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ApplyAvatarHipsCompensation"), + new GUIContent("Apply Avatar Hips Compensation", + "Turn off this field if your avatars seem to hover over the ground. This disables avatar hips height compensation.")); } break; case AvatarDefinitionType.CopyFromOtherAvatar: - EditorGUILayout.PropertyField(serializedObject.FindProperty("Avatar"), new GUIContent("Source", "Source Avatar to use when copying from other Avatar.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("Avatar"), + new GUIContent("Source", "Source Avatar to use when copying from another Avatar.")); break; } break; case AnimationType.Legacy: - EditorGUILayout.PropertyField(serializedObject.FindProperty("AutomaticallyPlayLegacyAnimations"), new GUIContent("Play Legacy Animations Automatically", "Turn on this field to play Legacy Animation Clips automatically (The first available Clip will be played).")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("EnforceAnimatorWithLegacyAnimations"), new GUIContent("Enforce Animator with Legacy Animations", "Turn on this field to add an Animator when the AnimationType is set to Legacy.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("AutomaticallyPlayLegacyAnimations"), + new GUIContent("Play Legacy Animations Automatically", + "Turn on this field to play Legacy Animation Clips automatically (The first available Clip will be played).")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("EnforceAnimatorWithLegacyAnimations"), + new GUIContent("Enforce Animator with Legacy Animations", + "Turn on this field to add an Animator when the AnimationType is set to Legacy.")); break; } if (animationType != AnimationType.None) { - EditorGUILayout.PropertyField(serializedObject.FindProperty("RootBoneMapper"), new GUIContent("Root Bone Mapper", "Mapper used to find the Model root bone.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("RootBoneMapper"), + new GUIContent("Root Bone Mapper", "Mapper used to find the Model root bone.")); } break; case 2: animationTypeProperty = serializedObject.FindProperty("AnimationType"); animationType = (AnimationType)animationTypeProperty.intValue; - //todo: add constraints if (animationType != AnimationType.None) { - EditorGUILayout.PropertyField(serializedObject.FindProperty("EnsureQuaternionContinuity"), new GUIContent("Ensure Quaternion Continuity", "Turn on this field to realign quaternion keys to ensure shortest interpolation paths.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ResampleFrequency"), new GUIContent("Resample Frequency", "Defines the FBX Rotation Animation Curve resampling frequency. (1 = every frame, 2 = every 2 frames, 3 = every 3 frames and so on)")); - //todo: add keyframe reduction - EditorGUILayout.PropertyField(serializedObject.FindProperty("AnimationWrapMode"), new GUIContent("Wrap Mode", "Default wrap-mode to apply to Animations.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("AnimationClipMappers"), new GUIContent("Animation Clip Mappers", "Mappers used to process Animation Clips.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("AddAllBonesToSkinnedMeshRenderers"), new GUIContent("Add all Bones to Skinned Mesh Renderers", "Turn on this field to add all available bones to every created SkinnedMeshRenderer.")); - + EditorGUILayout.PropertyField(serializedObject.FindProperty("EnsureQuaternionContinuity"), + new GUIContent("Ensure Quaternion Continuity", + "Turn on this field to realign quaternion keys to ensure the shortest interpolation paths.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ResampleFrequency"), + new GUIContent("Resample Frequency", + "Defines the FBX Rotation Animation Curve resampling frequency. (1 = every frame, 2 = every 2 frames, etc.)")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("AnimationWrapMode"), + new GUIContent("Wrap Mode", "Default wrap-mode to apply to Animations.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("AnimationClipMappers"), + new GUIContent("Animation Clip Mappers", "Mappers used to process Animation Clips.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("AddAllBonesToSkinnedMeshRenderers"), + new GUIContent("Add All Bones to Skinned Mesh Renderers", + "Turn on this field to add all available bones to every created SkinnedMeshRenderer.")); } break; case 3: var importMaterialsProperty = serializedObject.FindProperty("ImportMaterials"); - EditorGUILayout.PropertyField(importMaterialsProperty, new GUIContent("Import Materials", "Turn on this field to import Materials.")); + EditorGUILayout.PropertyField(importMaterialsProperty, + new GUIContent("Import Materials", "Turn on this field to import Materials.")); if (importMaterialsProperty.boolValue) { - EditorGUILayout.PropertyField(serializedObject.FindProperty("UseMaterialKeywords"), new GUIContent("Use Material Keywords", "Turn on this field to enable/disable created Material Keywords based on the source native Materials.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("AlphaMaterialMode"), new GUIContent("Alpha Material Mode", "Chooses the way TriLib creates alpha materials.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("MaterialMappers"), new GUIContent("Material Mappers", "Mappers used to create suitable Unity Materials from original Materials.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("DoubleSidedMaterials"), new GUIContent("Double Sided Materials", "Turn on this field to create double-sided Materials (TriLib does that by duplicating the original Meshes).")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("SetUnusedTexturePropertiesToNull"), new GUIContent("Set unused Texture Properties to Null", "Turn on this field to set the unused Material Texture Properties to null.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("CreateMaterialsForAllModels"), new GUIContent("Create Materials for all Models", "Turn on this field to make TriLib create materials for every loaded model, even models without an original material.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("UseMaterialKeywords"), + new GUIContent("Use Material Keywords", + "Turn on this field to enable/disable created Material keywords based on the source native materials.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("AlphaMaterialMode"), + new GUIContent("Alpha Material Mode", "Chooses the way TriLib creates alpha materials.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("MaterialMappers"), + new GUIContent("Material Mappers", "Mappers used to create suitable Unity Materials from original Materials.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("DoubleSidedMaterials"), + new GUIContent("Double-Sided Materials", + "Turn on this field to create double-sided Materials (TriLib does that by duplicating the original Meshes).")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("SetUnusedTexturePropertiesToNull"), + new GUIContent("Set Unused Texture Properties to Null", + "Turn on this field to set unused Material Texture Properties to null.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("UseSharedMaterials"), + new GUIContent("Use Shared Materials", + "Turn on this field to use the renderers' \"sharedMaterials\" property instead of \"materials\".")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("DoPBRConversion"), + new GUIContent("Do PBR Conversion", + "Turn off this field to disable Phong to PBR conversion.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ApplyGammaCurveToMaterialColors"), + new GUIContent("Apply Gamma Curve to Material Colors", + "When this field is on, TriLib will also apply the gamma curve to the material colors.")); + } break; case 4: var importTexturesProperty = serializedObject.FindProperty("ImportTextures"); - EditorGUILayout.PropertyField(importTexturesProperty, new GUIContent("Import Textures", "Turn on this field to import Textures.")); + EditorGUILayout.PropertyField(importTexturesProperty, + new GUIContent("Import Textures", "Turn on this field to import Textures.")); if (importTexturesProperty.boolValue) { - EditorGUILayout.PropertyField(serializedObject.FindProperty("TextureMappers"), new GUIContent("Texture Mappers", "Mappers used to find native Texture Streams from custom sources.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("TextureCompressionQuality"), new GUIContent("Texture Compression Quality", "Texture compression to apply on loaded Textures.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("GenerateMipmaps"), new GUIContent("Generate Mipmaps", "Turn on this field to enable Textures mip-map generation.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("FixNormalMaps"), new GUIContent("Fix Normal Maps", "Turn on this field to change normal map channels order to ABBR instead of RGBA.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("EnforceAlphaChannelTextures"), new GUIContent("Enforce Alpha Channel Textures", "Turn on this field to enforce alpha channel on textures creation.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("TextureMappers"), + new GUIContent("Texture Mappers", "Mappers used to find native Texture Streams from custom sources.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("TextureCompressionQuality"), + new GUIContent("Texture Compression Quality", + "Texture compression to apply on loaded Textures.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("GenerateMipmaps"), + new GUIContent("Generate Mipmaps", "Turn on this field to enable Texture mipmap generation.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("FixNormalMaps"), + new GUIContent("Fix Normal Maps", + "Turn on this field to change the normal map channel order to ABBR instead of RGBA.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("EnforceAlphaChannelTextures"), + new GUIContent("Enforce Alpha Channel Textures", + "Turn on this field to enforce an alpha channel on texture creation.")); var alphaMaterialModeProperty = serializedObject.FindProperty("AlphaMaterialMode"); if (alphaMaterialModeProperty.enumValueIndex > 0) { - EditorGUILayout.PropertyField(serializedObject.FindProperty("ScanForAlphaPixels"), new GUIContent("Scan for Alpha Pixels", "Turn on this field to scan Textures for alpha-blended pixels in order to generate transparent Materials.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ScanForAlphaPixels"), + new GUIContent("Scan for Alpha Pixels", + "Turn on this field to scan textures for alpha-blended pixels to generate transparent Materials.")); } - EditorGUILayout.PropertyField(serializedObject.FindProperty("LoadTexturesAsSRGB"), new GUIContent("Load Textures as sRGB", "Turn off this field to load textures as linear, instead of sRGB.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ApplyGammaCurveToMaterialColors"), new GUIContent("Apply Gamma Curve to Material Colors", "When this field is on, TriLib will also apply the gamma curve to the material colors.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ApplyTexturesOffsetAndScaling"), new GUIContent("Apply Textures Offset and Scaling", "Turn on this field to apply Textures offset and scaling.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("DiscardUnusedTextures"), new GUIContent("Discard Unused Textures", "Turn off this field to keep unused Textures.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ForcePowerOfTwoTextures"), new GUIContent("Force Power of Two Textures", "Turn on this field to enforce power of two resolution when loading textures (needed for texture compression and in some platforms).")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("UseUnityNativeTextureLoader"), new GUIContent("Use Unity Native Texture Loader", "Turn on this field to use Unity builtin Texture loader instead of stb_image.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("MaxTexturesResolution"), new GUIContent("Max Textures Resolution", "Use this field to limit textures resolution. Textures with resolutions higher than this value (when the value is not zero) will not be loaded.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("ConvertMaterialTexturesUsingHalfRes"), new GUIContent("Convert Material Textures using Half Res", "Turn off this field to generate the \"Metallic/Smoothness/Specular/Roughness\" textures with the full original resolution.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("LoadTexturesAsSRGB"), + new GUIContent("Load Textures as sRGB", + "Turn off this field to load textures as linear instead of sRGB.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ApplyTexturesOffsetAndScaling"), + new GUIContent("Apply Textures Offset and Scaling", + "Turn on this field to apply texture offset and scaling.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("DiscardUnusedTextures"), + new GUIContent("Discard Unused Textures", + "Turn off this field to keep unused Textures.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ForcePowerOfTwoTextures"), + new GUIContent("Force Power of Two Textures", + "Turn on this field to enforce power-of-two resolution when loading textures (needed for compression on some platforms).")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("UseUnityNativeTextureLoader"), + new GUIContent("Use Unity Native Texture Loader", + "Turn on this field to use the Unity built-in Texture loader instead of stb_image.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("MaxTexturesResolution"), + new GUIContent("Max Textures Resolution", + "Use this field to limit texture resolution. Textures with resolutions higher than this value (when not zero) will not be loaded.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ConvertMaterialTexturesUsingHalfRes"), + new GUIContent("Convert Material Textures Using Half Res", + "Turn off this field to generate the \"Metallic/Smoothness/Specular/Roughness\" textures at their full original resolution.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("LoadDisplacementTextures"), + new GUIContent("Load Displacement Textures", + "Turn on this field to load displacement textures.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("LoadTexturesViaWebRequest"), + new GUIContent("Load Textures via Web Request", + "Turn on this field to load textures using the UnityWebRequest class (experimental). " + + "UnityWebRequest is the fastest way to load PNG/JPG textures but uses more memory.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ConvertTexturesAs2D"), + new GUIContent("Convert Textures as 2D", + "Turn off this field to keep processed/composed textures as RenderTextures.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ApplyTransparencyTexture"), + new GUIContent("Apply Transparency Texture", + "Turn off this field to disable composing the Albedo texture using the original material's transparency texture.")); - } break; case 5: - EditorGUILayout.PropertyField(serializedObject.FindProperty("ExternalDataMapper"), new GUIContent("External Data Mapper", "Mapper used to find data Streams on external sources.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("UserPropertiesMapper"), new GUIContent("User Properties Mapper", " Mapper used to process User Properties from Models.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("LipSyncMappers"), new GUIContent("Lip Sync Mappers", "Mappers used to configure Lip-Sync Blend Shapes.")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("NameMapper"), new GUIContent("Name Mapper", "This class can be inherited and used to generate Game Object naming based on file-format model specific data.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ExternalDataMapper"), + new GUIContent("External Data Mapper", "Mapper used to find data Streams on external sources.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("UserPropertiesMapper"), + new GUIContent("User Properties Mapper", "Mapper used to process User Properties from Models.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("LipSyncMappers"), + new GUIContent("Lip Sync Mappers", "Mappers used to configure Lip-Sync Blend Shapes.")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("NameMapper"), + new GUIContent("Name Mapper", + "This class can be inherited and used to generate GameObject naming based on file-format model-specific data.")); break; } EditorGUILayout.EndVertical(); serializedObject.ApplyModifiedProperties(); } + } } \ No newline at end of file diff --git a/Assets/Editor/TriLibCore/Scripts/AssetLoaderOptionsEditor.cs.meta b/Assets/Editor/TriLibCore/Scripts/AssetLoaderOptionsEditor.cs.meta index 0cb31018..8c920d90 100644 --- a/Assets/Editor/TriLibCore/Scripts/AssetLoaderOptionsEditor.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/AssetLoaderOptionsEditor.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: e964c5e158b24dc6ad03b0a14c2ef811 -timeCreated: 1573053965 \ No newline at end of file +timeCreated: 1573053965 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/AssetLoaderOptionsEditor.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/BuildProcessor.cs b/Assets/Editor/TriLibCore/Scripts/BuildProcessor.cs index c1d9cff7..6515f05a 100644 --- a/Assets/Editor/TriLibCore/Scripts/BuildProcessor.cs +++ b/Assets/Editor/TriLibCore/Scripts/BuildProcessor.cs @@ -1,15 +1,13 @@ -using System; -using UnityEditor; +using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; using UnityEngine; -using Debug = UnityEngine.Debug; namespace TriLibCore.Editor { public class BuildProcessor : IPreprocessBuildWithReport { - public int callbackOrder => -1000; + public int callbackOrder => 0; public void OnPreprocessBuild(BuildReport report) { @@ -18,44 +16,17 @@ namespace TriLibCore.Editor #else PlayerSettings.WebGL.threadsSupport = false; #endif + if (!Application.isBatchMode) + { #if UNITY_WSA - if (!Application.isBatchMode && !PlayerSettings.WSA.GetCapability(PlayerSettings.WSACapability.RemovableStorage) && EditorUtility.DisplayDialog( - "TriLib", "TriLib cache system needs the [RemovableStorage] WSA Capacity enabled. Do you want to enable it?", "Yes", "No")) + if (!PlayerSettings.WSA.GetCapability(PlayerSettings.WSACapability.RemovableStorage) && EditorUtility.DisplayDialog( + "TriLib", "TriLib cache system needs the [RemovableStorage] WSA Capacity enabled. Do you want to enable it now?", "Yes", "No")) { PlayerSettings.WSA.SetCapability(PlayerSettings.WSACapability.RemovableStorage, true); } #endif - var waitingMappers = false; - string materialMapper = null; - var arguments = Environment.GetCommandLineArgs(); - for (var i = 0; i < arguments.Length; i++) - { - var argument = arguments[i]; - if (waitingMappers) - { - materialMapper = argument; - continue; - } - - switch (argument) - { - case "-trilib_mappers": - { - waitingMappers = true; - break; - } - } - } - - if (materialMapper is object) - { - Debug.Log($"Using the given material mapper:{materialMapper}."); - CheckMappers.SelectMapper(materialMapper); - } - else - { - CheckMappers.Initialize(); } + CheckMappers.EnableCompatibleMaterialMapperIfNeeded(); } } } \ No newline at end of file diff --git a/Assets/Editor/TriLibCore/Scripts/BuildProcessor.cs.meta b/Assets/Editor/TriLibCore/Scripts/BuildProcessor.cs.meta index 70659bd8..2c7aebe9 100644 --- a/Assets/Editor/TriLibCore/Scripts/BuildProcessor.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/BuildProcessor.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d556beac2d22e38459a0060666d79950 +guid: 48732532528e378478a056f14449aa64 MonoImporter: externalObjects: {} serializedVersion: 2 @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/BuildProcessor.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/ByNameHumanoidAvatarMapperEditor.cs b/Assets/Editor/TriLibCore/Scripts/ByNameHumanoidAvatarMapperEditor.cs new file mode 100644 index 00000000..663b802f --- /dev/null +++ b/Assets/Editor/TriLibCore/Scripts/ByNameHumanoidAvatarMapperEditor.cs @@ -0,0 +1,41 @@ +using System; +using TriLibCore.General; +using TriLibCore.Mappers; +using UnityEditor; +using UnityEngine; + + +namespace TriLibCore.Editor +{ + [CustomEditor(typeof(ByNameHumanoidAvatarMapper))] + public class ByNameHumanoidAvatarMapperEditor : UnityEditor.Editor + { + private bool[] _folded = new bool[2]; + + public override void OnInspectorGUI() + { + _folded[0] = EditorGUILayout.BeginFoldoutHeaderGroup(_folded[0], "String Comparison"); + if (_folded[0]) + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("stringComparisonMode")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("CaseInsensitive")); + } + EditorGUILayout.EndFoldoutHeaderGroup(); + _folded[1] = EditorGUILayout.BeginFoldoutHeaderGroup(_folded[1], "Bones Mapping"); + EditorGUILayout.EndFoldoutHeaderGroup(); + if (_folded[1]) + { + var bonesMapping = serializedObject.FindProperty("BonesMapping"); + for (var i = 0; i < bonesMapping.arraySize; i++) + { + var boneMapping = bonesMapping.GetArrayElementAtIndex(i); + var humanBone = boneMapping.FindPropertyRelative("HumanBone"); + var enumDisplayNames = humanBone.enumDisplayNames; + var boneNames = boneMapping.FindPropertyRelative("BoneNames"); + EditorGUILayout.PropertyField(boneNames, new GUIContent(enumDisplayNames[humanBone.enumValueIndex])); + } + } + serializedObject.ApplyModifiedProperties(); + } + } +} \ No newline at end of file diff --git a/Assets/Editor/TriLibCore/Scripts/ByNameHumanoidAvatarMapperEditor.cs.meta b/Assets/Editor/TriLibCore/Scripts/ByNameHumanoidAvatarMapperEditor.cs.meta new file mode 100644 index 00000000..0b2428e7 --- /dev/null +++ b/Assets/Editor/TriLibCore/Scripts/ByNameHumanoidAvatarMapperEditor.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ae81488757bd60e4db304d3c72f0cfde +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/ByNameHumanoidAvatarMapperEditor.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/CheckMappers.cs b/Assets/Editor/TriLibCore/Scripts/CheckMappers.cs index 23049214..63956e4a 100644 --- a/Assets/Editor/TriLibCore/Scripts/CheckMappers.cs +++ b/Assets/Editor/TriLibCore/Scripts/CheckMappers.cs @@ -5,71 +5,72 @@ using UnityEngine; namespace TriLibCore.Editor { + /// + /// Represents a series of Material Mapper utility methods. + /// + [InitializeOnLoad] public static class CheckMappers { - [InitializeOnEnterPlayMode] - [InitializeOnLoadMethod] - public static void Initialize() + [MenuItem("Tools/TriLib/Select Material Mappers based on Rendering Pipeline")] + private static void AutoSelect() { - var hasAnyMapper = false; + string materialMapperName; + for (var i = 0; i < MaterialMapper.RegisteredMappers.Count; i++) + { + materialMapperName = MaterialMapper.RegisteredMappers[i]; + TriLibSettings.SetBool(materialMapperName, false); + } + materialMapperName = AssetLoader.GetCompatibleMaterialMapperName(); + SelectMapper(materialMapperName); + } + + /// + /// Enables a compatible Material Mapper if none is found. + /// + public static void EnableCompatibleMaterialMapperIfNeeded() + { + string materialMapperName; + for (var i = 0; i < MaterialMapper.RegisteredMappers.Count; i++) + { + materialMapperName = MaterialMapper.RegisteredMappers[i]; + if (TriLibSettings.GetBool(materialMapperName, false)) + { + return; + } + } + EnableCompatibleMaterialMapper(); + } + + /// + /// Tries to find the best Material Mapper depending on the Rendering Pipeline. + /// + public static void EnableCompatibleMaterialMapper() + { + var usingMaterialMapper = false; for (var i = 0; i < MaterialMapper.RegisteredMappers.Count; i++) { var materialMapperName = MaterialMapper.RegisteredMappers[i]; if (TriLibSettings.GetBool(materialMapperName)) { - hasAnyMapper = true; + usingMaterialMapper = true; break; } } - - if (!hasAnyMapper) + if (!usingMaterialMapper) { - string materialMapper; - if (GraphicsSettingsUtils.IsUsingHDRPPipeline) - { - materialMapper = "HDRPMaterialMapper"; - } - else if (GraphicsSettingsUtils.IsUsingUniversalPipeline) - { - materialMapper = "UniversalRPMaterialMapper"; - } - else - { - materialMapper = "StandardMaterialMapper"; - } - Debug.Log($"TriLib is configured to use the '{materialMapper}' Material Mapper. If you want to use different Material Mappers, you can change this setting on the Project Settings/TriLib area."); - TriLibSettings.SetBool(materialMapper, true); + var materialMapperName = AssetLoader.GetCompatibleMaterialMapperName(); + SelectMapper(materialMapperName); } } - [MenuItem("Tools/TriLib/Select Material Mappers based on Rendering Pipeline")] - public static void AutoSelect() + static CheckMappers() { - for (var i = 0; i < MaterialMapper.RegisteredMappers.Count; i++) - { - var materialMapperName = MaterialMapper.RegisteredMappers[i]; - TriLibSettings.SetBool(materialMapperName, false); - } - - string materialMapper; - if (GraphicsSettingsUtils.IsUsingHDRPPipeline) - { - materialMapper = "HDRPMaterialMapper"; - } - else if (GraphicsSettingsUtils.IsUsingUniversalPipeline) - { - materialMapper = "UniversalRPMaterialMapper"; - } - else - { - materialMapper = "StandardMaterialMapper"; - } - SelectMapper(materialMapper); + EnableCompatibleMaterialMapperIfNeeded(); } public static void SelectMapper(string materialMapper) { - Debug.Log($"TriLib is configured to use the '{materialMapper}' Material Mapper. If you want to use different Material Mappers, you can change this setting on the Project Settings/TriLib area."); + Debug.Log($"TriLib is configured to use the '{materialMapper}' Material Mapper. If you want to use different Material Mappers, you can change this setting on the 'Edit->Project Settings->TriLib' menu."); TriLibSettings.SetBool(materialMapper, true); } } diff --git a/Assets/Editor/TriLibCore/Scripts/CheckMappers.cs.meta b/Assets/Editor/TriLibCore/Scripts/CheckMappers.cs.meta index 8871606e..0887e2b9 100644 --- a/Assets/Editor/TriLibCore/Scripts/CheckMappers.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/CheckMappers.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/CheckMappers.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/ImporterOption.cs.meta b/Assets/Editor/TriLibCore/Scripts/ImporterOption.cs.meta index be59ef6b..864ec00e 100644 --- a/Assets/Editor/TriLibCore/Scripts/ImporterOption.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/ImporterOption.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: c201497c49b244e8a7ae0152eb5ad027 -timeCreated: 1573070165 \ No newline at end of file +timeCreated: 1573070165 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/ImporterOption.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/LipSyncMappingEditor.cs.meta b/Assets/Editor/TriLibCore/Scripts/LipSyncMappingEditor.cs.meta index fb600bf7..a30da4d1 100644 --- a/Assets/Editor/TriLibCore/Scripts/LipSyncMappingEditor.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/LipSyncMappingEditor.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/LipSyncMappingEditor.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/MapperContextActions.cs.meta b/Assets/Editor/TriLibCore/Scripts/MapperContextActions.cs.meta index ddb40be8..e3109fd4 100644 --- a/Assets/Editor/TriLibCore/Scripts/MapperContextActions.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/MapperContextActions.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/MapperContextActions.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/PreBuiltResources.cs.meta b/Assets/Editor/TriLibCore/Scripts/PreBuiltResources.cs.meta index 6b1faa50..3913b6ec 100644 --- a/Assets/Editor/TriLibCore/Scripts/PreBuiltResources.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/PreBuiltResources.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/PreBuiltResources.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/ShaderVariantCollectionUtils.cs b/Assets/Editor/TriLibCore/Scripts/ShaderVariantCollectionUtils.cs new file mode 100644 index 00000000..e0fc6477 --- /dev/null +++ b/Assets/Editor/TriLibCore/Scripts/ShaderVariantCollectionUtils.cs @@ -0,0 +1,52 @@ +using UnityEditor; +using UnityEngine; + +namespace TriLibCore.Editor +{ + /// + /// Represents a class with Shader Variant Collection utility methods. + /// + public static class ShaderVariantCollectionUtils + { + /// + /// Adds the given Shader Variant Collection to the Graphic Settings preloaded shaders. + /// + /// The Shader Variant Collection to add. + public static void AddShaderVariantCollectionToGraphicSettings(ShaderVariantCollection shaderVariantCollection) + { + var graphicSettingAssets = AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/GraphicsSettings.asset"); + if (graphicSettingAssets != null && graphicSettingAssets.Length > 0) + { + var graphicsSettings = new SerializedObject(graphicSettingAssets[0]); + var preloadedShaders = graphicsSettings.FindProperty("m_PreloadedShaders"); + preloadedShaders.InsertArrayElementAtIndex(preloadedShaders.arraySize); + preloadedShaders.GetArrayElementAtIndex(preloadedShaders.arraySize - 1).objectReferenceValue = shaderVariantCollection; + graphicsSettings.ApplyModifiedProperties(); + } + } + + /// + /// Returns whether the given Shader Variant Collection exists on the Graphic Settings preloaded shaders. + /// + /// The Shader Variant Collection to check for. + /// Whether the Shader Variant Collection exists on the Graphic Settings preloaded shaders. + public static bool IsShaderVariantCollectionPreloaded(ShaderVariantCollection shaderVariantCollection) + { + var graphicSettingAssets = AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/GraphicsSettings.asset"); + if (graphicSettingAssets != null && graphicSettingAssets.Length > 0) + { + var graphicsSettings = new SerializedObject(graphicSettingAssets[0]); + var preloadedShaders = graphicsSettings.FindProperty("m_PreloadedShaders"); + for (var i = 0; i < preloadedShaders.arraySize; i++) + { + if (preloadedShaders.GetArrayElementAtIndex(i).objectReferenceValue == shaderVariantCollection) + { + return true; + } + } + return false; + } + return true; + } + } +} \ No newline at end of file diff --git a/Assets/Editor/TriLibCore/Scripts/ShaderVariantCollectionUtils.cs.meta b/Assets/Editor/TriLibCore/Scripts/ShaderVariantCollectionUtils.cs.meta new file mode 100644 index 00000000..5697fb38 --- /dev/null +++ b/Assets/Editor/TriLibCore/Scripts/ShaderVariantCollectionUtils.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 9d608c222bc0e864cbc3769c06a760e0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/ShaderVariantCollectionUtils.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/SimpleAnimationPlayerEditor.cs.meta b/Assets/Editor/TriLibCore/Scripts/SimpleAnimationPlayerEditor.cs.meta index 8b8e19eb..a391382d 100644 --- a/Assets/Editor/TriLibCore/Scripts/SimpleAnimationPlayerEditor.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/SimpleAnimationPlayerEditor.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: f2d92827e4bc43d68ac3a39cbdee0da3 -timeCreated: 1589229113 \ No newline at end of file +timeCreated: 1589229113 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/SimpleAnimationPlayerEditor.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLib3MFScriptedImporter.cs b/Assets/Editor/TriLibCore/Scripts/TriLib3MFScriptedImporter.cs index a350e890..b7adfbe1 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLib3MFScriptedImporter.cs +++ b/Assets/Editor/TriLibCore/Scripts/TriLib3MFScriptedImporter.cs @@ -2,7 +2,11 @@ using System; using UnityEditor; using Object = UnityEngine.Object; +#if UNITY_2020_2_OR_NEWER using UnityEditor.AssetImporters; +#else +using UnityEditor.Experimental.AssetImporters; +#endif namespace TriLibCore.Editor { #if !TRILIB_DISABLE_EDITOR_3MF_IMPORT diff --git a/Assets/Editor/TriLibCore/Scripts/TriLib3MFScriptedImporter.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLib3MFScriptedImporter.cs.meta index 0f4f70be..dec2aeaf 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLib3MFScriptedImporter.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLib3MFScriptedImporter.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLib3MFScriptedImporter.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibDefineSymbolsHelper.cs b/Assets/Editor/TriLibCore/Scripts/TriLibDefineSymbolsHelper.cs index 40d763f8..ddfe0d14 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibDefineSymbolsHelper.cs +++ b/Assets/Editor/TriLibCore/Scripts/TriLibDefineSymbolsHelper.cs @@ -7,9 +7,13 @@ namespace TriLibCore.Editor { public static bool IsSymbolDefined(string targetDefineSymbol) { - var targetGroup = NamedBuildTarget.FromBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup); - //var defineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup); - var defineSymbols = PlayerSettings.GetScriptingDefineSymbols(targetGroup); +#if UNITY_2020_3_OR_NEWER + var buildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup; + var namedBuildTarget = NamedBuildTarget.FromBuildTargetGroup(buildTargetGroup); + var defineSymbols = PlayerSettings.GetScriptingDefineSymbols(namedBuildTarget); +#else + var defineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup); +#endif var defineSymbolsArray = defineSymbols.Split(';'); for (var i = 0; i < defineSymbolsArray.Length; i++) { @@ -20,15 +24,18 @@ namespace TriLibCore.Editor return true; } } - return false; } public static void UpdateSymbol(string targetDefineSymbol, bool value) { - var targetGroup = NamedBuildTarget.FromBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup); - var defineSymbols = PlayerSettings.GetScriptingDefineSymbols(targetGroup); - //var defineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup); +#if UNITY_2020_3_OR_NEWER + var buildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup; + var namedBuildTarget = NamedBuildTarget.FromBuildTargetGroup(buildTargetGroup); + var defineSymbols = PlayerSettings.GetScriptingDefineSymbols(namedBuildTarget); +#else + var defineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup); +#endif var defineSymbolsArray = defineSymbols.Split(';'); var newDefineSymbols = string.Empty; var isDefined = false; @@ -42,10 +49,8 @@ namespace TriLibCore.Editor { continue; } - isDefined = true; } - newDefineSymbols += string.Format("{0};", trimmedDefineSymbol); } @@ -53,8 +58,11 @@ namespace TriLibCore.Editor { newDefineSymbols += string.Format("{0};", targetDefineSymbol); } - PlayerSettings.SetScriptingDefineSymbols(targetGroup, newDefineSymbols); - //PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, newDefineSymbols); +#if UNITY_2020_3_OR_NEWER + PlayerSettings.SetScriptingDefineSymbols(namedBuildTarget, newDefineSymbols); +#else + PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, newDefineSymbols); +#endif } } } \ No newline at end of file diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibDefineSymbolsHelper.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLibDefineSymbolsHelper.cs.meta index 90fe804e..016df8c0 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibDefineSymbolsHelper.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLibDefineSymbolsHelper.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLibDefineSymbolsHelper.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibDeprecationWarnings.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLibDeprecationWarnings.cs.meta index 916d8f9f..2153a687 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibDeprecationWarnings.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLibDeprecationWarnings.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLibDeprecationWarnings.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibGLTFScriptedImporter.cs b/Assets/Editor/TriLibCore/Scripts/TriLibGLTFScriptedImporter.cs index d043b915..162d5734 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibGLTFScriptedImporter.cs +++ b/Assets/Editor/TriLibCore/Scripts/TriLibGLTFScriptedImporter.cs @@ -2,7 +2,11 @@ using System; using UnityEditor; using Object = UnityEngine.Object; +#if UNITY_2020_2_OR_NEWER using UnityEditor.AssetImporters; +#else +using UnityEditor.Experimental.AssetImporters; +#endif namespace TriLibCore.Editor { #if !TRILIB_DISABLE_EDITOR_GLTF_IMPORT diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibGLTFScriptedImporter.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLibGLTFScriptedImporter.cs.meta index 8ee6d3d0..c2d6f33a 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibGLTFScriptedImporter.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLibGLTFScriptedImporter.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLibGLTFScriptedImporter.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibPLYScriptedImporter.cs b/Assets/Editor/TriLibCore/Scripts/TriLibPLYScriptedImporter.cs index 53a3e8d5..219c055a 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibPLYScriptedImporter.cs +++ b/Assets/Editor/TriLibCore/Scripts/TriLibPLYScriptedImporter.cs @@ -2,7 +2,11 @@ using System; using UnityEditor; using Object = UnityEngine.Object; +#if UNITY_2020_2_OR_NEWER using UnityEditor.AssetImporters; +#else +using UnityEditor.Experimental.AssetImporters; +#endif namespace TriLibCore.Editor { #if !TRILIB_DISABLE_EDITOR_PLY_IMPORT diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibPLYScriptedImporter.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLibPLYScriptedImporter.cs.meta index c24321da..de64bcc0 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibPLYScriptedImporter.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLibPLYScriptedImporter.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLibPLYScriptedImporter.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibSTLScriptedImporter.cs b/Assets/Editor/TriLibCore/Scripts/TriLibSTLScriptedImporter.cs index f6662462..1a5efa39 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibSTLScriptedImporter.cs +++ b/Assets/Editor/TriLibCore/Scripts/TriLibSTLScriptedImporter.cs @@ -2,7 +2,11 @@ using System; using UnityEditor; using Object = UnityEngine.Object; +#if UNITY_2020_2_OR_NEWER using UnityEditor.AssetImporters; +#else +using UnityEditor.Experimental.AssetImporters; +#endif namespace TriLibCore.Editor { #if !TRILIB_DISABLE_EDITOR_STL_IMPORT diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibSTLScriptedImporter.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLibSTLScriptedImporter.cs.meta index 38f93bea..897f46aa 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibSTLScriptedImporter.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLibSTLScriptedImporter.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLibSTLScriptedImporter.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibScriptedImporter.cs b/Assets/Editor/TriLibCore/Scripts/TriLibScriptedImporter.cs index a1332a10..2f9e9bf1 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibScriptedImporter.cs +++ b/Assets/Editor/TriLibCore/Scripts/TriLibScriptedImporter.cs @@ -1,4 +1,5 @@ #pragma warning disable CS0105 +#pragma warning disable CS0618 using UnityEngine; using TriLibCore.Interfaces; using UnityEditor; @@ -19,6 +20,8 @@ namespace TriLibCore.Editor } //Editor coroutines are not allowed assetLoaderOptions.UseCoroutines = false; + //Asset Unloader is not suitable for editor loading + assetLoaderOptions.AddAssetUnloader = false; return assetLoaderOptions; } set => userData = EditorJsonUtility.ToJson(value); diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibScriptedImporter.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLibScriptedImporter.cs.meta index 46b9f9f2..87aa952e 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibScriptedImporter.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLibScriptedImporter.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLibScriptedImporter.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibSettingsProvider.cs b/Assets/Editor/TriLibCore/Scripts/TriLibSettingsProvider.cs index 15e1f529..ac449f1d 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibSettingsProvider.cs +++ b/Assets/Editor/TriLibCore/Scripts/TriLibSettingsProvider.cs @@ -39,7 +39,7 @@ namespace TriLibCore.Editor GUILayout.Label("You can disable runtime file-formats importing here"); EditorGUILayout.Space(); ShowConditionalToggle("Disable runtime FBX importing", "TRILIB_DISABLE_FBX_IMPORT"); - ShowConditionalToggle("Disable runtime gLTF2 importing", "TRILIB_DISABLE_GLTF_IMPORT"); + ShowConditionalToggle("Disable runtime glTF2 importing", "TRILIB_DISABLE_GLTF_IMPORT"); ShowConditionalToggle("Disable runtime OBJ importing", "TRILIB_DISABLE_OBJ_IMPORT"); ShowConditionalToggle("Disable runtime STL importing", "TRILIB_DISABLE_STL_IMPORT"); ShowConditionalToggle("Disable runtime PLY importing", "TRILIB_DISABLE_PLY_IMPORT"); @@ -51,7 +51,7 @@ namespace TriLibCore.Editor EditorPrefs.SetInt("TriLibTimeout", EditorGUILayout.IntField("Loading timeout", EditorPrefs.GetInt("TriLibTimeout", 180))); GUILayout.Label("You can disable in editor file-formats importing to avoid conflicts with other editor importers"); EditorGUILayout.Space(); - ShowConditionalToggle("Disable in editor gLTF2 importing", "TRILIB_DISABLE_EDITOR_GLTF_IMPORT"); + ShowConditionalToggle("Disable in editor glTF2 importing", "TRILIB_DISABLE_EDITOR_GLTF_IMPORT"); ShowConditionalToggle("Disable in editor PLY importing", "TRILIB_DISABLE_EDITOR_PLY_IMPORT"); ShowConditionalToggle("Disable in editor 3MF importing", "TRILIB_DISABLE_EDITOR_3MF_IMPORT"); ShowConditionalToggle("Disable in editor STL importing", "TRILIB_DISABLE_EDITOR_STL_IMPORT"); @@ -75,10 +75,8 @@ namespace TriLibCore.Editor GUILayout.Label("Misc Options", EditorStyles.boldLabel); GUILayout.Label("Advanced and experimental options"); EditorGUILayout.Space(); - //todo: fbx sdk will be included in a future update - //ShowConditionalToggle("Use FBX SDK (Experimental)", "TRILIB_USE_FBXSDK"); ShowConditionalToggle("Enable UWP threaded loading (Experimental)", "TRILIB_ENABLE_UWP_THREADS"); - ShowConditionalToggle("Enable gLTF2 Draco decompression (Experimental)", "TRILIB_DRACO"); + ShowConditionalToggle("Enable glTF2 Draco decompression (Experimental)", "TRILIB_DRACO"); ShowConditionalToggle("Force synchronous loading", "TRILIB_FORCE_SYNC"); ShowConditionalToggle("Change thread names (Debug purposes only)", "TRILIB_USE_THREAD_NAMES"); ShowConditionalToggle("Disable asset loader options validations", "TRILIB_DISABLE_VALIDATIONS"); @@ -98,13 +96,16 @@ namespace TriLibCore.Editor { Application.OpenURL("https://ricardoreis.net/trilibwiki/index.php"); } + if (GUILayout.Button("Discord Server")) + { + Application.OpenURL("https://discord.gg/FV6tqCxY2U"); + } if (GUILayout.Button("Support")) { Application.OpenURL("https://ricardoreis.net/contact/"); } GUILayout.EndHorizontal(); GUILayout.EndVertical(); - CheckMappers.Initialize(); base.OnGUI(searchContext); } diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibSettingsProvider.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLibSettingsProvider.cs.meta index 1c24752d..0839911a 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibSettingsProvider.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLibSettingsProvider.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: a5b653e1047e419fb6dc0d9b9d4d2c46 -timeCreated: 1573055735 \ No newline at end of file +timeCreated: 1573055735 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLibSettingsProvider.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibSplashScreen.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLibSplashScreen.cs.meta index 0cc7c8b9..75ab9e53 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibSplashScreen.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLibSplashScreen.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLibSplashScreen.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibVersionInfo.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLibVersionInfo.cs.meta index 62c5512a..8aa737ab 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibVersionInfo.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLibVersionInfo.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLibVersionInfo.cs + uploadId: 752923 diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibVersionNotes.cs b/Assets/Editor/TriLibCore/Scripts/TriLibVersionNotes.cs index 4e09d4c3..fa8272fa 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibVersionNotes.cs +++ b/Assets/Editor/TriLibCore/Scripts/TriLibVersionNotes.cs @@ -1,6 +1,9 @@ -using System.IO; +using System; +using System.IO; +using System.Text.RegularExpressions; using UnityEditor; using UnityEngine; +using UnityEngine.Windows; namespace TriLibCore.Editor { @@ -8,8 +11,6 @@ namespace TriLibCore.Editor { private class Styles { - public const float WindowWidth = 0.75f; - public const float WindowHeight = 0.5f; public static readonly GUIStyle HeaderStyle = new GUIStyle("label") { fontSize = 19, fontStyle = FontStyle.Bold, margin = new RectOffset(10, 10, 5, 5) }; public static readonly GUIStyle SubHeaderStyle = new GUIStyle("label") { margin = new RectOffset(10, 10, 5, 5), fontStyle = FontStyle.Bold }; public static readonly GUIStyle TextStyle = new GUIStyle("label") { margin = new RectOffset(20, 20, 5, 5) }; @@ -19,8 +20,12 @@ namespace TriLibCore.Editor private string _text; private bool _loaded; - private Vector2 _changeLogScrollPosition; - private Vector2 _notesScrollPosition; + private Vector2 _scrollPosition; + + private static readonly string ChangelogPattern = @"(?<=Changelog:)(.*?)(?=(Version Notes:|$))"; + private static readonly string VersionNotesPattern = @"(?<=Version Notes:)(.*)"; + private static readonly string Pattern = @"(https?://[^\s]+)"; + private static readonly Regex URIRegex = new Regex(@"^https?://"); private static TriLibVersionNotes Instance { @@ -28,7 +33,6 @@ namespace TriLibCore.Editor { var window = GetWindow(); window.titleContent = new GUIContent("TriLib Version Notes"); - window.minSize = new Vector2(Styles.WindowWidth * Screen.width, Styles.WindowHeight * Screen.height); return window; } } @@ -72,61 +76,46 @@ namespace TriLibCore.Editor } _loaded = true; } - EditorGUILayout.BeginVertical(); - using (var stringReader = new StringReader(_text)) + _scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition); + var changelogMatch = Regex.Match(_text, ChangelogPattern, RegexOptions.Singleline); + var changelogSection = changelogMatch.Success ? changelogMatch.Value.Trim() : "No changelog found"; + var versionNotesMatch = Regex.Match(_text, VersionNotesPattern, RegexOptions.Singleline); + var versionNotesSection = versionNotesMatch.Success ? versionNotesMatch.Value.Trim() : "No version notes found"; + GUILayout.Label("Version Notes", Styles.SubHeaderStyle); + var groups = Regex.Split(versionNotesSection, Pattern); + foreach (var group in groups) { - var changeLogOpen = false; - var version = stringReader.ReadLine(); - GUILayout.Label($"TriLib {version}", Styles.HeaderStyle); - for (; ; ) + if (!string.IsNullOrEmpty(group)) { - var line = stringReader.ReadLine(); - if (line == null) + if (URIRegex.IsMatch(group)) { - break; - } - if (line.ToLowerInvariant() == "changelog:") - { - EditorGUILayout.Space(); - GUILayout.Label("Changelog", Styles.SubHeaderStyle); - _changeLogScrollPosition = GUILayout.BeginScrollView(_changeLogScrollPosition, GUILayout.Height(260f)); - changeLogOpen = true; - } - else if (line.ToLowerInvariant() == "version notes:") - { - if (changeLogOpen) + GUILayout.BeginHorizontal(); + GUILayout.Space(20); + if (EditorGUILayout.LinkButton(group)) { - GUILayout.EndScrollView(); - changeLogOpen = false; + Application.OpenURL(group); } - EditorGUILayout.Space(); - GUILayout.Label("Version Notes", Styles.SubHeaderStyle); - var versionInfo = stringReader.ReadToEnd(); - _notesScrollPosition = EditorGUILayout.BeginScrollView(_notesScrollPosition); - EditorGUILayout.TextArea(versionInfo, Styles.TextAreaStyle); - EditorGUILayout.EndScrollView(); - break; + GUILayout.EndHorizontal(); } else { - GUILayout.Label(line, Styles.TextStyle); + EditorGUILayout.TextArea(group, Styles.TextAreaStyle); } } - if (changeLogOpen) - { - GUILayout.EndScrollView(); - } - EditorGUILayout.EndVertical(); - EditorGUILayout.Space(); - GUILayout.Label("You can show this window on the Project Settings/TriLib area", Styles.SubHeaderStyle); - EditorGUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - if (GUILayout.Button("Close", Styles.ButtonStyle)) - { - Close(); - } - EditorGUILayout.EndHorizontal(); } + EditorGUILayout.Space(); + GUILayout.Label("Changelog", Styles.SubHeaderStyle); + EditorGUILayout.TextArea(changelogSection, Styles.TextAreaStyle); + EditorGUILayout.EndScrollView(); + EditorGUILayout.Space(); + GUILayout.Label("You can show this window on the Project Settings/TriLib area", Styles.SubHeaderStyle); + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + if (GUILayout.Button("Close", Styles.ButtonStyle)) + { + Close(); + } + EditorGUILayout.EndHorizontal(); } } } diff --git a/Assets/Editor/TriLibCore/Scripts/TriLibVersionNotes.cs.meta b/Assets/Editor/TriLibCore/Scripts/TriLibVersionNotes.cs.meta index 52e33691..7d99e2e0 100644 --- a/Assets/Editor/TriLibCore/Scripts/TriLibVersionNotes.cs.meta +++ b/Assets/Editor/TriLibCore/Scripts/TriLibVersionNotes.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Editor/TriLibCore/Scripts/TriLibVersionNotes.cs + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/ICSharpCode.SharpZipLib.dll b/Assets/Plugins/TriLib/Debug/ICSharpCode.SharpZipLib.dll new file mode 100644 index 00000000..0b4e761d Binary files /dev/null and b/Assets/Plugins/TriLib/Debug/ICSharpCode.SharpZipLib.dll differ diff --git a/Assets/Plugins/TriLib/Debug/ICSharpCode.SharpZipLib.dll.meta b/Assets/Plugins/TriLib/Debug/ICSharpCode.SharpZipLib.dll.meta new file mode 100644 index 00000000..22896888 --- /dev/null +++ b/Assets/Plugins/TriLib/Debug/ICSharpCode.SharpZipLib.dll.meta @@ -0,0 +1,40 @@ +fileFormatVersion: 2 +guid: 1677d96caecc54a479a901472beec0e7 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/ICSharpCode.SharpZipLib.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/IxMilia.ThreeMf.dll b/Assets/Plugins/TriLib/Debug/IxMilia.ThreeMf.dll new file mode 100644 index 00000000..c40ec3a7 Binary files /dev/null and b/Assets/Plugins/TriLib/Debug/IxMilia.ThreeMf.dll differ diff --git a/Assets/Plugins/TriLib/Debug/IxMilia.ThreeMf.dll.meta b/Assets/Plugins/TriLib/Debug/IxMilia.ThreeMf.dll.meta new file mode 100644 index 00000000..93e35f8c --- /dev/null +++ b/Assets/Plugins/TriLib/Debug/IxMilia.ThreeMf.dll.meta @@ -0,0 +1,40 @@ +fileFormatVersion: 2 +guid: 8be21df24d4fae54784eb25606dbfa07 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/IxMilia.ThreeMf.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/LibTessDotNet.dll b/Assets/Plugins/TriLib/Debug/LibTessDotNet.dll new file mode 100644 index 00000000..5bc92f3e Binary files /dev/null and b/Assets/Plugins/TriLib/Debug/LibTessDotNet.dll differ diff --git a/Assets/Plugins/TriLib/Debug/LibTessDotNet.dll.meta b/Assets/Plugins/TriLib/Debug/LibTessDotNet.dll.meta new file mode 100644 index 00000000..a4308fa3 --- /dev/null +++ b/Assets/Plugins/TriLib/Debug/LibTessDotNet.dll.meta @@ -0,0 +1,40 @@ +fileFormatVersion: 2 +guid: 8185ce2036dadcd4d9ef9fcdf2cbd3e4 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/LibTessDotNet.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/StbImageSharp.dll b/Assets/Plugins/TriLib/Debug/StbImageSharp.dll new file mode 100644 index 00000000..d8b3ea45 Binary files /dev/null and b/Assets/Plugins/TriLib/Debug/StbImageSharp.dll differ diff --git a/Assets/Plugins/TriLib/Debug/StbImageSharp.dll.meta b/Assets/Plugins/TriLib/Debug/StbImageSharp.dll.meta new file mode 100644 index 00000000..ef43cbc7 --- /dev/null +++ b/Assets/Plugins/TriLib/Debug/StbImageSharp.dll.meta @@ -0,0 +1,40 @@ +fileFormatVersion: 2 +guid: 34ae3d9f2f4574f4eae07b11e2303010 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/StbImageSharp.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Dae.dll b/Assets/Plugins/TriLib/Debug/TriLibCore.Dae.dll index 81627f01..d0f9eed1 100644 Binary files a/Assets/Plugins/TriLib/Debug/TriLibCore.Dae.dll and b/Assets/Plugins/TriLib/Debug/TriLibCore.Dae.dll differ diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Dae.dll.meta b/Assets/Plugins/TriLib/Debug/TriLibCore.Dae.dll.meta index 04b29735..0e946a2d 100644 --- a/Assets/Plugins/TriLib/Debug/TriLibCore.Dae.dll.meta +++ b/Assets/Plugins/TriLib/Debug/TriLibCore.Dae.dll.meta @@ -5,32 +5,12 @@ PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} - defineConstraints: - - UNITY_EDITOR || DEVELOPMENT + defineConstraints: [] isPreloaded: 0 isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude WebGL: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude WindowsStoreApps: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: {} - first: Any: second: @@ -39,45 +19,22 @@ PluginImporter: - first: Editor: Editor second: - enabled: 1 + enabled: 0 settings: DefaultValueInitialized: true - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: {} - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: {} - - first: - Standalone: Win - second: - enabled: 1 - settings: {} - - first: - Standalone: Win64 - second: - enabled: 1 - settings: {} - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - first: Windows Store Apps: WindowsStoreApps second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - - first: - iPhone: iOS - second: - enabled: 1 - settings: {} userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/TriLibCore.Dae.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Fbx.dll b/Assets/Plugins/TriLib/Debug/TriLibCore.Fbx.dll index 94d0d6d3..8f7e1e86 100644 Binary files a/Assets/Plugins/TriLib/Debug/TriLibCore.Fbx.dll and b/Assets/Plugins/TriLib/Debug/TriLibCore.Fbx.dll differ diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Fbx.dll.meta b/Assets/Plugins/TriLib/Debug/TriLibCore.Fbx.dll.meta index 0317822c..561dc775 100644 --- a/Assets/Plugins/TriLib/Debug/TriLibCore.Fbx.dll.meta +++ b/Assets/Plugins/TriLib/Debug/TriLibCore.Fbx.dll.meta @@ -5,32 +5,12 @@ PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} - defineConstraints: - - UNITY_EDITOR || DEVELOPMENT + defineConstraints: [] isPreloaded: 0 isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude WebGL: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude WindowsStoreApps: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: {} - first: Any: second: @@ -39,45 +19,22 @@ PluginImporter: - first: Editor: Editor second: - enabled: 1 + enabled: 0 settings: DefaultValueInitialized: true - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: {} - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: {} - - first: - Standalone: Win - second: - enabled: 1 - settings: {} - - first: - Standalone: Win64 - second: - enabled: 1 - settings: {} - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - first: Windows Store Apps: WindowsStoreApps second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - - first: - iPhone: iOS - second: - enabled: 1 - settings: {} userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/TriLibCore.Fbx.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.Draco.dll b/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.Draco.dll index 95e60eef..26c0743f 100644 Binary files a/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.Draco.dll and b/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.Draco.dll differ diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.Draco.dll.meta b/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.Draco.dll.meta index 4b256d31..5fdeba24 100644 --- a/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.Draco.dll.meta +++ b/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.Draco.dll.meta @@ -5,32 +5,12 @@ PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} - defineConstraints: - - UNITY_EDITOR || DEVELOPMENT + defineConstraints: [] isPreloaded: 0 isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude WebGL: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude WindowsStoreApps: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: {} - first: Any: second: @@ -39,45 +19,22 @@ PluginImporter: - first: Editor: Editor second: - enabled: 1 + enabled: 0 settings: DefaultValueInitialized: true - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: {} - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: {} - - first: - Standalone: Win - second: - enabled: 1 - settings: {} - - first: - Standalone: Win64 - second: - enabled: 1 - settings: {} - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - first: Windows Store Apps: WindowsStoreApps second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - - first: - iPhone: iOS - second: - enabled: 1 - settings: {} userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.Draco.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.dll b/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.dll index fdceefe7..c7a239eb 100644 Binary files a/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.dll and b/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.dll differ diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.dll.meta b/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.dll.meta index e3d5e2fa..fe00dd3e 100644 --- a/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.dll.meta +++ b/Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.dll.meta @@ -5,32 +5,12 @@ PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} - defineConstraints: - - UNITY_EDITOR || DEVELOPMENT + defineConstraints: [] isPreloaded: 0 isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude WebGL: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude WindowsStoreApps: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: {} - first: Any: second: @@ -39,45 +19,22 @@ PluginImporter: - first: Editor: Editor second: - enabled: 1 + enabled: 0 settings: DefaultValueInitialized: true - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: {} - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: {} - - first: - Standalone: Win - second: - enabled: 1 - settings: {} - - first: - Standalone: Win64 - second: - enabled: 1 - settings: {} - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - first: Windows Store Apps: WindowsStoreApps second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - - first: - iPhone: iOS - second: - enabled: 1 - settings: {} userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/TriLibCore.Gltf.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.HDRLoader.dll b/Assets/Plugins/TriLib/Debug/TriLibCore.HDRLoader.dll index 10f7a6f7..8cdad25b 100644 Binary files a/Assets/Plugins/TriLib/Debug/TriLibCore.HDRLoader.dll and b/Assets/Plugins/TriLib/Debug/TriLibCore.HDRLoader.dll differ diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.HDRLoader.dll.meta b/Assets/Plugins/TriLib/Debug/TriLibCore.HDRLoader.dll.meta index b642696c..cf12fec2 100644 --- a/Assets/Plugins/TriLib/Debug/TriLibCore.HDRLoader.dll.meta +++ b/Assets/Plugins/TriLib/Debug/TriLibCore.HDRLoader.dll.meta @@ -5,32 +5,12 @@ PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} - defineConstraints: - - UNITY_EDITOR || DEVELOPMENT + defineConstraints: [] isPreloaded: 0 isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude WebGL: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude WindowsStoreApps: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: {} - first: Any: second: @@ -39,45 +19,22 @@ PluginImporter: - first: Editor: Editor second: - enabled: 1 + enabled: 0 settings: DefaultValueInitialized: true - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: {} - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: {} - - first: - Standalone: Win - second: - enabled: 1 - settings: {} - - first: - Standalone: Win64 - second: - enabled: 1 - settings: {} - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - first: Windows Store Apps: WindowsStoreApps second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - - first: - iPhone: iOS - second: - enabled: 1 - settings: {} userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/TriLibCore.HDRLoader.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Obj.dll b/Assets/Plugins/TriLib/Debug/TriLibCore.Obj.dll index 6686bff5..0582ce72 100644 Binary files a/Assets/Plugins/TriLib/Debug/TriLibCore.Obj.dll and b/Assets/Plugins/TriLib/Debug/TriLibCore.Obj.dll differ diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Obj.dll.meta b/Assets/Plugins/TriLib/Debug/TriLibCore.Obj.dll.meta index f570e6bd..7711b52d 100644 --- a/Assets/Plugins/TriLib/Debug/TriLibCore.Obj.dll.meta +++ b/Assets/Plugins/TriLib/Debug/TriLibCore.Obj.dll.meta @@ -5,32 +5,12 @@ PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} - defineConstraints: - - UNITY_EDITOR || DEVELOPMENT + defineConstraints: [] isPreloaded: 0 isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude WebGL: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude WindowsStoreApps: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: {} - first: Any: second: @@ -39,45 +19,22 @@ PluginImporter: - first: Editor: Editor second: - enabled: 1 + enabled: 0 settings: DefaultValueInitialized: true - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: {} - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: {} - - first: - Standalone: Win - second: - enabled: 1 - settings: {} - - first: - Standalone: Win64 - second: - enabled: 1 - settings: {} - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - first: Windows Store Apps: WindowsStoreApps second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - - first: - iPhone: iOS - second: - enabled: 1 - settings: {} userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/TriLibCore.Obj.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Ply.dll b/Assets/Plugins/TriLib/Debug/TriLibCore.Ply.dll index 49445337..7475273a 100644 Binary files a/Assets/Plugins/TriLib/Debug/TriLibCore.Ply.dll and b/Assets/Plugins/TriLib/Debug/TriLibCore.Ply.dll differ diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Ply.dll.meta b/Assets/Plugins/TriLib/Debug/TriLibCore.Ply.dll.meta index ef8ee295..e8fab116 100644 --- a/Assets/Plugins/TriLib/Debug/TriLibCore.Ply.dll.meta +++ b/Assets/Plugins/TriLib/Debug/TriLibCore.Ply.dll.meta @@ -5,33 +5,12 @@ PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} - defineConstraints: - - UNITY_EDITOR || DEVELOPMENT + defineConstraints: [] isPreloaded: 0 isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude WebGL: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude WindowsStoreApps: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: - CPU: ARMv7 - first: Any: second: @@ -40,59 +19,22 @@ PluginImporter: - first: Editor: Editor second: - enabled: 1 + enabled: 0 settings: - CPU: AnyCPU DefaultValueInitialized: true - OS: AnyOS - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: - CPU: AnyCPU - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: - CPU: x86_64 - - first: - Standalone: Win - second: - enabled: 1 - settings: - CPU: x86 - - first: - Standalone: Win64 - second: - enabled: 1 - settings: - CPU: x86_64 - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - first: Windows Store Apps: WindowsStoreApps second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - DontProcess: false - PlaceholderPath: - SDK: AnySDK - ScriptingBackend: AnyScriptingBackend - - first: - iPhone: iOS - second: - enabled: 1 - settings: - AddToEmbeddedBinaries: false - CPU: AnyCPU - CompileFlags: - FrameworkDependencies: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/TriLibCore.Ply.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Stl.dll b/Assets/Plugins/TriLib/Debug/TriLibCore.Stl.dll index bcfcd4ed..2647a80e 100644 Binary files a/Assets/Plugins/TriLib/Debug/TriLibCore.Stl.dll and b/Assets/Plugins/TriLib/Debug/TriLibCore.Stl.dll differ diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.Stl.dll.meta b/Assets/Plugins/TriLib/Debug/TriLibCore.Stl.dll.meta index 1e75146e..7adfe24c 100644 --- a/Assets/Plugins/TriLib/Debug/TriLibCore.Stl.dll.meta +++ b/Assets/Plugins/TriLib/Debug/TriLibCore.Stl.dll.meta @@ -5,32 +5,12 @@ PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} - defineConstraints: - - UNITY_EDITOR || DEVELOPMENT + defineConstraints: [] isPreloaded: 0 isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude WebGL: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude WindowsStoreApps: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: {} - first: Any: second: @@ -39,45 +19,22 @@ PluginImporter: - first: Editor: Editor second: - enabled: 1 + enabled: 0 settings: DefaultValueInitialized: true - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: {} - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: {} - - first: - Standalone: Win - second: - enabled: 1 - settings: {} - - first: - Standalone: Win64 - second: - enabled: 1 - settings: {} - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - first: Windows Store Apps: WindowsStoreApps second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - - first: - iPhone: iOS - second: - enabled: 1 - settings: {} userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/TriLibCore.Stl.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.ThreeMf.dll b/Assets/Plugins/TriLib/Debug/TriLibCore.ThreeMf.dll index 038f9ab9..0038d425 100644 Binary files a/Assets/Plugins/TriLib/Debug/TriLibCore.ThreeMf.dll and b/Assets/Plugins/TriLib/Debug/TriLibCore.ThreeMf.dll differ diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.ThreeMf.dll.meta b/Assets/Plugins/TriLib/Debug/TriLibCore.ThreeMf.dll.meta index 1aa22a0e..c43538c1 100644 --- a/Assets/Plugins/TriLib/Debug/TriLibCore.ThreeMf.dll.meta +++ b/Assets/Plugins/TriLib/Debug/TriLibCore.ThreeMf.dll.meta @@ -5,32 +5,12 @@ PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} - defineConstraints: - - UNITY_EDITOR || DEVELOPMENT + defineConstraints: [] isPreloaded: 0 isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude WebGL: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude WindowsStoreApps: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: {} - first: Any: second: @@ -39,45 +19,22 @@ PluginImporter: - first: Editor: Editor second: - enabled: 1 + enabled: 0 settings: DefaultValueInitialized: true - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: {} - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: {} - - first: - Standalone: Win - second: - enabled: 1 - settings: {} - - first: - Standalone: Win64 - second: - enabled: 1 - settings: {} - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - first: Windows Store Apps: WindowsStoreApps second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - - first: - iPhone: iOS - second: - enabled: 1 - settings: {} userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/TriLibCore.ThreeMf.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.dll b/Assets/Plugins/TriLib/Debug/TriLibCore.dll index 0891d8a4..0caebfa9 100644 Binary files a/Assets/Plugins/TriLib/Debug/TriLibCore.dll and b/Assets/Plugins/TriLib/Debug/TriLibCore.dll differ diff --git a/Assets/Plugins/TriLib/Debug/TriLibCore.dll.meta b/Assets/Plugins/TriLib/Debug/TriLibCore.dll.meta index 85f85b74..177133be 100644 --- a/Assets/Plugins/TriLib/Debug/TriLibCore.dll.meta +++ b/Assets/Plugins/TriLib/Debug/TriLibCore.dll.meta @@ -5,33 +5,12 @@ PluginImporter: serializedVersion: 2 iconMap: {} executionOrder: {} - defineConstraints: - - UNITY_EDITOR || DEVELOPMENT + defineConstraints: [] isPreloaded: 0 isOverridable: 0 isExplicitlyReferenced: 0 - validateReferences: 0 + validateReferences: 1 platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Android: 0 - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude WebGL: 0 - Exclude Win: 0 - Exclude Win64: 0 - Exclude WindowsStoreApps: 0 - Exclude iOS: 0 - - first: - Android: Android - second: - enabled: 1 - settings: - CPU: ARMv7 - first: Any: second: @@ -40,59 +19,22 @@ PluginImporter: - first: Editor: Editor second: - enabled: 1 + enabled: 0 settings: - CPU: AnyCPU DefaultValueInitialized: true - OS: AnyOS - - first: - Standalone: Linux64 - second: - enabled: 1 - settings: - CPU: AnyCPU - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: - CPU: x86_64 - - first: - Standalone: Win - second: - enabled: 1 - settings: - CPU: x86 - - first: - Standalone: Win64 - second: - enabled: 1 - settings: - CPU: x86_64 - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - first: Windows Store Apps: WindowsStoreApps second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - DontProcess: false - PlaceholderPath: - SDK: AnySDK - ScriptingBackend: AnyScriptingBackend - - first: - iPhone: iOS - second: - enabled: 1 - settings: - AddToEmbeddedBinaries: false - CPU: AnyCPU - CompileFlags: - FrameworkDependencies: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLib/Debug/TriLibCore.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLibGltfDraco/Android/arm64-v8a/libdracodec_unity.so.meta b/Assets/Plugins/TriLibGltfDraco/Android/arm64-v8a/libdracodec_unity.so.meta index 703aef47..7ba8e2f1 100644 --- a/Assets/Plugins/TriLibGltfDraco/Android/arm64-v8a/libdracodec_unity.so.meta +++ b/Assets/Plugins/TriLibGltfDraco/Android/arm64-v8a/libdracodec_unity.so.meta @@ -80,3 +80,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibGltfDraco/Android/arm64-v8a/libdracodec_unity.so + uploadId: 752923 diff --git a/Assets/Plugins/TriLibGltfDraco/Android/armeabi-v7a/libdracodec_unity.so.meta b/Assets/Plugins/TriLibGltfDraco/Android/armeabi-v7a/libdracodec_unity.so.meta index 6f5ea8a6..b1cea0d1 100644 --- a/Assets/Plugins/TriLibGltfDraco/Android/armeabi-v7a/libdracodec_unity.so.meta +++ b/Assets/Plugins/TriLibGltfDraco/Android/armeabi-v7a/libdracodec_unity.so.meta @@ -80,3 +80,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibGltfDraco/Android/armeabi-v7a/libdracodec_unity.so + uploadId: 752923 diff --git a/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle.meta b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle.meta new file mode 100644 index 00000000..d17c4a3a --- /dev/null +++ b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle.meta @@ -0,0 +1,93 @@ +fileFormatVersion: 2 +guid: b54d30c9662afcb448f24f1d94ab3b61 +folderAsset: yes +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 0 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude WindowsStoreApps: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: OSX + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: x86 + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: x86_64 + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + DontProcess: false + PlaceholderPath: + SDK: AnySDK + ScriptingBackend: AnyScriptingBackend + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents.meta b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents.meta new file mode 100644 index 00000000..4af5dea8 --- /dev/null +++ b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a4f882777573f74d8f3a36bb62d40e1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/Info.plist b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/Info.plist new file mode 100644 index 00000000..6f163a16 --- /dev/null +++ b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/Info.plist @@ -0,0 +1,46 @@ + + + + + BuildMachineOSBuild + 21F79 + CFBundleDevelopmentRegion + English + CFBundleExecutable + dracodec_unity + CFBundleInfoDictionaryVersion + 6.0 + CFBundleLongVersionString + + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CSResourcesFileMapped + + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 13A1030d + DTPlatformName + macosx + DTPlatformVersion + 12.0 + DTSDKBuild + 21A344 + DTSDKName + macosx12.0 + DTXcode + 1310 + DTXcodeBuild + 13A1030d + LSMinimumSystemVersion + 12.0 + NSHumanReadableCopyright + + + diff --git a/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/MacOS.meta b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/MacOS.meta new file mode 100644 index 00000000..bae64b3e --- /dev/null +++ b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/MacOS.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66060e14a0254fc4aa00d1d421846768 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/MacOS/dracodec_unity b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/MacOS/dracodec_unity new file mode 100644 index 00000000..ee625d98 Binary files /dev/null and b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/MacOS/dracodec_unity differ diff --git a/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/_CodeSignature.meta b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/_CodeSignature.meta new file mode 100644 index 00000000..1bd087dc --- /dev/null +++ b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/_CodeSignature.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e1af676f8d590c141851b6211afb7050 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/_CodeSignature/CodeResources b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/_CodeSignature/CodeResources new file mode 100644 index 00000000..d5d0fd74 --- /dev/null +++ b/Assets/Plugins/TriLibGltfDraco/OSX/dracodec_unity.bundle/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/Assets/Plugins/dracodec_unity.dll b/Assets/Plugins/TriLibGltfDraco/Windows/dracodec_unity.dll similarity index 100% rename from Assets/Plugins/dracodec_unity.dll rename to Assets/Plugins/TriLibGltfDraco/Windows/dracodec_unity.dll diff --git a/Assets/Plugins/TriLibGltfDraco/Windows/dracodec_unity.dll.meta b/Assets/Plugins/TriLibGltfDraco/Windows/dracodec_unity.dll.meta new file mode 100644 index 00000000..6b068aa5 --- /dev/null +++ b/Assets/Plugins/TriLibGltfDraco/Windows/dracodec_unity.dll.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 5ab3e0421ff09b545a490c0d1dc3c348 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 1 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 0 + Exclude Win64: 0 + Exclude WindowsStoreApps: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: Windows + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 1 + settings: + CPU: x86 + - first: + Standalone: Win64 + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: X86 + DontProcess: false + PlaceholderPath: + SDK: AnySDK + ScriptingBackend: AnyScriptingBackend + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibGltfDraco/Windows/dracodec_unity.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLibGltfDraco/iOS/libdraco.a.meta b/Assets/Plugins/TriLibGltfDraco/iOS/libdraco.a.meta index a6bcc163..4f895d01 100644 --- a/Assets/Plugins/TriLibGltfDraco/iOS/libdraco.a.meta +++ b/Assets/Plugins/TriLibGltfDraco/iOS/libdraco.a.meta @@ -90,3 +90,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibGltfDraco/iOS/libdraco.a + uploadId: 752923 diff --git a/Assets/Plugins/TriLibGltfDraco/iOS/libdracodec_unity.a.meta b/Assets/Plugins/TriLibGltfDraco/iOS/libdracodec_unity.a.meta index 0a3a690e..3feb11a3 100644 --- a/Assets/Plugins/TriLibGltfDraco/iOS/libdracodec_unity.a.meta +++ b/Assets/Plugins/TriLibGltfDraco/iOS/libdracodec_unity.a.meta @@ -90,3 +90,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibGltfDraco/iOS/libdracodec_unity.a + uploadId: 752923 diff --git a/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowser.java.meta b/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowser.java.meta index a3caee03..6712bf4c 100644 --- a/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowser.java.meta +++ b/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowser.java.meta @@ -30,3 +30,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowser.java + uploadId: 752923 diff --git a/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowserAndroidListener.java.meta b/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowserAndroidListener.java.meta index 3299a56f..72f5705f 100644 --- a/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowserAndroidListener.java.meta +++ b/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowserAndroidListener.java.meta @@ -30,3 +30,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowserAndroidListener.java + uploadId: 752923 diff --git a/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowserFragment.java.meta b/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowserFragment.java.meta index 9fae4832..3c72220c 100644 --- a/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowserFragment.java.meta +++ b/Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowserFragment.java.meta @@ -30,3 +30,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibStandaloneFileBrowser/Android/StandaloneFileBrowserFragment.java + uploadId: 752923 diff --git a/Assets/Plugins/TriLibStandaloneFileBrowser/Linux/x86_64/libStandaloneFileBrowser.so.meta b/Assets/Plugins/TriLibStandaloneFileBrowser/Linux/x86_64/libStandaloneFileBrowser.so.meta index c7454c3d..f77ef218 100644 --- a/Assets/Plugins/TriLibStandaloneFileBrowser/Linux/x86_64/libStandaloneFileBrowser.so.meta +++ b/Assets/Plugins/TriLibStandaloneFileBrowser/Linux/x86_64/libStandaloneFileBrowser.so.meta @@ -136,3 +136,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibStandaloneFileBrowser/Linux/x86_64/libStandaloneFileBrowser.so + uploadId: 752923 diff --git a/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.bundle.meta b/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.bundle.meta index 72f14856..5b447aa5 100644 --- a/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.bundle.meta +++ b/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.bundle.meta @@ -50,16 +50,16 @@ PluginImporter: second: enabled: 0 settings: - CPU: x86_64 + CPU: AnyCPU - first: Standalone: OSXIntel second: - enabled: 1 + enabled: 0 settings: {} - first: Standalone: OSXIntel64 second: - enabled: 1 + enabled: 0 settings: {} - first: Standalone: OSXUniversal diff --git a/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.jslib b/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.jslib index f0138206..5f8b7c74 100644 --- a/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.jslib +++ b/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.jslib @@ -7,8 +7,9 @@ var TriLibStandaloneFileBrowserWebGLPlugin = { // Match all video files: "video/*" // Match all audio files: "audio/*" // Custom: ".plist, .xml, .yaml" - // multiselect: Allows multiple file selection - UploadFile: function(gameObjectNamePtr, methodNamePtr, filterPtr, multiselect) { + // multiselect: Allows multiple file selection. + // selectDirectory: Allows selecting a directory and all its files. + UploadFile: function(gameObjectNamePtr, methodNamePtr, filterPtr, multiselect, selectDirectory) { var gameObjectName = UTF8ToString(gameObjectNamePtr); var methodName = UTF8ToString(methodNamePtr); var filter = UTF8ToString(filterPtr); @@ -20,18 +21,22 @@ var TriLibStandaloneFileBrowserWebGLPlugin = { fileInput.setAttribute('id', gameObjectName); fileInput.setAttribute('type', 'file'); fileInput.setAttribute('class', 'standalone-file-picker'); - if (multiselect) { - fileInput.setAttribute('multiple', 'multiple'); - } - if (filter) { - fileInput.setAttribute('accept', filter); + if (selectDirectory) { + fileInput.setAttribute('webkitdirectory', 'webkitdirectory'); + } else { + if (multiselect) { + fileInput.setAttribute('multiple', 'multiple'); + } + if (filter) { + fileInput.setAttribute('accept', filter); + } } fileInput.onclick = function(event) { - event.stopPropagation(); + event.stopPropagation(); this.value = null; }; fileInput.onchange = function(event) { - event.stopPropagation(); + event.stopPropagation(); var urls = []; for (var i = 0; i < event.target.files.length; i++) { urls.push({ @@ -42,16 +47,20 @@ var TriLibStandaloneFileBrowserWebGLPlugin = { SendMessage(gameObjectName, methodName, JSON.stringify(urls)); document.body.removeChild(fileInput); }; + fileInput.oncancel = function(event) { + event.stopPropagation(); + document.body.removeChild(fileInput); + }; document.body.appendChild(fileInput); - fileInput.focus(); + fileInput.focus(); fileInput.click(); this.oldGameObjectName = gameObjectName; }, - // DownloadFile method does not open SaveFileDialog like standalone builds, its just allows user to download file + // DownloadFile method does not open SaveFileDialog like standalone builds, its just allows user to download files. // gameObjectNamePtr: Unique GameObject name. Required for calling back unity with SendMessage. // methodNamePtr: Callback method name on given GameObject. - // filenamePtr: Filename with extension + // filenamePtr: Filename with extension. // byteArray: byte[] // byteArraySize: byte[].Length DownloadFile: function(gameObjectNamePtr, methodNamePtr, filenamePtr, byteArray, byteArraySize) { diff --git a/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.jslib.meta b/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.jslib.meta index 66ad8722..25843aa6 100644 --- a/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.jslib.meta +++ b/Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.jslib.meta @@ -97,3 +97,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibStandaloneFileBrowser/StandaloneFileBrowser.jslib + uploadId: 752923 diff --git a/Assets/Plugins/TriLibStandaloneFileBrowser/Windows/x64/StandaloneFileBrowser.dll.meta b/Assets/Plugins/TriLibStandaloneFileBrowser/Windows/x64/StandaloneFileBrowser.dll.meta index 49120e03..bf3dcc7e 100644 --- a/Assets/Plugins/TriLibStandaloneFileBrowser/Windows/x64/StandaloneFileBrowser.dll.meta +++ b/Assets/Plugins/TriLibStandaloneFileBrowser/Windows/x64/StandaloneFileBrowser.dll.meta @@ -96,3 +96,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibStandaloneFileBrowser/Windows/x64/StandaloneFileBrowser.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLibStandaloneFileBrowser/Windows/x86/StandaloneFileBrowser.dll.meta b/Assets/Plugins/TriLibStandaloneFileBrowser/Windows/x86/StandaloneFileBrowser.dll.meta index 6ecd5c9b..3239aed7 100644 --- a/Assets/Plugins/TriLibStandaloneFileBrowser/Windows/x86/StandaloneFileBrowser.dll.meta +++ b/Assets/Plugins/TriLibStandaloneFileBrowser/Windows/x86/StandaloneFileBrowser.dll.meta @@ -96,3 +96,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibStandaloneFileBrowser/Windows/x86/StandaloneFileBrowser.dll + uploadId: 752923 diff --git a/Assets/Plugins/TriLibStandaloneFileBrowser/iOS/StandaloneFileBrowser.mm.meta b/Assets/Plugins/TriLibStandaloneFileBrowser/iOS/StandaloneFileBrowser.mm.meta index eb12f4fc..3ee5c55b 100644 --- a/Assets/Plugins/TriLibStandaloneFileBrowser/iOS/StandaloneFileBrowser.mm.meta +++ b/Assets/Plugins/TriLibStandaloneFileBrowser/iOS/StandaloneFileBrowser.mm.meta @@ -95,3 +95,10 @@ PluginImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Plugins/TriLibStandaloneFileBrowser/iOS/StandaloneFileBrowser.mm + uploadId: 752923 diff --git a/Assets/Plugins/dracodec_unity.dll.meta b/Assets/Plugins/dracodec_unity.dll.meta deleted file mode 100644 index c0d4bcf5..00000000 --- a/Assets/Plugins/dracodec_unity.dll.meta +++ /dev/null @@ -1,46 +0,0 @@ -fileFormatVersion: 2 -guid: 9ad2e6fcfec6626429b52e881c7016ab -PluginImporter: - externalObjects: {} - serializedVersion: 3 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 1 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - Any: - enabled: 1 - settings: - Exclude Editor: 0 - Exclude Linux64: 0 - Exclude OSXUniversal: 0 - Exclude Win: 0 - Exclude Win64: 0 - Editor: - enabled: 1 - settings: - CPU: AnyCPU - DefaultValueInitialized: true - OS: AnyOS - Linux64: - enabled: 1 - settings: - CPU: x86_64 - OSXUniversal: - enabled: 1 - settings: - CPU: None - Win: - enabled: 1 - settings: - CPU: x86 - Win64: - enabled: 1 - settings: - CPU: None - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectSetting/DefaultUniversal Render Pipeline Asset_Renderer.asset b/Assets/ProjectSetting/DefaultUniversal Render Pipeline Asset_Renderer.asset index cd14079d..409f42d7 100644 --- a/Assets/ProjectSetting/DefaultUniversal Render Pipeline Asset_Renderer.asset +++ b/Assets/ProjectSetting/DefaultUniversal Render Pipeline Asset_Renderer.asset @@ -24,8 +24,9 @@ MonoBehaviour: probeSamplingDebugMesh: {fileID: 0} probeSamplingDebugTexture: {fileID: 0} probeVolumeBlendStatesCS: {fileID: 0} - m_RendererFeatures: [] - m_RendererFeatureMap: + m_RendererFeatures: + - {fileID: 203358797822649256} + m_RendererFeatureMap: a8632bcabf79d202 m_UseNativeRenderPass: 0 xrSystemData: {fileID: 0} postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} @@ -51,3 +52,20 @@ MonoBehaviour: m_DepthTextureFormat: 0 m_AccurateGbufferNormals: 0 m_IntermediateTextureMode: 1 +--- !u!114 &203358797822649256 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c96e8c42a07c7dd498c6973ddaa9dd1d, type: 3} + m_Name: EdgeDetection + m_EditorClassIdentifier: + m_Active: 1 + settings: + renderPassEvent: 500 + outlineThickness: 3 + outlineColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Resources/Materials/TriLib/HDRP/HDRPVariantCollection.shadervariants b/Assets/Resources/Materials/TriLib/HDRP/HDRPVariantCollection.shadervariants new file mode 100644 index 00000000..0f3cb8ec --- /dev/null +++ b/Assets/Resources/Materials/TriLib/HDRP/HDRPVariantCollection.shadervariants @@ -0,0 +1,10 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!200 &20000000 +ShaderVariantCollection: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HDRPVariantCollection + m_Shaders: {} diff --git a/Assets/Resources/Materials/TriLib/HDRP/HDRPVariantCollection.shadervariants.meta b/Assets/Resources/Materials/TriLib/HDRP/HDRPVariantCollection.shadervariants.meta new file mode 100644 index 00000000..3fa810c2 --- /dev/null +++ b/Assets/Resources/Materials/TriLib/HDRP/HDRPVariantCollection.shadervariants.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 5f4d89098d9e5bc41bdb8924c2eaf314 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 20000000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/HDRP/HDRPVariantCollection.shadervariants + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRP.mat b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRP.mat index 7d4ccdfc..a48a26d2 100644 --- a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRP.mat +++ b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRP.mat @@ -12,18 +12,28 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 11 + version: 13 + hdPluginSubTargetMaterialVersions: + m_Keys: [] + m_Values: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibHDRP m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _EMISSIVE_COLOR_MAP _MASKMAP _NORMALMAP - _NORMALMAP_TANGENT_SPACE + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _DISABLE_SSR_TRANSPARENT + - _EMISSIVE_COLOR_MAP + - _MASKMAP + - _NORMALMAP + - _NORMALMAP_TANGENT_SPACE + m_InvalidKeywords: [] m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -36,6 +46,7 @@ Material: - TransparentDepthPostpass - TransparentBackface - RayTracingPrepass + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -155,6 +166,10 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _TransmissionMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _TransmittanceColorMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -171,6 +186,7 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AORemapMax: 1 - _AORemapMin: 0 @@ -183,6 +199,8 @@ Material: - _AlphaCutoffPrepass: 0.5 - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 + - _AlphaRemapMax: 1 + - _AlphaRemapMin: 0 - _AlphaSrcBlend: 1 - _AlphaToMask: 0 - _AlphaToMaskInspectorValue: 0 @@ -218,6 +236,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _DstBlend: 0 - _EmissiveColorMode: 1 @@ -253,6 +272,8 @@ Material: - _Mode: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _ObjectSpaceUVMapping: 0 + - _ObjectSpaceUVMappingEmissive: 0 - _OcclusionStrength: 1 - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 @@ -281,10 +302,10 @@ Material: - _StencilRefGBuffer: 10 - _StencilRefMV: 40 - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDepth: 9 - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 + - _StencilWriteMaskGBuffer: 15 + - _StencilWriteMaskMV: 41 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 0 @@ -292,6 +313,7 @@ Material: - _TexWorldScaleEmissive: 1 - _Thickness: 1 - _TransmissionEnable: 1 + - _TransmissionMask: 1 - _TransparentBackfaceEnable: 0 - _TransparentCullMode: 2 - _TransparentDepthPostpassEnable: 0 diff --git a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRP.mat.meta b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRP.mat.meta index fc420699..ac7b8588 100644 --- a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRP.mat.meta +++ b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRP.mat.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/HDRP/TriLibHDRP.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlpha.mat b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlpha.mat index be9dd8d5..ab04701b 100644 --- a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlpha.mat +++ b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlpha.mat @@ -12,18 +12,31 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 11 + version: 13 + hdPluginSubTargetMaterialVersions: + m_Keys: [] + m_Values: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibHDRPAlpha m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON _EMISSIVE_COLOR_MAP - _ENABLE_FOG_ON_TRANSPARENT _MASKMAP _NORMALMAP _NORMALMAP_TANGENT_SPACE _SURFACE_TYPE_TRANSPARENT + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _DISABLE_SSR_TRANSPARENT + - _DOUBLESIDED_ON + - _EMISSIVE_COLOR_MAP + - _ENABLE_FOG_ON_TRANSPARENT + - _MASKMAP + - _NORMALMAP + - _NORMALMAP_TANGENT_SPACE + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 @@ -37,6 +50,7 @@ Material: - TransparentDepthPostpass - TransparentBackface - RayTracingPrepass + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -152,6 +166,10 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _TransmissionMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _TransmittanceColorMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -168,6 +186,7 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AORemapMax: 1 - _AORemapMin: 0 @@ -180,6 +199,8 @@ Material: - _AlphaCutoffPrepass: 0.5 - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 + - _AlphaRemapMax: 1 + - _AlphaRemapMin: 0 - _AlphaSrcBlend: 1 - _AlphaToMask: 0 - _AlphaToMaskInspectorValue: 0 @@ -216,6 +237,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _DstBlend: 10 - _EmissiveColorMode: 1 @@ -251,6 +273,8 @@ Material: - _Mode: 2 - _NormalMapSpace: 0 - _NormalScale: 1 + - _ObjectSpaceUVMapping: 0 + - _ObjectSpaceUVMappingEmissive: 0 - _OcclusionStrength: 1 - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 @@ -281,10 +305,10 @@ Material: - _StencilRefGBuffer: 2 - _StencilRefMV: 32 - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDepth: 9 - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 + - _StencilWriteMaskGBuffer: 15 + - _StencilWriteMaskMV: 41 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 1 @@ -294,6 +318,7 @@ Material: - _TexWorldScaleEmissive: 1 - _Thickness: 1 - _TransmissionEnable: 1 + - _TransmissionMask: 1 - _TransparentBackfaceEnable: 0 - _TransparentCullMode: 2 - _TransparentDepthPostpassEnable: 0 diff --git a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlpha.mat.meta b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlpha.mat.meta index 2719d5e6..3604cfaf 100644 --- a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlpha.mat.meta +++ b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlpha.mat.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlpha.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlphaCutout.mat b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlphaCutout.mat index 24155701..d9765bd5 100644 --- a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlphaCutout.mat +++ b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlphaCutout.mat @@ -12,18 +12,30 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 11 + version: 13 + hdPluginSubTargetMaterialVersions: + m_Keys: [] + m_Values: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibHDRPAlphaCutout m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON _EMISSIVE_COLOR_MAP - _MASKMAP _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHATEST_ON + - _DISABLE_SSR_TRANSPARENT + - _DOUBLESIDED_ON + - _EMISSIVE_COLOR_MAP + - _MASKMAP + - _NORMALMAP + - _NORMALMAP_TANGENT_SPACE + m_InvalidKeywords: [] m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 @@ -37,6 +49,7 @@ Material: - TransparentDepthPostpass - TransparentBackface - RayTracingPrepass + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -152,6 +165,10 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _TransmissionMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _TransmittanceColorMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -168,6 +185,7 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AORemapMax: 1 - _AORemapMin: 0 @@ -180,6 +198,8 @@ Material: - _AlphaCutoffPrepass: 0.5 - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 + - _AlphaRemapMax: 1 + - _AlphaRemapMin: 0 - _AlphaSrcBlend: 1 - _AlphaToMask: 0 - _AlphaToMaskInspectorValue: 0 @@ -215,6 +235,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _DstBlend: 0 - _EmissiveColorMode: 1 @@ -250,6 +271,8 @@ Material: - _Mode: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _ObjectSpaceUVMapping: 0 + - _ObjectSpaceUVMappingEmissive: 0 - _OcclusionStrength: 1 - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 @@ -278,10 +301,10 @@ Material: - _StencilRefGBuffer: 10 - _StencilRefMV: 40 - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDepth: 9 - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 + - _StencilWriteMaskGBuffer: 15 + - _StencilWriteMaskMV: 41 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 0 @@ -289,6 +312,7 @@ Material: - _TexWorldScaleEmissive: 1 - _Thickness: 1 - _TransmissionEnable: 1 + - _TransmissionMask: 1 - _TransparentBackfaceEnable: 0 - _TransparentCullMode: 2 - _TransparentDepthPostpassEnable: 0 diff --git a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlphaCutout.mat.meta b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlphaCutout.mat.meta index b6e06758..c16a091d 100644 --- a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlphaCutout.mat.meta +++ b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlphaCutout.mat.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPAlphaCutout.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPLoading.mat b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPLoading.mat index 737e67bf..607f41d5 100644 --- a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPLoading.mat +++ b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPLoading.mat @@ -2,15 +2,22 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibHDRPLoading m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _EMISSIVE_COLOR_MAP _MASKMAP _NORMALMAP - _NORMALMAP_TANGENT_SPACE + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _DISABLE_SSR_TRANSPARENT + - _EMISSIVE_COLOR_MAP + - _MASKMAP + - _NORMALMAP + - _NORMALMAP_TANGENT_SPACE + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -23,6 +30,7 @@ Material: - TransparentDepthPostpass - TransparentBackface - RayTracingPrepass + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -138,6 +146,10 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _TransmissionMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _TransmittanceColorMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -154,6 +166,7 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AORemapMax: 1 - _AORemapMin: 0 @@ -166,6 +179,8 @@ Material: - _AlphaCutoffPrepass: 0.5 - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 + - _AlphaRemapMax: 1 + - _AlphaRemapMin: 0 - _AlphaSrcBlend: 1 - _AlphaToMask: 0 - _AlphaToMaskInspectorValue: 0 @@ -201,6 +216,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _DstBlend: 0 - _EmissiveColorMode: 1 @@ -236,6 +252,8 @@ Material: - _Mode: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _ObjectSpaceUVMapping: 0 + - _ObjectSpaceUVMappingEmissive: 0 - _OcclusionStrength: 1 - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 @@ -264,10 +282,10 @@ Material: - _StencilRefGBuffer: 10 - _StencilRefMV: 40 - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDepth: 9 - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 + - _StencilWriteMaskGBuffer: 15 + - _StencilWriteMaskMV: 41 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 0 @@ -275,6 +293,7 @@ Material: - _TexWorldScaleEmissive: 1 - _Thickness: 1 - _TransmissionEnable: 1 + - _TransmissionMask: 1 - _TransparentBackfaceEnable: 0 - _TransparentCullMode: 2 - _TransparentDepthPostpassEnable: 0 @@ -323,4 +342,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 11 + version: 13 + hdPluginSubTargetMaterialVersions: + m_Keys: [] + m_Values: diff --git a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPLoading.mat.meta b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPLoading.mat.meta index 51f08ef1..2622b15a 100644 --- a/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPLoading.mat.meta +++ b/Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPLoading.mat.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/HDRP/TriLibHDRPLoading.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandard.mat b/Assets/Resources/Materials/TriLib/Standard/TriLibStandard.mat index 4bf1a3d6..1ec7272c 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandard.mat +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandard.mat @@ -2,37 +2,23 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibStandard - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: [] + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: + stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} m_Scale: {x: 1, y: 1} @@ -54,7 +40,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: @@ -73,35 +59,11 @@ Material: m_Texture: {fileID: 2800000, guid: d1597ba5656dbe14998ca5a123fc8c77, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - _GlossMapScale: 0 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -109,34 +71,12 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - _UVSec: 0 - - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &7489121585098606463 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandard.mat.meta b/Assets/Resources/Materials/TriLib/Standard/TriLibStandard.mat.meta index e0c36764..c805b625 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandard.mat.meta +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandard.mat.meta @@ -1,8 +1,15 @@ fileFormatVersion: 2 -guid: f33ead15185d5fe4c812052c58708127 +guid: 34299f43105692d4d916d49aaae74148 NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/Standard/TriLibStandard.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlpha.mat b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlpha.mat index ac85158f..ef3d07e9 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlpha.mat +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlpha.mat @@ -2,37 +2,25 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibStandardAlpha - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: [] + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _EMISSION _METALLICGLOSSMAP _NORMALMAP _RENDERINGMODE_TRANSPARENT + _TRANSPARENCY_TRANSPARENT m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 3000 stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: + RenderType: Transparent + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} m_Scale: {x: 1, y: 1} @@ -54,7 +42,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: @@ -73,35 +61,12 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - _Blend: 1 - - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 + - _DstBlend: 10 - _GlossMapScale: 0 - _Glossiness: 0 - _GlossyReflections: 1 @@ -109,40 +74,17 @@ Material: - _Mode: 3 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - _RenderingMode: 3 - _ShadingMode: 0 - - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - _TRANSPARENCY: 1 - _TYPE: 0 - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 + - _ZWrite: 0 m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _Offset: {r: 0, g: 0, b: 0, a: 0} - - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - _Tilling: {r: 1, g: 1, b: 0, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &2856157590176698782 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlpha.mat.meta b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlpha.mat.meta index ecef68f7..36b01a62 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlpha.mat.meta +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlpha.mat.meta @@ -1,10 +1,15 @@ fileFormatVersion: 2 -guid: ebc39c170ad300b478a407b5068a14e6 -timeCreated: 1575818796 -licenseType: Store +guid: 5e11ad76aa50c8b44bcb5d546cd7262f NativeFormatImporter: externalObjects: {} - mainObjectFileID: 2100000 + mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlpha.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCompose.mat b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCompose.mat index 87184ae9..786f3e37 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCompose.mat +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCompose.mat @@ -1,51 +1,25 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!114 &-1072164187095390848 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibStandardAlphaCompose - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: [] + m_Shader: {fileID: 4800000, guid: 0ee5d4feef5d0b642bae7e8e492afb79, type: 3} + m_ShaderKeywords: _ALPHABLEND_ON _EMISSION _METALLICGLOSSMAP _NORMALMAP _RENDERINGMODE_TRANSPARENT + _TRANSPARENCY_TRANSPARENT m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: + stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} m_Scale: {x: 1, y: 1} @@ -67,7 +41,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: @@ -86,35 +60,12 @@ Material: m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - _Blend: 1 - - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 + - _DstBlend: 10 - _GlossMapScale: 1 - _Glossiness: 0 - _GlossyReflections: 1 @@ -122,27 +73,17 @@ Material: - _Mode: 2 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - _RenderingMode: 3 - _ShadingMode: 0 - - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 + - _SrcBlend: 5 - _TRANSPARENCY: 1 - _TYPE: 0 - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 + - _ZWrite: 0 m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _Offset: {r: 0, g: 0, b: 0, a: 0} - - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - _Tilling: {r: 1, g: 1, b: 0, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCompose.mat.meta b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCompose.mat.meta index 7591e0a4..a52f5074 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCompose.mat.meta +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCompose.mat.meta @@ -1,8 +1,15 @@ fileFormatVersion: 2 -guid: ff1efb65f5d997f48bbfef47c881b204 +guid: 6302700af9146a54d9a53cefcd53e1ca NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCompose.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutout.mat b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutout.mat index efe44a14..fde1a100 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutout.mat +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutout.mat @@ -1,51 +1,25 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!114 &-2168034174940192317 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibStandardAlphaCutout - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: [] + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _ALPHATEST_ON _EMISSION _METALLICGLOSSMAP _NORMALMAP m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: + RenderType: TransparentCutout + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} m_Scale: {x: 1, y: 1} @@ -67,7 +41,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: @@ -82,39 +56,11 @@ Material: m_Texture: {fileID: 2800000, guid: e750797e248c18b40866b42b34ff9336, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - _GlossMapScale: 0 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -122,21 +68,11 @@ Material: - _Mode: 1 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - _UVSec: 0 - - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutout.mat.meta b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutout.mat.meta index 236d97fe..bcff8ce8 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutout.mat.meta +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutout.mat.meta @@ -1,8 +1,15 @@ fileFormatVersion: 2 -guid: e52054e2f47d4c046b25298941bd38af +guid: c53f2359734184a46a7fdfdfa9978478 NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutout.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutoutNoMetallicTexture.mat b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutoutNoMetallicTexture.mat index 03336ba6..07848cf2 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutoutNoMetallicTexture.mat +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutoutNoMetallicTexture.mat @@ -1,50 +1,25 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7567989823488027647 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibStandardAlphaCutoutNoMetallicTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: [] + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _ALPHATEST_ON _EMISSION _NORMALMAP m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: + RenderType: TransparentCutout + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} m_Scale: {x: 1, y: 1} @@ -66,7 +41,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: @@ -81,39 +56,11 @@ Material: m_Texture: {fileID: 2800000, guid: e750797e248c18b40866b42b34ff9336, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - _GlossMapScale: 0 - _Glossiness: 0 - _GlossyReflections: 1 @@ -121,21 +68,11 @@ Material: - _Mode: 1 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - _UVSec: 0 - - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutoutNoMetallicTexture.mat.meta b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutoutNoMetallicTexture.mat.meta index 4767cbc0..1d4746ad 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutoutNoMetallicTexture.mat.meta +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutoutNoMetallicTexture.mat.meta @@ -1,8 +1,15 @@ fileFormatVersion: 2 -guid: 3e17e905deb312540951ae08f6ce9cc5 +guid: 8309f1fb458c996458674486dcd9f05e NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaCutoutNoMetallicTexture.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaNoMetallicTexture.mat b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaNoMetallicTexture.mat index 9defb112..7f51ffc6 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaNoMetallicTexture.mat +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaNoMetallicTexture.mat @@ -2,36 +2,25 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibStandardAlphaNoMetallicTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: [] + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _EMISSION _NORMALMAP _RENDERINGMODE_TRANSPARENT + _TRANSPARENCY_TRANSPARENT m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 3000 stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: + RenderType: Transparent + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} m_Scale: {x: 1, y: 1} @@ -53,7 +42,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: @@ -72,35 +61,12 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - _Blend: 1 - - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 + - _DstBlend: 10 - _GlossMapScale: 1 - _Glossiness: 0 - _GlossyReflections: 1 @@ -108,40 +74,17 @@ Material: - _Mode: 3 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - _RenderingMode: 3 - _ShadingMode: 0 - - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - _TRANSPARENCY: 1 - _TYPE: 0 - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 + - _ZWrite: 0 m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _Offset: {r: 0, g: 0, b: 0, a: 0} - - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - _Tilling: {r: 1, g: 1, b: 0, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &7172821291921153923 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaNoMetallicTexture.mat.meta b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaNoMetallicTexture.mat.meta index 6ca39ea2..325148b5 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaNoMetallicTexture.mat.meta +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaNoMetallicTexture.mat.meta @@ -1,8 +1,15 @@ fileFormatVersion: 2 -guid: 9264059e381bf1e4ca4e0513aa079d9a +guid: 3cfca9826465c8345a87491023dfac5f NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/Standard/TriLibStandardAlphaNoMetallicTexture.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardNoMetallicTexture.mat b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardNoMetallicTexture.mat index aabef187..3126bc28 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardNoMetallicTexture.mat +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardNoMetallicTexture.mat @@ -2,36 +2,23 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibStandardNoMetallicTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: [] + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION _NORMALMAP _SPECGLOSSMAP m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: + stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} m_Scale: {x: 1, y: 1} @@ -53,7 +40,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: @@ -72,35 +59,11 @@ Material: m_Texture: {fileID: 2800000, guid: d1597ba5656dbe14998ca5a123fc8c77, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - _GlossMapScale: 0 - _Glossiness: 0 - _GlossyReflections: 1 @@ -108,34 +71,12 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - _UVSec: 0 - - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &696836461817144425 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardNoMetallicTexture.mat.meta b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardNoMetallicTexture.mat.meta index 0018209d..a5ddeee8 100644 --- a/Assets/Resources/Materials/TriLib/Standard/TriLibStandardNoMetallicTexture.mat.meta +++ b/Assets/Resources/Materials/TriLib/Standard/TriLibStandardNoMetallicTexture.mat.meta @@ -1,8 +1,15 @@ fileFormatVersion: 2 -guid: 741bdccfa39a5ab4f979a397708991a4 +guid: 1ef02446831dc7746b5fc43385fcbd9f NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/Standard/TriLibStandardNoMetallicTexture.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRP.mat.meta b/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRP.mat.meta index 2e41c184..156ea2b8 100644 --- a/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRP.mat.meta +++ b/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRP.mat.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRP.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPAlpha.mat.meta b/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPAlpha.mat.meta index 96fa0cac..a5b6e43f 100644 --- a/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPAlpha.mat.meta +++ b/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPAlpha.mat.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPAlpha.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPAlphaCutout.mat.meta b/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPAlphaCutout.mat.meta index c2d51b2e..83ed8a64 100644 --- a/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPAlphaCutout.mat.meta +++ b/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPAlphaCutout.mat.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPAlphaCutout.mat + uploadId: 752923 diff --git a/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPLoading.mat.meta b/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPLoading.mat.meta index 2564b1cf..12571da7 100644 --- a/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPLoading.mat.meta +++ b/Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPLoading.mat.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Resources/Materials/TriLib/UniversalRP/TriLibUniversalRPLoading.mat + uploadId: 752923 diff --git a/Assets/Scenes/0.30.0.unity b/Assets/Scenes/0.30.0.unity index 1918b651..b9793a79 100644 --- a/Assets/Scenes/0.30.0.unity +++ b/Assets/Scenes/0.30.0.unity @@ -371,6 +371,114 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 192ba749438045e4bb32753ffff354b1, type: 3} +--- !u!1 &98482316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 98482320} + - component: {fileID: 98482319} + - component: {fileID: 98482318} + - component: {fileID: 98482317} + m_Layer: 10 + m_Name: Cube_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &98482317 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 98482316} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &98482318 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 98482316} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &98482319 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 98482316} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &98482320 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 98482316} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 153.36485, y: 1.39249, z: 12.459} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!224 &110380560 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 1112357447546033534, guid: 86fac645f610e6c43a57c53dec3f6e48, type: 3} @@ -831,6 +939,115 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: e201c98d4bf3f4e45b9ec8ddf10c66eb, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &386841988 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 386841992} + - component: {fileID: 386841991} + - component: {fileID: 386841990} + - component: {fileID: 386841989} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &386841989 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 386841988} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &386841990 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 386841988} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + - {fileID: 2100000, guid: 2f38c8f07c5df0a47b95a3f98376a6e1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &386841991 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 386841988} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &386841992 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 386841988} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 153.36485, y: 1.39249, z: 14.91748} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &391151067 GameObject: m_ObjectHideFlags: 0 @@ -2562,7 +2779,7 @@ Light: m_RenderMode: 0 m_CullingMask: serializedVersion: 2 - m_Bits: 4294967295 + m_Bits: 1023 m_RenderingLayerMask: 1 m_Lightmapping: 1 m_LightShadowCasterMode: 0 @@ -8490,6 +8707,71 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 4132525226981379914, guid: 87e4fb57e7f74c84b93bbf2bcb594c8a, type: 3} m_PrefabInstance: {fileID: 1291368616} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1337320217 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalPosition.x + value: 154.58975 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalPosition.y + value: 1.29 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalPosition.z + value: 20.45 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalRotation.x + value: 0.00000008146034 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_Materials.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 2f38c8f07c5df0a47b95a3f98376a6e1, type: 2} + - target: {fileID: 919132149155446097, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_Name + value: StackerCrane_01 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a567352e336933243b131db7eb5907dd, type: 3} --- !u!1001 &1439596646 PrefabInstance: m_ObjectHideFlags: 0 @@ -9174,6 +9456,136 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 9204995643987852086, guid: b7fb9c984bb17994ca59c9312245bd9e, type: 3} m_PrefabInstance: {fileID: 1712022042} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1774235427 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_LocalPosition.x + value: 152.26622 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_LocalPosition.y + value: 1.4205714 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_LocalPosition.z + value: 19.957623 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071067 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_LocalRotation.x + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_Materials.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 2f38c8f07c5df0a47b95a3f98376a6e1, type: 2} + - target: {fileID: 919132149155446097, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} + propertyPath: m_Name + value: AGV_250529 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7d99a54ccc500d349b3c4734fa57b9d3, type: 3} +--- !u!1001 &1776234964 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalPosition.x + value: 154.58975 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalPosition.y + value: 1.29 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalPosition.z + value: 30.7 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalRotation.x + value: 0.00000008146034 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_Materials.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 2f38c8f07c5df0a47b95a3f98376a6e1, type: 2} + - target: {fileID: 919132149155446097, guid: a567352e336933243b131db7eb5907dd, type: 3} + propertyPath: m_Name + value: StackerCrane_02 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a567352e336933243b131db7eb5907dd, type: 3} --- !u!1001 &1802595083 PrefabInstance: m_ObjectHideFlags: 0 @@ -10667,6 +11079,127 @@ MonoBehaviour: _canBeDisplayed: 1 _isExpanded: 1 _physicsMode: 1 +--- !u!1 &1973474726 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1973474729} + - component: {fileID: 1973474728} + - component: {fileID: 1973474727} + m_Layer: 0 + m_Name: Directional Light_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1973474727 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1973474726} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 +--- !u!108 &1973474728 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1973474726} + m_Enabled: 1 + serializedVersion: 11 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 1024 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 +--- !u!4 &1973474729 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1973474726} + serializedVersion: 2 + m_LocalRotation: {x: 0.6733953, y: 0.28435186, z: -0.316804, w: 0.6044154} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 96.18, y: 50.39, z: 0} --- !u!1 &1981809315 GameObject: m_ObjectHideFlags: 0 @@ -12746,4 +13279,10 @@ SceneRoots: - {fileID: 1981809316} - {fileID: 216528118} - {fileID: 481136644} + - {fileID: 1973474729} - {fileID: 1833346089} + - {fileID: 386841992} + - {fileID: 98482320} + - {fileID: 1337320217} + - {fileID: 1776234964} + - {fileID: 1774235427} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials.meta new file mode 100644 index 00000000..0a38d3de --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 76cb66145d8f3d14cae0259bfa734ff0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources.meta new file mode 100644 index 00000000..8c2a4733 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb1307069dfcfda42bc21938ec12967a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Mappers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Mappers.meta new file mode 100644 index 00000000..c258f7c4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Mappers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66cbac253fcd4814c91568846312e9cb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Mappers/AutodeskInteractiveStandardMaterialMapper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Mappers/AutodeskInteractiveStandardMaterialMapper.asset new file mode 100644 index 00000000..c97089f3 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Mappers/AutodeskInteractiveStandardMaterialMapper.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a36de450874dc54ab06925948b58455, type: 3} + m_Name: AutodeskInteractiveStandardMaterialMapper + m_EditorClassIdentifier: + UseShaderVariantCollection: 1 + CheckingOrder: 0 + ForceStandardMaterial: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Mappers/AutodeskInteractiveStandardMaterialMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Mappers/AutodeskInteractiveStandardMaterialMapper.asset.meta new file mode 100644 index 00000000..65f7dfcb --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Mappers/AutodeskInteractiveStandardMaterialMapper.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 94bb488223720a24f8729e23c3ddcb07 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Mappers/AutodeskInteractiveStandardMaterialMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/MaterialHelpers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/MaterialHelpers.meta new file mode 100644 index 00000000..4aa691c9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/MaterialHelpers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cae34e3ad2e347649a5089444cc8042a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/MaterialHelpers/AutodeskInteractiveMaterialsHelper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/MaterialHelpers/AutodeskInteractiveMaterialsHelper.asset new file mode 100644 index 00000000..268bd47e --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/MaterialHelpers/AutodeskInteractiveMaterialsHelper.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6e76fe25aa96cda4e8867eec833228d9, type: 3} + m_Name: AutodeskInteractiveMaterialsHelper + m_EditorClassIdentifier: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/MaterialHelpers/AutodeskInteractiveMaterialsHelper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/MaterialHelpers/AutodeskInteractiveMaterialsHelper.asset.meta new file mode 100644 index 00000000..175fcdda --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/MaterialHelpers/AutodeskInteractiveMaterialsHelper.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: f21f327f08638754ebc157c5ecc0de58 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/MaterialHelpers/AutodeskInteractiveMaterialsHelper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials.meta new file mode 100644 index 00000000..3a7cf718 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22c98c9e2dc0fdd498ac82033c478610 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive.meta new file mode 100644 index 00000000..955de6eb --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e0fbc545210c21842a03b59d673f5de3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/HDRP.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/HDRP.meta new file mode 100644 index 00000000..f6a79f8f --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/HDRP.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b1ae0efecfeefe543839e563d27816fa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/HDRP/AutodeskInteractive.mat b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/HDRP/AutodeskInteractive.mat new file mode 100644 index 00000000..d8c5aad5 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/HDRP/AutodeskInteractive.mat @@ -0,0 +1,313 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-3589388143771982665 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 13 + hdPluginSubTargetMaterialVersions: + m_Keys: [] + m_Values: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: AutodeskInteractive + m_Shader: {fileID: 4800000, guid: 7252379db4c18b641b517f2c91bb57e1, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _DISABLE_SSR_TRANSPARENT + m_InvalidKeywords: + - _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: + MotionVector: User + disabledShaderPasses: + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 2800000, guid: bd6be82f929b8ee48bb5e0431ee844a1, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: bd6be82f929b8ee48bb5e0431ee844a1, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmissionMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaRemapMax: 1 + - _AlphaRemapMin: 0 + - _AlphaSrcBlend: 1 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _ConservativeDepthOffsetEnable: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ExcludeFromTUAndAA: 0 + - _Glossiness: 0 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _ObjectSpaceUVMapping: 0 + - _ObjectSpaceUVMappingEmissive: 0 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 1 + - _RequireSplitLighting: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 9 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 15 + - _StencilWriteMaskMV: 41 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransmissionMask: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseAoMap: 1 + - _UseColorMap: 1 + - _UseEmissiveIntensity: 0 + - _UseEmissiveMap: 1 + - _UseMetallicMap: 1 + - _UseNormalMap: 1 + - _UseRoughnessMap: 1 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _Emissive: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + - _UvOffset: {r: 0, g: 0, b: 0, a: 0} + - _UvTiling: {r: 1, g: 1, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/HDRP/AutodeskInteractive.mat.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/HDRP/AutodeskInteractive.mat.meta new file mode 100644 index 00000000..8b5062ac --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/HDRP/AutodeskInteractive.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 6e58d2a47b548c3469c8456ebd73b518 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/HDRP/AutodeskInteractive.mat + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard.meta new file mode 100644 index 00000000..51dc6d27 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f69cd564a0c9cd84db2656252c98dae6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.mat b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.mat new file mode 100644 index 00000000..cd941132 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.mat @@ -0,0 +1,89 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: AutodeskInteractive + m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: + - _EMISSION + - _METALLICGLOSSMAP + - _NORMALMAP + - _PARALLAXMAP + - _SPECGLOSSMAP + m_InvalidKeywords: [] + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: bd6be82f929b8ee48bb5e0431ee844a1, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 2800000, guid: bd6be82f929b8ee48bb5e0431ee844a1, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.mat.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.mat.meta new file mode 100644 index 00000000..d1d5e9f8 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 0f4a08f113c500748991e2da7bfe07fe +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.mat + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.shadervariants b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.shadervariants new file mode 100644 index 00000000..057250c4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.shadervariants @@ -0,0 +1,61 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!200 &20000000 +ShaderVariantCollection: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: AutodeskInteractive + m_Shaders: + - first: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0} + second: + variants: + - keywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DYNAMICLIGHTMAP_ON LIGHTMAP_ON + LIGHTMAP_SHADOW_MIXING _METALLICGLOSSMAP _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DYNAMICLIGHTMAP_ON LIGHTMAP_ON + _METALLICGLOSSMAP _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DYNAMICLIGHTMAP_ON _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL DIRLIGHTMAP_COMBINED LIGHTMAP_ON LIGHTMAP_SHADOW_MIXING + LIGHTPROBE_SH _METALLICGLOSSMAP _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL DIRLIGHTMAP_COMBINED LIGHTMAP_ON LIGHTMAP_SHADOW_MIXING + _METALLICGLOSSMAP _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL DIRLIGHTMAP_COMBINED LIGHTMAP_ON LIGHTPROBE_SH _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL DIRLIGHTMAP_COMBINED LIGHTMAP_ON _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL DYNAMICLIGHTMAP_ON LIGHTMAP_ON LIGHTMAP_SHADOW_MIXING + _METALLICGLOSSMAP _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL DYNAMICLIGHTMAP_ON LIGHTMAP_ON _METALLICGLOSSMAP _NORMALMAP + _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL DYNAMICLIGHTMAP_ON _METALLICGLOSSMAP _NORMALMAP _PARALLAXMAP + _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTMAP_ON LIGHTMAP_SHADOW_MIXING LIGHTPROBE_SH _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTMAP_ON LIGHTMAP_SHADOW_MIXING _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTMAP_ON LIGHTPROBE_SH _METALLICGLOSSMAP _NORMALMAP + _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTMAP_ON _METALLICGLOSSMAP _NORMALMAP _PARALLAXMAP + _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTPROBE_SH SHADOWS_SHADOWMASK _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP _SPECGLOSSMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTPROBE_SH _METALLICGLOSSMAP _NORMALMAP _PARALLAXMAP + _SPECGLOSSMAP + passType: 4 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.shadervariants.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.shadervariants.meta new file mode 100644 index 00000000..1106f473 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.shadervariants.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: cebc2343de9cf0c4e9c64a75823c22f6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 20000000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/Standard/AutodeskInteractive.shadervariants + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/UniversalRP.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/UniversalRP.meta new file mode 100644 index 00000000..67402430 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/UniversalRP.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c5191b4a17ac6d40aac934a8631b432 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/UniversalRP/AutodeskInteractive.mat b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/UniversalRP/AutodeskInteractive.mat new file mode 100644 index 00000000..2a37f5a9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/UniversalRP/AutodeskInteractive.mat @@ -0,0 +1,145 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5627935563606694300 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: AutodeskInteractive + m_Shader: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: bd6be82f929b8ee48bb5e0431ee844a1, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueControl: 0 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _UVSec: 0 + - _UseAoMap: 1 + - _UseColorMap: 1 + - _UseEmissiveMap: 1 + - _UseMetallicMap: 1 + - _UseNormalMap: 1 + - _UseRoughnessMap: 1 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 0} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + - _UvOffset: {r: 0, g: 0, b: 0, a: 0} + - _UvTiling: {r: 1, g: 1, b: 0, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/UniversalRP/AutodeskInteractive.mat.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/UniversalRP/AutodeskInteractive.mat.meta new file mode 100644 index 00000000..b03a14e8 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/UniversalRP/AutodeskInteractive.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 646d2d81a95a44946a6fbe3fa6a63c51 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Resources/Materials/AutodeskInteractive/UniversalRP/AutodeskInteractive.mat + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes.meta new file mode 100644 index 00000000..d3f96028 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6cdac0e2c9326a34981656e6ca6b271a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/AutodeskInteractiveMaterials.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/AutodeskInteractiveMaterials.unity new file mode 100644 index 00000000..6f719ee3 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/AutodeskInteractiveMaterials.unity @@ -0,0 +1,1001 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.46320033, g: 0.51395684, b: 0.5903558, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 546969407} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &153877214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 153877216} + - component: {fileID: 153877217} + m_Layer: 0 + m_Name: AutodeskInteractiveMateirals + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &153877216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!114 &153877217 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b0b40fa36b296c04d87a7b7dbf922003, type: 3} + m_Name: + m_EditorClassIdentifier: + _loadModelButton: {fileID: 1280881142} + _progressText: {fileID: 1806920293} +--- !u!850595691 &546969407 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 4 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 +--- !u!1 &809567019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 809567021} + - component: {fileID: 809567020} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &809567020 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &809567021 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_LocalRotation: {x: -0.21949817, y: 0.7567979, z: -0.31347594, w: -0.5299155} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 45, y: 250, z: 0} +--- !u!1 &1118294650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118294651} + - component: {fileID: 1118294654} + - component: {fileID: 1118294653} + - component: {fileID: 1118294652} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1118294651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1932248235} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1118294652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1118294653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: This sample loads a model using a custom Material Mapper that creates and + populates Autodesk Interactive materials +--- !u!222 &1118294654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_CullTransparentMesh: 0 +--- !u!1 &1280881140 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1280881141} + - component: {fileID: 1280881144} + - component: {fileID: 1280881143} + - component: {fileID: 1280881142} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1280881141 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280881140} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1602568267} + m_Father: {fileID: 1932248235} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 20, y: -90} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1280881142 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280881140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1280881143} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 153877217} + m_TargetAssemblyTypeName: TriLibCore.Samples.AutodeskInteractiveMaterialsSample, + Assembly-CSharp + m_MethodName: LoadModel + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1280881143 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280881140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1280881144 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280881140} + m_CullTransparentMesh: 0 +--- !u!1 &1602568266 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1602568267} + - component: {fileID: 1602568269} + - component: {fileID: 1602568268} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1602568267 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1602568266} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1280881141} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1602568268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1602568266} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Load Model + +' +--- !u!222 &1602568269 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1602568266} + m_CullTransparentMesh: 0 +--- !u!1 &1806920290 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1806920291} + - component: {fileID: 1806920294} + - component: {fileID: 1806920293} + - component: {fileID: 1806920292} + m_Layer: 5 + m_Name: Progress + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1806920291 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1806920290} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1932248235} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -50} + m_SizeDelta: {x: -20, y: -50} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1806920292 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1806920290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1806920293 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1806920290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1806920294 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1806920290} + m_CullTransparentMesh: 0 +--- !u!1 &1813965413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813965417} + - component: {fileID: 1813965416} + - component: {fileID: 1813965415} + - component: {fileID: 1813965414} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1813965414 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!124 &1813965415 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!20 &1813965416 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1813965417 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.01, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1868373955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868373958} + - component: {fileID: 1868373957} + - component: {fileID: 1868373956} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1868373956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1868373957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1868373958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1932248231 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1932248235} + - component: {fileID: 1932248234} + - component: {fileID: 1932248233} + - component: {fileID: 1932248232} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1932248232 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932248231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1932248233 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932248231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1932248234 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932248231} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1932248235 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932248231} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1118294651} + - {fileID: 1806920291} + - {fileID: 1280881141} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/AutodeskInteractiveMaterials.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/AutodeskInteractiveMaterials.unity.meta new file mode 100644 index 00000000..48397100 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/AutodeskInteractiveMaterials.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 71a589ea5ec973b49aefc069f31a1485 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/AutodeskInteractiveMaterials.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/Scripts.meta new file mode 100644 index 00000000..613b93f7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 89882057393fef745a756d8152f495f3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/Scripts/AutodeskInteractiveMaterialsSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/Scripts/AutodeskInteractiveMaterialsSample.cs new file mode 100644 index 00000000..47129317 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/Scripts/AutodeskInteractiveMaterialsSample.cs @@ -0,0 +1,154 @@ +#pragma warning disable 649 +using TriLibCore.Extensions; +using TriLibCore.Utils; +using UnityEngine; +using UnityEngine.UI; + +namespace TriLibCore.Samples +{ + /// + /// Demonstrates how to load a 3D model using an OS file picker and apply a custom material mapping for Autodesk Interactive materials. + /// This sample creates the if necessary, configures them using + /// , and then launches the file picker via + /// . + /// + public class AutodeskInteractiveMaterialsSample : MonoBehaviour + { + /// + /// Holds a reference to the last loaded model GameObject. + /// + private GameObject _loadedGameObject; + + /// + /// Button that triggers the model load action. + /// + [SerializeField] + private Button _loadModelButton; + + /// + /// Text element used to indicate the current loading progress. + /// + [SerializeField] + private Text _progressText; + + /// + /// Cached instance used for configuring the asset loader. + /// + private AssetLoaderOptions _assetLoaderOptions; + + /// + /// Creates the (if not already available) and displays the OS file-picker + /// to select a model file for loading. The method also configures the asset loader to use the Autodesk Interactive + /// material mapper. + /// + /// + /// You can create custom by right-clicking in the Assets window and selecting + /// "TriLib->Create->AssetLoaderOptions->Pre-Built AssetLoaderOptions". + /// + public void LoadModel() + { + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + } + // Configure the AssetLoaderOptions to use the Autodesk Interactive material mapper. + AutodeskInteractiveMaterialsHelper.SetupStatic(ref _assetLoaderOptions); + + // Create an instance of the file picker asset loader and show the file dialog. + var assetLoaderFilePicker = AssetLoaderFilePicker.Create(); + assetLoaderFilePicker.LoadModelFromFilePickerAsync( + "Select a Model file", + OnLoad, + OnMaterialsLoad, + OnProgress, + OnBeginLoad, + OnError, + null, + _assetLoaderOptions); + } + + /// + /// Callback executed when the model loading begins. + /// + /// + /// A boolean indicating whether any file was selected. + /// + private void OnBeginLoad(bool filesSelected) + { + _loadModelButton.interactable = !filesSelected; + _progressText.enabled = filesSelected; + } + + /// + /// Callback executed if an error occurs during the model loading process. + /// + /// + /// A contextualized error object containing the original exception and additional context. + /// + private void OnError(IContextualizedError obj) + { + Debug.LogError($"An error occurred while loading your model: {obj.GetInnerException()}"); + } + + /// + /// Callback executed to update the loading progress UI. + /// + /// + /// The context used to load the model, containing progress information. + /// + /// + /// A float (from 0 to 1) indicating the current progress percentage. + /// + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + _progressText.text = $"Progress: {progress:P}"; + } + + /// + /// Callback executed when the model and its associated resources (e.g., textures, materials) + /// have been fully loaded. + /// + /// + /// The fully loaded GameObject is referenced by . + /// + /// + /// The context used for the model loading process. + /// + private void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + if (assetLoaderContext.RootGameObject != null) + { + Debug.Log("Model fully loaded."); + } + else + { + Debug.Log("Model could not be loaded."); + } + _loadModelButton.interactable = true; + _progressText.enabled = false; + } + + /// + /// Callback executed when the model's meshes and hierarchy have been loaded. + /// + /// + /// The loaded GameObject is available in . + /// + /// + /// The context that holds the loaded model data. + /// + private void OnLoad(AssetLoaderContext assetLoaderContext) + { + if (_loadedGameObject != null) + { + Destroy(_loadedGameObject); + } + _loadedGameObject = assetLoaderContext.RootGameObject; + if (_loadedGameObject != null && Camera.main != null) + { + // Adjust the main camera to fit the bounds of the loaded model. + Camera.main.FitToBounds(assetLoaderContext.RootGameObject, 2f); + } + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/Scripts/AutodeskInteractiveMaterialsSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/Scripts/AutodeskInteractiveMaterialsSample.cs.meta new file mode 100644 index 00000000..536a5855 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/Scripts/AutodeskInteractiveMaterialsSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: b0b40fa36b296c04d87a7b7dbf922003 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scenes/Scripts/AutodeskInteractiveMaterialsSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts.meta new file mode 100644 index 00000000..c3048c88 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 26b9e99f04281d34dabdb671500829de +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Mappers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Mappers.meta new file mode 100644 index 00000000..51745606 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Mappers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c9ffdd68d7879ef4fa4dc8ba4fcb0a0d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Mappers/AutodeskInteractiveStandardMaterialMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Mappers/AutodeskInteractiveStandardMaterialMapper.cs new file mode 100644 index 00000000..c9e76f1b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Mappers/AutodeskInteractiveStandardMaterialMapper.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections; +using TriLibCore.General; +using TriLibCore.Utils; +using UnityEngine; + +namespace TriLibCore.Mappers +{ + /// + /// A specialized that converts TriLib virtual materials into + /// Autodesk Interactive materials. This mapper adjusts the material presets based on the currently + /// active render pipeline (HDRP, URP, or Standard), and it forces the use of a Shader Variant Collection. + /// + [Serializable] + [CreateAssetMenu(menuName = "TriLib/Mappers/Material/Autodesk Interactive Standard Material Mapper", fileName = "AutodeskInteractiveStandardMaterialMapper")] + public class AutodeskInteractiveStandardMaterialMapper : StandardMaterialMapper + { + public override bool UseShaderVariantCollection => true; + + public override Material MaterialPreset + { + get + { + if (GraphicsSettingsUtils.IsUsingHDRPPipeline) + { + return Resources.Load("Materials/AutodeskInteractive/HDRP/AutodeskInteractive"); + } + if (GraphicsSettingsUtils.IsUsingUniversalPipeline) + { + return Resources.Load("Materials/AutodeskInteractive/UniversalRP/AutodeskInteractive"); + } + return Resources.Load("Materials/AutodeskInteractive/Standard/AutodeskInteractive"); + } + } + + public override Material LoadingMaterial => MaterialPreset; + + public override Material CutoutMaterialPreset => MaterialPreset; + + public override Material TransparentComposeMaterialPreset => MaterialPreset; + + public override Material TransparentMaterialPreset => MaterialPreset; + + public override Material MaterialPresetNoMetallicTexture => MaterialPreset; + + public override Material CutoutMaterialPresetNoMetallicTexture => MaterialPreset; + + public override Material TransparentMaterialPresetNoMetallicTexture => MaterialPreset; + + public override Material TransparentComposeMaterialPresetNoMetallicTexture => MaterialPreset; + + public override bool ExtractMetallicAndSmoothness => true; + + public override bool IsCompatible(MaterialMapperContext materialMapperContext) + { + return (materialMapperContext == null || materialMapperContext.Material?.UsesRoughnessSetup == true); + } + + protected override IEnumerable ApplyGlossinessMapTexture(TextureLoadingContext textureLoadingContext) + { + if (textureLoadingContext.UnityTexture != null) + { + textureLoadingContext.Context.AddUsedTexture(textureLoadingContext.UnityTexture); + } + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_SpecGlossMap", textureLoadingContext.UnityTexture, GenericMaterialProperty.MetallicMap); + if (textureLoadingContext.UnityTexture != null) + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.EnableKeyword("_SPECGLOSSMAP"); + } + else + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.DisableKeyword("_SPECGLOSSMAP"); + } + yield break; + } + + public override string GetGlossinessOrRoughnessName(MaterialMapperContext materialMapperContext) + { + return "_Glossiness"; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Mappers/AutodeskInteractiveStandardMaterialMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Mappers/AutodeskInteractiveStandardMaterialMapper.cs.meta new file mode 100644 index 00000000..703f4cac --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Mappers/AutodeskInteractiveStandardMaterialMapper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 8a36de450874dc54ab06925948b58455 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Mappers/AutodeskInteractiveStandardMaterialMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Utils.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Utils.meta new file mode 100644 index 00000000..bbabee79 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Utils.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb2dab806630a7d43a4af52555ec4bf9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Utils/AutodeskInteractiveMaterialsHelper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Utils/AutodeskInteractiveMaterialsHelper.cs new file mode 100644 index 00000000..116179c2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Utils/AutodeskInteractiveMaterialsHelper.cs @@ -0,0 +1,77 @@ +using TriLibCore.Mappers; +using UnityEngine; + +namespace TriLibCore.Utils +{ + /// + /// Provides helper methods to configure an instance + /// with the , ensuring correct + /// interpretation and rendering of Autodesk Interactive materials. + /// + [CreateAssetMenu( + menuName = "TriLib/MaterialsHelper/Autodesk Interactive Materials Helper", + fileName = "AutodeskInteractiveMaterialsHelper")] + public class AutodeskInteractiveMaterialsHelper : MaterialsHelper + { + /// + /// A static convenience method to create a temporary instance of + /// and call + /// on the provided + /// . + /// + /// + /// A reference to an existing . If null, + /// a default loader options object is created before applying the Autodesk Interactive settings. + /// + public static void SetupStatic(ref AssetLoaderOptions assetLoaderOptions) + { + CreateInstance().Setup(ref assetLoaderOptions); + } + + /// + /// Configures the specified to use + /// the , adding it to the list + /// of instances. This method also adjusts certain + /// properties of to better handle + /// Autodesk Interactive material data (e.g., allowing displacement textures). + /// + /// + /// A reference to the object being configured. + /// If null, a default instance is created automatically. + /// + public override void Setup(ref AssetLoaderOptions assetLoaderOptions) + { + var autodeskInteractiveMaterialMapper = + ScriptableObject.CreateInstance(); + + if (autodeskInteractiveMaterialMapper != null) + { + // Ensure a valid AssetLoaderOptions instance exists + if (assetLoaderOptions == null) + { + assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(); + } + + // Append the Autodesk interactive material mapper + if (assetLoaderOptions.MaterialMappers == null) + { + assetLoaderOptions.MaterialMappers = + new MaterialMapper[] { autodeskInteractiveMaterialMapper }; + } + else + { + ArrayUtils.Add(ref assetLoaderOptions.MaterialMappers, autodeskInteractiveMaterialMapper); + } + + // Configure additional asset loader settings for Autodesk Interactive usage + assetLoaderOptions.CreateMaterialsForAllModels = true; + assetLoaderOptions.SetUnusedTexturePropertiesToNull = false; + assetLoaderOptions.ConvertMaterialTextures = false; + assetLoaderOptions.LoadDisplacementTextures = true; + + // Set the mapper’s checking order to prioritize or arrange it among other mappers + autodeskInteractiveMaterialMapper.CheckingOrder = 1; + } + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Utils/AutodeskInteractiveMaterialsHelper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Utils/AutodeskInteractiveMaterialsHelper.cs.meta new file mode 100644 index 00000000..3aef801f --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Utils/AutodeskInteractiveMaterialsHelper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 6e76fe25aa96cda4e8867eec833228d9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibAutodeskInteractiveMaterials/Scripts/Utils/AutodeskInteractiveMaterialsHelper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer.meta new file mode 100644 index 00000000..01341427 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a426137d7d7d144e8f970404d056193 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources.meta new file mode 100644 index 00000000..1c1a693a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ef2ed5aa2786c847b19223010f3ac11 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources/Mappers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources/Mappers.meta new file mode 100644 index 00000000..176aeaa9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources/Mappers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d2c3a993d1b4c0a4dbabf0a4705972f5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources/Mappers/BlendShapePlayerMapper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources/Mappers/BlendShapePlayerMapper.asset new file mode 100644 index 00000000..9c219cfc --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources/Mappers/BlendShapePlayerMapper.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ecaea67d88087cb4f917bf27fdd0ebd3, type: 3} + m_Name: BlendShapePlayerMapper + m_EditorClassIdentifier: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources/Mappers/BlendShapePlayerMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources/Mappers/BlendShapePlayerMapper.asset.meta new file mode 100644 index 00000000..20e89ea7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources/Mappers/BlendShapePlayerMapper.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 6b92146696a47e4498f63887f335eb88 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Resources/Mappers/BlendShapePlayerMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts.meta new file mode 100644 index 00000000..ba2299ac --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c6f76603bc4e6724d91f4bb4f74e49a6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayer.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayer.cs new file mode 100644 index 00000000..d214d6c1 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayer.cs @@ -0,0 +1,18562 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; +using TriLibCore.Geometries; +using TriLibCore.Interfaces; +using Unity.Collections; +using Unity.Jobs; +using UnityEngine; + +namespace TriLibCore.BlendShapePlayer +{ + /// + /// This script represents a system used to set up an efficient Blend Shape player. + /// + public class BlendShapePlayer : MonoBehaviour + { + private const int MaxBlendShapes = 2048; + + #region animatable fields + [HideInInspector] + public float Shape0; + [HideInInspector] + public float Shape1; + [HideInInspector] + public float Shape2; + [HideInInspector] + public float Shape3; + [HideInInspector] + public float Shape4; + [HideInInspector] + public float Shape5; + [HideInInspector] + public float Shape6; + [HideInInspector] + public float Shape7; + [HideInInspector] + public float Shape8; + [HideInInspector] + public float Shape9; + [HideInInspector] + public float Shape10; + [HideInInspector] + public float Shape11; + [HideInInspector] + public float Shape12; + [HideInInspector] + public float Shape13; + [HideInInspector] + public float Shape14; + [HideInInspector] + public float Shape15; + [HideInInspector] + public float Shape16; + [HideInInspector] + public float Shape17; + [HideInInspector] + public float Shape18; + [HideInInspector] + public float Shape19; + [HideInInspector] + public float Shape20; + [HideInInspector] + public float Shape21; + [HideInInspector] + public float Shape22; + [HideInInspector] + public float Shape23; + [HideInInspector] + public float Shape24; + [HideInInspector] + public float Shape25; + [HideInInspector] + public float Shape26; + [HideInInspector] + public float Shape27; + [HideInInspector] + public float Shape28; + [HideInInspector] + public float Shape29; + [HideInInspector] + public float Shape30; + [HideInInspector] + public float Shape31; + [HideInInspector] + public float Shape32; + [HideInInspector] + public float Shape33; + [HideInInspector] + public float Shape34; + [HideInInspector] + public float Shape35; + [HideInInspector] + public float Shape36; + [HideInInspector] + public float Shape37; + [HideInInspector] + public float Shape38; + [HideInInspector] + public float Shape39; + [HideInInspector] + public float Shape40; + [HideInInspector] + public float Shape41; + [HideInInspector] + public float Shape42; + [HideInInspector] + public float Shape43; + [HideInInspector] + public float Shape44; + [HideInInspector] + public float Shape45; + [HideInInspector] + public float Shape46; + [HideInInspector] + public float Shape47; + [HideInInspector] + public float Shape48; + [HideInInspector] + public float Shape49; + [HideInInspector] + public float Shape50; + [HideInInspector] + public float Shape51; + [HideInInspector] + public float Shape52; + [HideInInspector] + public float Shape53; + [HideInInspector] + public float Shape54; + [HideInInspector] + public float Shape55; + [HideInInspector] + public float Shape56; + [HideInInspector] + public float Shape57; + [HideInInspector] + public float Shape58; + [HideInInspector] + public float Shape59; + [HideInInspector] + public float Shape60; + [HideInInspector] + public float Shape61; + [HideInInspector] + public float Shape62; + [HideInInspector] + public float Shape63; + [HideInInspector] + public float Shape64; + [HideInInspector] + public float Shape65; + [HideInInspector] + public float Shape66; + [HideInInspector] + public float Shape67; + [HideInInspector] + public float Shape68; + [HideInInspector] + public float Shape69; + [HideInInspector] + public float Shape70; + [HideInInspector] + public float Shape71; + [HideInInspector] + public float Shape72; + [HideInInspector] + public float Shape73; + [HideInInspector] + public float Shape74; + [HideInInspector] + public float Shape75; + [HideInInspector] + public float Shape76; + [HideInInspector] + public float Shape77; + [HideInInspector] + public float Shape78; + [HideInInspector] + public float Shape79; + [HideInInspector] + public float Shape80; + [HideInInspector] + public float Shape81; + [HideInInspector] + public float Shape82; + [HideInInspector] + public float Shape83; + [HideInInspector] + public float Shape84; + [HideInInspector] + public float Shape85; + [HideInInspector] + public float Shape86; + [HideInInspector] + public float Shape87; + [HideInInspector] + public float Shape88; + [HideInInspector] + public float Shape89; + [HideInInspector] + public float Shape90; + [HideInInspector] + public float Shape91; + [HideInInspector] + public float Shape92; + [HideInInspector] + public float Shape93; + [HideInInspector] + public float Shape94; + [HideInInspector] + public float Shape95; + [HideInInspector] + public float Shape96; + [HideInInspector] + public float Shape97; + [HideInInspector] + public float Shape98; + [HideInInspector] + public float Shape99; + [HideInInspector] + public float Shape100; + [HideInInspector] + public float Shape101; + [HideInInspector] + public float Shape102; + [HideInInspector] + public float Shape103; + [HideInInspector] + public float Shape104; + [HideInInspector] + public float Shape105; + [HideInInspector] + public float Shape106; + [HideInInspector] + public float Shape107; + [HideInInspector] + public float Shape108; + [HideInInspector] + public float Shape109; + [HideInInspector] + public float Shape110; + [HideInInspector] + public float Shape111; + [HideInInspector] + public float Shape112; + [HideInInspector] + public float Shape113; + [HideInInspector] + public float Shape114; + [HideInInspector] + public float Shape115; + [HideInInspector] + public float Shape116; + [HideInInspector] + public float Shape117; + [HideInInspector] + public float Shape118; + [HideInInspector] + public float Shape119; + [HideInInspector] + public float Shape120; + [HideInInspector] + public float Shape121; + [HideInInspector] + public float Shape122; + [HideInInspector] + public float Shape123; + [HideInInspector] + public float Shape124; + [HideInInspector] + public float Shape125; + [HideInInspector] + public float Shape126; + [HideInInspector] + public float Shape127; + [HideInInspector] + public float Shape128; + [HideInInspector] + public float Shape129; + [HideInInspector] + public float Shape130; + [HideInInspector] + public float Shape131; + [HideInInspector] + public float Shape132; + [HideInInspector] + public float Shape133; + [HideInInspector] + public float Shape134; + [HideInInspector] + public float Shape135; + [HideInInspector] + public float Shape136; + [HideInInspector] + public float Shape137; + [HideInInspector] + public float Shape138; + [HideInInspector] + public float Shape139; + [HideInInspector] + public float Shape140; + [HideInInspector] + public float Shape141; + [HideInInspector] + public float Shape142; + [HideInInspector] + public float Shape143; + [HideInInspector] + public float Shape144; + [HideInInspector] + public float Shape145; + [HideInInspector] + public float Shape146; + [HideInInspector] + public float Shape147; + [HideInInspector] + public float Shape148; + [HideInInspector] + public float Shape149; + [HideInInspector] + public float Shape150; + [HideInInspector] + public float Shape151; + [HideInInspector] + public float Shape152; + [HideInInspector] + public float Shape153; + [HideInInspector] + public float Shape154; + [HideInInspector] + public float Shape155; + [HideInInspector] + public float Shape156; + [HideInInspector] + public float Shape157; + [HideInInspector] + public float Shape158; + [HideInInspector] + public float Shape159; + [HideInInspector] + public float Shape160; + [HideInInspector] + public float Shape161; + [HideInInspector] + public float Shape162; + [HideInInspector] + public float Shape163; + [HideInInspector] + public float Shape164; + [HideInInspector] + public float Shape165; + [HideInInspector] + public float Shape166; + [HideInInspector] + public float Shape167; + [HideInInspector] + public float Shape168; + [HideInInspector] + public float Shape169; + [HideInInspector] + public float Shape170; + [HideInInspector] + public float Shape171; + [HideInInspector] + public float Shape172; + [HideInInspector] + public float Shape173; + [HideInInspector] + public float Shape174; + [HideInInspector] + public float Shape175; + [HideInInspector] + public float Shape176; + [HideInInspector] + public float Shape177; + [HideInInspector] + public float Shape178; + [HideInInspector] + public float Shape179; + [HideInInspector] + public float Shape180; + [HideInInspector] + public float Shape181; + [HideInInspector] + public float Shape182; + [HideInInspector] + public float Shape183; + [HideInInspector] + public float Shape184; + [HideInInspector] + public float Shape185; + [HideInInspector] + public float Shape186; + [HideInInspector] + public float Shape187; + [HideInInspector] + public float Shape188; + [HideInInspector] + public float Shape189; + [HideInInspector] + public float Shape190; + [HideInInspector] + public float Shape191; + [HideInInspector] + public float Shape192; + [HideInInspector] + public float Shape193; + [HideInInspector] + public float Shape194; + [HideInInspector] + public float Shape195; + [HideInInspector] + public float Shape196; + [HideInInspector] + public float Shape197; + [HideInInspector] + public float Shape198; + [HideInInspector] + public float Shape199; + [HideInInspector] + public float Shape200; + [HideInInspector] + public float Shape201; + [HideInInspector] + public float Shape202; + [HideInInspector] + public float Shape203; + [HideInInspector] + public float Shape204; + [HideInInspector] + public float Shape205; + [HideInInspector] + public float Shape206; + [HideInInspector] + public float Shape207; + [HideInInspector] + public float Shape208; + [HideInInspector] + public float Shape209; + [HideInInspector] + public float Shape210; + [HideInInspector] + public float Shape211; + [HideInInspector] + public float Shape212; + [HideInInspector] + public float Shape213; + [HideInInspector] + public float Shape214; + [HideInInspector] + public float Shape215; + [HideInInspector] + public float Shape216; + [HideInInspector] + public float Shape217; + [HideInInspector] + public float Shape218; + [HideInInspector] + public float Shape219; + [HideInInspector] + public float Shape220; + [HideInInspector] + public float Shape221; + [HideInInspector] + public float Shape222; + [HideInInspector] + public float Shape223; + [HideInInspector] + public float Shape224; + [HideInInspector] + public float Shape225; + [HideInInspector] + public float Shape226; + [HideInInspector] + public float Shape227; + [HideInInspector] + public float Shape228; + [HideInInspector] + public float Shape229; + [HideInInspector] + public float Shape230; + [HideInInspector] + public float Shape231; + [HideInInspector] + public float Shape232; + [HideInInspector] + public float Shape233; + [HideInInspector] + public float Shape234; + [HideInInspector] + public float Shape235; + [HideInInspector] + public float Shape236; + [HideInInspector] + public float Shape237; + [HideInInspector] + public float Shape238; + [HideInInspector] + public float Shape239; + [HideInInspector] + public float Shape240; + [HideInInspector] + public float Shape241; + [HideInInspector] + public float Shape242; + [HideInInspector] + public float Shape243; + [HideInInspector] + public float Shape244; + [HideInInspector] + public float Shape245; + [HideInInspector] + public float Shape246; + [HideInInspector] + public float Shape247; + [HideInInspector] + public float Shape248; + [HideInInspector] + public float Shape249; + [HideInInspector] + public float Shape250; + [HideInInspector] + public float Shape251; + [HideInInspector] + public float Shape252; + [HideInInspector] + public float Shape253; + [HideInInspector] + public float Shape254; + [HideInInspector] + public float Shape255; + [HideInInspector] + public float Shape256; + [HideInInspector] + public float Shape257; + [HideInInspector] + public float Shape258; + [HideInInspector] + public float Shape259; + [HideInInspector] + public float Shape260; + [HideInInspector] + public float Shape261; + [HideInInspector] + public float Shape262; + [HideInInspector] + public float Shape263; + [HideInInspector] + public float Shape264; + [HideInInspector] + public float Shape265; + [HideInInspector] + public float Shape266; + [HideInInspector] + public float Shape267; + [HideInInspector] + public float Shape268; + [HideInInspector] + public float Shape269; + [HideInInspector] + public float Shape270; + [HideInInspector] + public float Shape271; + [HideInInspector] + public float Shape272; + [HideInInspector] + public float Shape273; + [HideInInspector] + public float Shape274; + [HideInInspector] + public float Shape275; + [HideInInspector] + public float Shape276; + [HideInInspector] + public float Shape277; + [HideInInspector] + public float Shape278; + [HideInInspector] + public float Shape279; + [HideInInspector] + public float Shape280; + [HideInInspector] + public float Shape281; + [HideInInspector] + public float Shape282; + [HideInInspector] + public float Shape283; + [HideInInspector] + public float Shape284; + [HideInInspector] + public float Shape285; + [HideInInspector] + public float Shape286; + [HideInInspector] + public float Shape287; + [HideInInspector] + public float Shape288; + [HideInInspector] + public float Shape289; + [HideInInspector] + public float Shape290; + [HideInInspector] + public float Shape291; + [HideInInspector] + public float Shape292; + [HideInInspector] + public float Shape293; + [HideInInspector] + public float Shape294; + [HideInInspector] + public float Shape295; + [HideInInspector] + public float Shape296; + [HideInInspector] + public float Shape297; + [HideInInspector] + public float Shape298; + [HideInInspector] + public float Shape299; + [HideInInspector] + public float Shape300; + [HideInInspector] + public float Shape301; + [HideInInspector] + public float Shape302; + [HideInInspector] + public float Shape303; + [HideInInspector] + public float Shape304; + [HideInInspector] + public float Shape305; + [HideInInspector] + public float Shape306; + [HideInInspector] + public float Shape307; + [HideInInspector] + public float Shape308; + [HideInInspector] + public float Shape309; + [HideInInspector] + public float Shape310; + [HideInInspector] + public float Shape311; + [HideInInspector] + public float Shape312; + [HideInInspector] + public float Shape313; + [HideInInspector] + public float Shape314; + [HideInInspector] + public float Shape315; + [HideInInspector] + public float Shape316; + [HideInInspector] + public float Shape317; + [HideInInspector] + public float Shape318; + [HideInInspector] + public float Shape319; + [HideInInspector] + public float Shape320; + [HideInInspector] + public float Shape321; + [HideInInspector] + public float Shape322; + [HideInInspector] + public float Shape323; + [HideInInspector] + public float Shape324; + [HideInInspector] + public float Shape325; + [HideInInspector] + public float Shape326; + [HideInInspector] + public float Shape327; + [HideInInspector] + public float Shape328; + [HideInInspector] + public float Shape329; + [HideInInspector] + public float Shape330; + [HideInInspector] + public float Shape331; + [HideInInspector] + public float Shape332; + [HideInInspector] + public float Shape333; + [HideInInspector] + public float Shape334; + [HideInInspector] + public float Shape335; + [HideInInspector] + public float Shape336; + [HideInInspector] + public float Shape337; + [HideInInspector] + public float Shape338; + [HideInInspector] + public float Shape339; + [HideInInspector] + public float Shape340; + [HideInInspector] + public float Shape341; + [HideInInspector] + public float Shape342; + [HideInInspector] + public float Shape343; + [HideInInspector] + public float Shape344; + [HideInInspector] + public float Shape345; + [HideInInspector] + public float Shape346; + [HideInInspector] + public float Shape347; + [HideInInspector] + public float Shape348; + [HideInInspector] + public float Shape349; + [HideInInspector] + public float Shape350; + [HideInInspector] + public float Shape351; + [HideInInspector] + public float Shape352; + [HideInInspector] + public float Shape353; + [HideInInspector] + public float Shape354; + [HideInInspector] + public float Shape355; + [HideInInspector] + public float Shape356; + [HideInInspector] + public float Shape357; + [HideInInspector] + public float Shape358; + [HideInInspector] + public float Shape359; + [HideInInspector] + public float Shape360; + [HideInInspector] + public float Shape361; + [HideInInspector] + public float Shape362; + [HideInInspector] + public float Shape363; + [HideInInspector] + public float Shape364; + [HideInInspector] + public float Shape365; + [HideInInspector] + public float Shape366; + [HideInInspector] + public float Shape367; + [HideInInspector] + public float Shape368; + [HideInInspector] + public float Shape369; + [HideInInspector] + public float Shape370; + [HideInInspector] + public float Shape371; + [HideInInspector] + public float Shape372; + [HideInInspector] + public float Shape373; + [HideInInspector] + public float Shape374; + [HideInInspector] + public float Shape375; + [HideInInspector] + public float Shape376; + [HideInInspector] + public float Shape377; + [HideInInspector] + public float Shape378; + [HideInInspector] + public float Shape379; + [HideInInspector] + public float Shape380; + [HideInInspector] + public float Shape381; + [HideInInspector] + public float Shape382; + [HideInInspector] + public float Shape383; + [HideInInspector] + public float Shape384; + [HideInInspector] + public float Shape385; + [HideInInspector] + public float Shape386; + [HideInInspector] + public float Shape387; + [HideInInspector] + public float Shape388; + [HideInInspector] + public float Shape389; + [HideInInspector] + public float Shape390; + [HideInInspector] + public float Shape391; + [HideInInspector] + public float Shape392; + [HideInInspector] + public float Shape393; + [HideInInspector] + public float Shape394; + [HideInInspector] + public float Shape395; + [HideInInspector] + public float Shape396; + [HideInInspector] + public float Shape397; + [HideInInspector] + public float Shape398; + [HideInInspector] + public float Shape399; + [HideInInspector] + public float Shape400; + [HideInInspector] + public float Shape401; + [HideInInspector] + public float Shape402; + [HideInInspector] + public float Shape403; + [HideInInspector] + public float Shape404; + [HideInInspector] + public float Shape405; + [HideInInspector] + public float Shape406; + [HideInInspector] + public float Shape407; + [HideInInspector] + public float Shape408; + [HideInInspector] + public float Shape409; + [HideInInspector] + public float Shape410; + [HideInInspector] + public float Shape411; + [HideInInspector] + public float Shape412; + [HideInInspector] + public float Shape413; + [HideInInspector] + public float Shape414; + [HideInInspector] + public float Shape415; + [HideInInspector] + public float Shape416; + [HideInInspector] + public float Shape417; + [HideInInspector] + public float Shape418; + [HideInInspector] + public float Shape419; + [HideInInspector] + public float Shape420; + [HideInInspector] + public float Shape421; + [HideInInspector] + public float Shape422; + [HideInInspector] + public float Shape423; + [HideInInspector] + public float Shape424; + [HideInInspector] + public float Shape425; + [HideInInspector] + public float Shape426; + [HideInInspector] + public float Shape427; + [HideInInspector] + public float Shape428; + [HideInInspector] + public float Shape429; + [HideInInspector] + public float Shape430; + [HideInInspector] + public float Shape431; + [HideInInspector] + public float Shape432; + [HideInInspector] + public float Shape433; + [HideInInspector] + public float Shape434; + [HideInInspector] + public float Shape435; + [HideInInspector] + public float Shape436; + [HideInInspector] + public float Shape437; + [HideInInspector] + public float Shape438; + [HideInInspector] + public float Shape439; + [HideInInspector] + public float Shape440; + [HideInInspector] + public float Shape441; + [HideInInspector] + public float Shape442; + [HideInInspector] + public float Shape443; + [HideInInspector] + public float Shape444; + [HideInInspector] + public float Shape445; + [HideInInspector] + public float Shape446; + [HideInInspector] + public float Shape447; + [HideInInspector] + public float Shape448; + [HideInInspector] + public float Shape449; + [HideInInspector] + public float Shape450; + [HideInInspector] + public float Shape451; + [HideInInspector] + public float Shape452; + [HideInInspector] + public float Shape453; + [HideInInspector] + public float Shape454; + [HideInInspector] + public float Shape455; + [HideInInspector] + public float Shape456; + [HideInInspector] + public float Shape457; + [HideInInspector] + public float Shape458; + [HideInInspector] + public float Shape459; + [HideInInspector] + public float Shape460; + [HideInInspector] + public float Shape461; + [HideInInspector] + public float Shape462; + [HideInInspector] + public float Shape463; + [HideInInspector] + public float Shape464; + [HideInInspector] + public float Shape465; + [HideInInspector] + public float Shape466; + [HideInInspector] + public float Shape467; + [HideInInspector] + public float Shape468; + [HideInInspector] + public float Shape469; + [HideInInspector] + public float Shape470; + [HideInInspector] + public float Shape471; + [HideInInspector] + public float Shape472; + [HideInInspector] + public float Shape473; + [HideInInspector] + public float Shape474; + [HideInInspector] + public float Shape475; + [HideInInspector] + public float Shape476; + [HideInInspector] + public float Shape477; + [HideInInspector] + public float Shape478; + [HideInInspector] + public float Shape479; + [HideInInspector] + public float Shape480; + [HideInInspector] + public float Shape481; + [HideInInspector] + public float Shape482; + [HideInInspector] + public float Shape483; + [HideInInspector] + public float Shape484; + [HideInInspector] + public float Shape485; + [HideInInspector] + public float Shape486; + [HideInInspector] + public float Shape487; + [HideInInspector] + public float Shape488; + [HideInInspector] + public float Shape489; + [HideInInspector] + public float Shape490; + [HideInInspector] + public float Shape491; + [HideInInspector] + public float Shape492; + [HideInInspector] + public float Shape493; + [HideInInspector] + public float Shape494; + [HideInInspector] + public float Shape495; + [HideInInspector] + public float Shape496; + [HideInInspector] + public float Shape497; + [HideInInspector] + public float Shape498; + [HideInInspector] + public float Shape499; + [HideInInspector] + public float Shape500; + [HideInInspector] + public float Shape501; + [HideInInspector] + public float Shape502; + [HideInInspector] + public float Shape503; + [HideInInspector] + public float Shape504; + [HideInInspector] + public float Shape505; + [HideInInspector] + public float Shape506; + [HideInInspector] + public float Shape507; + [HideInInspector] + public float Shape508; + [HideInInspector] + public float Shape509; + [HideInInspector] + public float Shape510; + [HideInInspector] + public float Shape511; + [HideInInspector] + public float Shape512; + [HideInInspector] + public float Shape513; + [HideInInspector] + public float Shape514; + [HideInInspector] + public float Shape515; + [HideInInspector] + public float Shape516; + [HideInInspector] + public float Shape517; + [HideInInspector] + public float Shape518; + [HideInInspector] + public float Shape519; + [HideInInspector] + public float Shape520; + [HideInInspector] + public float Shape521; + [HideInInspector] + public float Shape522; + [HideInInspector] + public float Shape523; + [HideInInspector] + public float Shape524; + [HideInInspector] + public float Shape525; + [HideInInspector] + public float Shape526; + [HideInInspector] + public float Shape527; + [HideInInspector] + public float Shape528; + [HideInInspector] + public float Shape529; + [HideInInspector] + public float Shape530; + [HideInInspector] + public float Shape531; + [HideInInspector] + public float Shape532; + [HideInInspector] + public float Shape533; + [HideInInspector] + public float Shape534; + [HideInInspector] + public float Shape535; + [HideInInspector] + public float Shape536; + [HideInInspector] + public float Shape537; + [HideInInspector] + public float Shape538; + [HideInInspector] + public float Shape539; + [HideInInspector] + public float Shape540; + [HideInInspector] + public float Shape541; + [HideInInspector] + public float Shape542; + [HideInInspector] + public float Shape543; + [HideInInspector] + public float Shape544; + [HideInInspector] + public float Shape545; + [HideInInspector] + public float Shape546; + [HideInInspector] + public float Shape547; + [HideInInspector] + public float Shape548; + [HideInInspector] + public float Shape549; + [HideInInspector] + public float Shape550; + [HideInInspector] + public float Shape551; + [HideInInspector] + public float Shape552; + [HideInInspector] + public float Shape553; + [HideInInspector] + public float Shape554; + [HideInInspector] + public float Shape555; + [HideInInspector] + public float Shape556; + [HideInInspector] + public float Shape557; + [HideInInspector] + public float Shape558; + [HideInInspector] + public float Shape559; + [HideInInspector] + public float Shape560; + [HideInInspector] + public float Shape561; + [HideInInspector] + public float Shape562; + [HideInInspector] + public float Shape563; + [HideInInspector] + public float Shape564; + [HideInInspector] + public float Shape565; + [HideInInspector] + public float Shape566; + [HideInInspector] + public float Shape567; + [HideInInspector] + public float Shape568; + [HideInInspector] + public float Shape569; + [HideInInspector] + public float Shape570; + [HideInInspector] + public float Shape571; + [HideInInspector] + public float Shape572; + [HideInInspector] + public float Shape573; + [HideInInspector] + public float Shape574; + [HideInInspector] + public float Shape575; + [HideInInspector] + public float Shape576; + [HideInInspector] + public float Shape577; + [HideInInspector] + public float Shape578; + [HideInInspector] + public float Shape579; + [HideInInspector] + public float Shape580; + [HideInInspector] + public float Shape581; + [HideInInspector] + public float Shape582; + [HideInInspector] + public float Shape583; + [HideInInspector] + public float Shape584; + [HideInInspector] + public float Shape585; + [HideInInspector] + public float Shape586; + [HideInInspector] + public float Shape587; + [HideInInspector] + public float Shape588; + [HideInInspector] + public float Shape589; + [HideInInspector] + public float Shape590; + [HideInInspector] + public float Shape591; + [HideInInspector] + public float Shape592; + [HideInInspector] + public float Shape593; + [HideInInspector] + public float Shape594; + [HideInInspector] + public float Shape595; + [HideInInspector] + public float Shape596; + [HideInInspector] + public float Shape597; + [HideInInspector] + public float Shape598; + [HideInInspector] + public float Shape599; + [HideInInspector] + public float Shape600; + [HideInInspector] + public float Shape601; + [HideInInspector] + public float Shape602; + [HideInInspector] + public float Shape603; + [HideInInspector] + public float Shape604; + [HideInInspector] + public float Shape605; + [HideInInspector] + public float Shape606; + [HideInInspector] + public float Shape607; + [HideInInspector] + public float Shape608; + [HideInInspector] + public float Shape609; + [HideInInspector] + public float Shape610; + [HideInInspector] + public float Shape611; + [HideInInspector] + public float Shape612; + [HideInInspector] + public float Shape613; + [HideInInspector] + public float Shape614; + [HideInInspector] + public float Shape615; + [HideInInspector] + public float Shape616; + [HideInInspector] + public float Shape617; + [HideInInspector] + public float Shape618; + [HideInInspector] + public float Shape619; + [HideInInspector] + public float Shape620; + [HideInInspector] + public float Shape621; + [HideInInspector] + public float Shape622; + [HideInInspector] + public float Shape623; + [HideInInspector] + public float Shape624; + [HideInInspector] + public float Shape625; + [HideInInspector] + public float Shape626; + [HideInInspector] + public float Shape627; + [HideInInspector] + public float Shape628; + [HideInInspector] + public float Shape629; + [HideInInspector] + public float Shape630; + [HideInInspector] + public float Shape631; + [HideInInspector] + public float Shape632; + [HideInInspector] + public float Shape633; + [HideInInspector] + public float Shape634; + [HideInInspector] + public float Shape635; + [HideInInspector] + public float Shape636; + [HideInInspector] + public float Shape637; + [HideInInspector] + public float Shape638; + [HideInInspector] + public float Shape639; + [HideInInspector] + public float Shape640; + [HideInInspector] + public float Shape641; + [HideInInspector] + public float Shape642; + [HideInInspector] + public float Shape643; + [HideInInspector] + public float Shape644; + [HideInInspector] + public float Shape645; + [HideInInspector] + public float Shape646; + [HideInInspector] + public float Shape647; + [HideInInspector] + public float Shape648; + [HideInInspector] + public float Shape649; + [HideInInspector] + public float Shape650; + [HideInInspector] + public float Shape651; + [HideInInspector] + public float Shape652; + [HideInInspector] + public float Shape653; + [HideInInspector] + public float Shape654; + [HideInInspector] + public float Shape655; + [HideInInspector] + public float Shape656; + [HideInInspector] + public float Shape657; + [HideInInspector] + public float Shape658; + [HideInInspector] + public float Shape659; + [HideInInspector] + public float Shape660; + [HideInInspector] + public float Shape661; + [HideInInspector] + public float Shape662; + [HideInInspector] + public float Shape663; + [HideInInspector] + public float Shape664; + [HideInInspector] + public float Shape665; + [HideInInspector] + public float Shape666; + [HideInInspector] + public float Shape667; + [HideInInspector] + public float Shape668; + [HideInInspector] + public float Shape669; + [HideInInspector] + public float Shape670; + [HideInInspector] + public float Shape671; + [HideInInspector] + public float Shape672; + [HideInInspector] + public float Shape673; + [HideInInspector] + public float Shape674; + [HideInInspector] + public float Shape675; + [HideInInspector] + public float Shape676; + [HideInInspector] + public float Shape677; + [HideInInspector] + public float Shape678; + [HideInInspector] + public float Shape679; + [HideInInspector] + public float Shape680; + [HideInInspector] + public float Shape681; + [HideInInspector] + public float Shape682; + [HideInInspector] + public float Shape683; + [HideInInspector] + public float Shape684; + [HideInInspector] + public float Shape685; + [HideInInspector] + public float Shape686; + [HideInInspector] + public float Shape687; + [HideInInspector] + public float Shape688; + [HideInInspector] + public float Shape689; + [HideInInspector] + public float Shape690; + [HideInInspector] + public float Shape691; + [HideInInspector] + public float Shape692; + [HideInInspector] + public float Shape693; + [HideInInspector] + public float Shape694; + [HideInInspector] + public float Shape695; + [HideInInspector] + public float Shape696; + [HideInInspector] + public float Shape697; + [HideInInspector] + public float Shape698; + [HideInInspector] + public float Shape699; + [HideInInspector] + public float Shape700; + [HideInInspector] + public float Shape701; + [HideInInspector] + public float Shape702; + [HideInInspector] + public float Shape703; + [HideInInspector] + public float Shape704; + [HideInInspector] + public float Shape705; + [HideInInspector] + public float Shape706; + [HideInInspector] + public float Shape707; + [HideInInspector] + public float Shape708; + [HideInInspector] + public float Shape709; + [HideInInspector] + public float Shape710; + [HideInInspector] + public float Shape711; + [HideInInspector] + public float Shape712; + [HideInInspector] + public float Shape713; + [HideInInspector] + public float Shape714; + [HideInInspector] + public float Shape715; + [HideInInspector] + public float Shape716; + [HideInInspector] + public float Shape717; + [HideInInspector] + public float Shape718; + [HideInInspector] + public float Shape719; + [HideInInspector] + public float Shape720; + [HideInInspector] + public float Shape721; + [HideInInspector] + public float Shape722; + [HideInInspector] + public float Shape723; + [HideInInspector] + public float Shape724; + [HideInInspector] + public float Shape725; + [HideInInspector] + public float Shape726; + [HideInInspector] + public float Shape727; + [HideInInspector] + public float Shape728; + [HideInInspector] + public float Shape729; + [HideInInspector] + public float Shape730; + [HideInInspector] + public float Shape731; + [HideInInspector] + public float Shape732; + [HideInInspector] + public float Shape733; + [HideInInspector] + public float Shape734; + [HideInInspector] + public float Shape735; + [HideInInspector] + public float Shape736; + [HideInInspector] + public float Shape737; + [HideInInspector] + public float Shape738; + [HideInInspector] + public float Shape739; + [HideInInspector] + public float Shape740; + [HideInInspector] + public float Shape741; + [HideInInspector] + public float Shape742; + [HideInInspector] + public float Shape743; + [HideInInspector] + public float Shape744; + [HideInInspector] + public float Shape745; + [HideInInspector] + public float Shape746; + [HideInInspector] + public float Shape747; + [HideInInspector] + public float Shape748; + [HideInInspector] + public float Shape749; + [HideInInspector] + public float Shape750; + [HideInInspector] + public float Shape751; + [HideInInspector] + public float Shape752; + [HideInInspector] + public float Shape753; + [HideInInspector] + public float Shape754; + [HideInInspector] + public float Shape755; + [HideInInspector] + public float Shape756; + [HideInInspector] + public float Shape757; + [HideInInspector] + public float Shape758; + [HideInInspector] + public float Shape759; + [HideInInspector] + public float Shape760; + [HideInInspector] + public float Shape761; + [HideInInspector] + public float Shape762; + [HideInInspector] + public float Shape763; + [HideInInspector] + public float Shape764; + [HideInInspector] + public float Shape765; + [HideInInspector] + public float Shape766; + [HideInInspector] + public float Shape767; + [HideInInspector] + public float Shape768; + [HideInInspector] + public float Shape769; + [HideInInspector] + public float Shape770; + [HideInInspector] + public float Shape771; + [HideInInspector] + public float Shape772; + [HideInInspector] + public float Shape773; + [HideInInspector] + public float Shape774; + [HideInInspector] + public float Shape775; + [HideInInspector] + public float Shape776; + [HideInInspector] + public float Shape777; + [HideInInspector] + public float Shape778; + [HideInInspector] + public float Shape779; + [HideInInspector] + public float Shape780; + [HideInInspector] + public float Shape781; + [HideInInspector] + public float Shape782; + [HideInInspector] + public float Shape783; + [HideInInspector] + public float Shape784; + [HideInInspector] + public float Shape785; + [HideInInspector] + public float Shape786; + [HideInInspector] + public float Shape787; + [HideInInspector] + public float Shape788; + [HideInInspector] + public float Shape789; + [HideInInspector] + public float Shape790; + [HideInInspector] + public float Shape791; + [HideInInspector] + public float Shape792; + [HideInInspector] + public float Shape793; + [HideInInspector] + public float Shape794; + [HideInInspector] + public float Shape795; + [HideInInspector] + public float Shape796; + [HideInInspector] + public float Shape797; + [HideInInspector] + public float Shape798; + [HideInInspector] + public float Shape799; + [HideInInspector] + public float Shape800; + [HideInInspector] + public float Shape801; + [HideInInspector] + public float Shape802; + [HideInInspector] + public float Shape803; + [HideInInspector] + public float Shape804; + [HideInInspector] + public float Shape805; + [HideInInspector] + public float Shape806; + [HideInInspector] + public float Shape807; + [HideInInspector] + public float Shape808; + [HideInInspector] + public float Shape809; + [HideInInspector] + public float Shape810; + [HideInInspector] + public float Shape811; + [HideInInspector] + public float Shape812; + [HideInInspector] + public float Shape813; + [HideInInspector] + public float Shape814; + [HideInInspector] + public float Shape815; + [HideInInspector] + public float Shape816; + [HideInInspector] + public float Shape817; + [HideInInspector] + public float Shape818; + [HideInInspector] + public float Shape819; + [HideInInspector] + public float Shape820; + [HideInInspector] + public float Shape821; + [HideInInspector] + public float Shape822; + [HideInInspector] + public float Shape823; + [HideInInspector] + public float Shape824; + [HideInInspector] + public float Shape825; + [HideInInspector] + public float Shape826; + [HideInInspector] + public float Shape827; + [HideInInspector] + public float Shape828; + [HideInInspector] + public float Shape829; + [HideInInspector] + public float Shape830; + [HideInInspector] + public float Shape831; + [HideInInspector] + public float Shape832; + [HideInInspector] + public float Shape833; + [HideInInspector] + public float Shape834; + [HideInInspector] + public float Shape835; + [HideInInspector] + public float Shape836; + [HideInInspector] + public float Shape837; + [HideInInspector] + public float Shape838; + [HideInInspector] + public float Shape839; + [HideInInspector] + public float Shape840; + [HideInInspector] + public float Shape841; + [HideInInspector] + public float Shape842; + [HideInInspector] + public float Shape843; + [HideInInspector] + public float Shape844; + [HideInInspector] + public float Shape845; + [HideInInspector] + public float Shape846; + [HideInInspector] + public float Shape847; + [HideInInspector] + public float Shape848; + [HideInInspector] + public float Shape849; + [HideInInspector] + public float Shape850; + [HideInInspector] + public float Shape851; + [HideInInspector] + public float Shape852; + [HideInInspector] + public float Shape853; + [HideInInspector] + public float Shape854; + [HideInInspector] + public float Shape855; + [HideInInspector] + public float Shape856; + [HideInInspector] + public float Shape857; + [HideInInspector] + public float Shape858; + [HideInInspector] + public float Shape859; + [HideInInspector] + public float Shape860; + [HideInInspector] + public float Shape861; + [HideInInspector] + public float Shape862; + [HideInInspector] + public float Shape863; + [HideInInspector] + public float Shape864; + [HideInInspector] + public float Shape865; + [HideInInspector] + public float Shape866; + [HideInInspector] + public float Shape867; + [HideInInspector] + public float Shape868; + [HideInInspector] + public float Shape869; + [HideInInspector] + public float Shape870; + [HideInInspector] + public float Shape871; + [HideInInspector] + public float Shape872; + [HideInInspector] + public float Shape873; + [HideInInspector] + public float Shape874; + [HideInInspector] + public float Shape875; + [HideInInspector] + public float Shape876; + [HideInInspector] + public float Shape877; + [HideInInspector] + public float Shape878; + [HideInInspector] + public float Shape879; + [HideInInspector] + public float Shape880; + [HideInInspector] + public float Shape881; + [HideInInspector] + public float Shape882; + [HideInInspector] + public float Shape883; + [HideInInspector] + public float Shape884; + [HideInInspector] + public float Shape885; + [HideInInspector] + public float Shape886; + [HideInInspector] + public float Shape887; + [HideInInspector] + public float Shape888; + [HideInInspector] + public float Shape889; + [HideInInspector] + public float Shape890; + [HideInInspector] + public float Shape891; + [HideInInspector] + public float Shape892; + [HideInInspector] + public float Shape893; + [HideInInspector] + public float Shape894; + [HideInInspector] + public float Shape895; + [HideInInspector] + public float Shape896; + [HideInInspector] + public float Shape897; + [HideInInspector] + public float Shape898; + [HideInInspector] + public float Shape899; + [HideInInspector] + public float Shape900; + [HideInInspector] + public float Shape901; + [HideInInspector] + public float Shape902; + [HideInInspector] + public float Shape903; + [HideInInspector] + public float Shape904; + [HideInInspector] + public float Shape905; + [HideInInspector] + public float Shape906; + [HideInInspector] + public float Shape907; + [HideInInspector] + public float Shape908; + [HideInInspector] + public float Shape909; + [HideInInspector] + public float Shape910; + [HideInInspector] + public float Shape911; + [HideInInspector] + public float Shape912; + [HideInInspector] + public float Shape913; + [HideInInspector] + public float Shape914; + [HideInInspector] + public float Shape915; + [HideInInspector] + public float Shape916; + [HideInInspector] + public float Shape917; + [HideInInspector] + public float Shape918; + [HideInInspector] + public float Shape919; + [HideInInspector] + public float Shape920; + [HideInInspector] + public float Shape921; + [HideInInspector] + public float Shape922; + [HideInInspector] + public float Shape923; + [HideInInspector] + public float Shape924; + [HideInInspector] + public float Shape925; + [HideInInspector] + public float Shape926; + [HideInInspector] + public float Shape927; + [HideInInspector] + public float Shape928; + [HideInInspector] + public float Shape929; + [HideInInspector] + public float Shape930; + [HideInInspector] + public float Shape931; + [HideInInspector] + public float Shape932; + [HideInInspector] + public float Shape933; + [HideInInspector] + public float Shape934; + [HideInInspector] + public float Shape935; + [HideInInspector] + public float Shape936; + [HideInInspector] + public float Shape937; + [HideInInspector] + public float Shape938; + [HideInInspector] + public float Shape939; + [HideInInspector] + public float Shape940; + [HideInInspector] + public float Shape941; + [HideInInspector] + public float Shape942; + [HideInInspector] + public float Shape943; + [HideInInspector] + public float Shape944; + [HideInInspector] + public float Shape945; + [HideInInspector] + public float Shape946; + [HideInInspector] + public float Shape947; + [HideInInspector] + public float Shape948; + [HideInInspector] + public float Shape949; + [HideInInspector] + public float Shape950; + [HideInInspector] + public float Shape951; + [HideInInspector] + public float Shape952; + [HideInInspector] + public float Shape953; + [HideInInspector] + public float Shape954; + [HideInInspector] + public float Shape955; + [HideInInspector] + public float Shape956; + [HideInInspector] + public float Shape957; + [HideInInspector] + public float Shape958; + [HideInInspector] + public float Shape959; + [HideInInspector] + public float Shape960; + [HideInInspector] + public float Shape961; + [HideInInspector] + public float Shape962; + [HideInInspector] + public float Shape963; + [HideInInspector] + public float Shape964; + [HideInInspector] + public float Shape965; + [HideInInspector] + public float Shape966; + [HideInInspector] + public float Shape967; + [HideInInspector] + public float Shape968; + [HideInInspector] + public float Shape969; + [HideInInspector] + public float Shape970; + [HideInInspector] + public float Shape971; + [HideInInspector] + public float Shape972; + [HideInInspector] + public float Shape973; + [HideInInspector] + public float Shape974; + [HideInInspector] + public float Shape975; + [HideInInspector] + public float Shape976; + [HideInInspector] + public float Shape977; + [HideInInspector] + public float Shape978; + [HideInInspector] + public float Shape979; + [HideInInspector] + public float Shape980; + [HideInInspector] + public float Shape981; + [HideInInspector] + public float Shape982; + [HideInInspector] + public float Shape983; + [HideInInspector] + public float Shape984; + [HideInInspector] + public float Shape985; + [HideInInspector] + public float Shape986; + [HideInInspector] + public float Shape987; + [HideInInspector] + public float Shape988; + [HideInInspector] + public float Shape989; + [HideInInspector] + public float Shape990; + [HideInInspector] + public float Shape991; + [HideInInspector] + public float Shape992; + [HideInInspector] + public float Shape993; + [HideInInspector] + public float Shape994; + [HideInInspector] + public float Shape995; + [HideInInspector] + public float Shape996; + [HideInInspector] + public float Shape997; + [HideInInspector] + public float Shape998; + [HideInInspector] + public float Shape999; + [HideInInspector] + public float Shape1000; + [HideInInspector] + public float Shape1001; + [HideInInspector] + public float Shape1002; + [HideInInspector] + public float Shape1003; + [HideInInspector] + public float Shape1004; + [HideInInspector] + public float Shape1005; + [HideInInspector] + public float Shape1006; + [HideInInspector] + public float Shape1007; + [HideInInspector] + public float Shape1008; + [HideInInspector] + public float Shape1009; + [HideInInspector] + public float Shape1010; + [HideInInspector] + public float Shape1011; + [HideInInspector] + public float Shape1012; + [HideInInspector] + public float Shape1013; + [HideInInspector] + public float Shape1014; + [HideInInspector] + public float Shape1015; + [HideInInspector] + public float Shape1016; + [HideInInspector] + public float Shape1017; + [HideInInspector] + public float Shape1018; + [HideInInspector] + public float Shape1019; + [HideInInspector] + public float Shape1020; + [HideInInspector] + public float Shape1021; + [HideInInspector] + public float Shape1022; + [HideInInspector] + public float Shape1023; + [HideInInspector] + public float Shape1024; + [HideInInspector] + public float Shape1025; + [HideInInspector] + public float Shape1026; + [HideInInspector] + public float Shape1027; + [HideInInspector] + public float Shape1028; + [HideInInspector] + public float Shape1029; + [HideInInspector] + public float Shape1030; + [HideInInspector] + public float Shape1031; + [HideInInspector] + public float Shape1032; + [HideInInspector] + public float Shape1033; + [HideInInspector] + public float Shape1034; + [HideInInspector] + public float Shape1035; + [HideInInspector] + public float Shape1036; + [HideInInspector] + public float Shape1037; + [HideInInspector] + public float Shape1038; + [HideInInspector] + public float Shape1039; + [HideInInspector] + public float Shape1040; + [HideInInspector] + public float Shape1041; + [HideInInspector] + public float Shape1042; + [HideInInspector] + public float Shape1043; + [HideInInspector] + public float Shape1044; + [HideInInspector] + public float Shape1045; + [HideInInspector] + public float Shape1046; + [HideInInspector] + public float Shape1047; + [HideInInspector] + public float Shape1048; + [HideInInspector] + public float Shape1049; + [HideInInspector] + public float Shape1050; + [HideInInspector] + public float Shape1051; + [HideInInspector] + public float Shape1052; + [HideInInspector] + public float Shape1053; + [HideInInspector] + public float Shape1054; + [HideInInspector] + public float Shape1055; + [HideInInspector] + public float Shape1056; + [HideInInspector] + public float Shape1057; + [HideInInspector] + public float Shape1058; + [HideInInspector] + public float Shape1059; + [HideInInspector] + public float Shape1060; + [HideInInspector] + public float Shape1061; + [HideInInspector] + public float Shape1062; + [HideInInspector] + public float Shape1063; + [HideInInspector] + public float Shape1064; + [HideInInspector] + public float Shape1065; + [HideInInspector] + public float Shape1066; + [HideInInspector] + public float Shape1067; + [HideInInspector] + public float Shape1068; + [HideInInspector] + public float Shape1069; + [HideInInspector] + public float Shape1070; + [HideInInspector] + public float Shape1071; + [HideInInspector] + public float Shape1072; + [HideInInspector] + public float Shape1073; + [HideInInspector] + public float Shape1074; + [HideInInspector] + public float Shape1075; + [HideInInspector] + public float Shape1076; + [HideInInspector] + public float Shape1077; + [HideInInspector] + public float Shape1078; + [HideInInspector] + public float Shape1079; + [HideInInspector] + public float Shape1080; + [HideInInspector] + public float Shape1081; + [HideInInspector] + public float Shape1082; + [HideInInspector] + public float Shape1083; + [HideInInspector] + public float Shape1084; + [HideInInspector] + public float Shape1085; + [HideInInspector] + public float Shape1086; + [HideInInspector] + public float Shape1087; + [HideInInspector] + public float Shape1088; + [HideInInspector] + public float Shape1089; + [HideInInspector] + public float Shape1090; + [HideInInspector] + public float Shape1091; + [HideInInspector] + public float Shape1092; + [HideInInspector] + public float Shape1093; + [HideInInspector] + public float Shape1094; + [HideInInspector] + public float Shape1095; + [HideInInspector] + public float Shape1096; + [HideInInspector] + public float Shape1097; + [HideInInspector] + public float Shape1098; + [HideInInspector] + public float Shape1099; + [HideInInspector] + public float Shape1100; + [HideInInspector] + public float Shape1101; + [HideInInspector] + public float Shape1102; + [HideInInspector] + public float Shape1103; + [HideInInspector] + public float Shape1104; + [HideInInspector] + public float Shape1105; + [HideInInspector] + public float Shape1106; + [HideInInspector] + public float Shape1107; + [HideInInspector] + public float Shape1108; + [HideInInspector] + public float Shape1109; + [HideInInspector] + public float Shape1110; + [HideInInspector] + public float Shape1111; + [HideInInspector] + public float Shape1112; + [HideInInspector] + public float Shape1113; + [HideInInspector] + public float Shape1114; + [HideInInspector] + public float Shape1115; + [HideInInspector] + public float Shape1116; + [HideInInspector] + public float Shape1117; + [HideInInspector] + public float Shape1118; + [HideInInspector] + public float Shape1119; + [HideInInspector] + public float Shape1120; + [HideInInspector] + public float Shape1121; + [HideInInspector] + public float Shape1122; + [HideInInspector] + public float Shape1123; + [HideInInspector] + public float Shape1124; + [HideInInspector] + public float Shape1125; + [HideInInspector] + public float Shape1126; + [HideInInspector] + public float Shape1127; + [HideInInspector] + public float Shape1128; + [HideInInspector] + public float Shape1129; + [HideInInspector] + public float Shape1130; + [HideInInspector] + public float Shape1131; + [HideInInspector] + public float Shape1132; + [HideInInspector] + public float Shape1133; + [HideInInspector] + public float Shape1134; + [HideInInspector] + public float Shape1135; + [HideInInspector] + public float Shape1136; + [HideInInspector] + public float Shape1137; + [HideInInspector] + public float Shape1138; + [HideInInspector] + public float Shape1139; + [HideInInspector] + public float Shape1140; + [HideInInspector] + public float Shape1141; + [HideInInspector] + public float Shape1142; + [HideInInspector] + public float Shape1143; + [HideInInspector] + public float Shape1144; + [HideInInspector] + public float Shape1145; + [HideInInspector] + public float Shape1146; + [HideInInspector] + public float Shape1147; + [HideInInspector] + public float Shape1148; + [HideInInspector] + public float Shape1149; + [HideInInspector] + public float Shape1150; + [HideInInspector] + public float Shape1151; + [HideInInspector] + public float Shape1152; + [HideInInspector] + public float Shape1153; + [HideInInspector] + public float Shape1154; + [HideInInspector] + public float Shape1155; + [HideInInspector] + public float Shape1156; + [HideInInspector] + public float Shape1157; + [HideInInspector] + public float Shape1158; + [HideInInspector] + public float Shape1159; + [HideInInspector] + public float Shape1160; + [HideInInspector] + public float Shape1161; + [HideInInspector] + public float Shape1162; + [HideInInspector] + public float Shape1163; + [HideInInspector] + public float Shape1164; + [HideInInspector] + public float Shape1165; + [HideInInspector] + public float Shape1166; + [HideInInspector] + public float Shape1167; + [HideInInspector] + public float Shape1168; + [HideInInspector] + public float Shape1169; + [HideInInspector] + public float Shape1170; + [HideInInspector] + public float Shape1171; + [HideInInspector] + public float Shape1172; + [HideInInspector] + public float Shape1173; + [HideInInspector] + public float Shape1174; + [HideInInspector] + public float Shape1175; + [HideInInspector] + public float Shape1176; + [HideInInspector] + public float Shape1177; + [HideInInspector] + public float Shape1178; + [HideInInspector] + public float Shape1179; + [HideInInspector] + public float Shape1180; + [HideInInspector] + public float Shape1181; + [HideInInspector] + public float Shape1182; + [HideInInspector] + public float Shape1183; + [HideInInspector] + public float Shape1184; + [HideInInspector] + public float Shape1185; + [HideInInspector] + public float Shape1186; + [HideInInspector] + public float Shape1187; + [HideInInspector] + public float Shape1188; + [HideInInspector] + public float Shape1189; + [HideInInspector] + public float Shape1190; + [HideInInspector] + public float Shape1191; + [HideInInspector] + public float Shape1192; + [HideInInspector] + public float Shape1193; + [HideInInspector] + public float Shape1194; + [HideInInspector] + public float Shape1195; + [HideInInspector] + public float Shape1196; + [HideInInspector] + public float Shape1197; + [HideInInspector] + public float Shape1198; + [HideInInspector] + public float Shape1199; + [HideInInspector] + public float Shape1200; + [HideInInspector] + public float Shape1201; + [HideInInspector] + public float Shape1202; + [HideInInspector] + public float Shape1203; + [HideInInspector] + public float Shape1204; + [HideInInspector] + public float Shape1205; + [HideInInspector] + public float Shape1206; + [HideInInspector] + public float Shape1207; + [HideInInspector] + public float Shape1208; + [HideInInspector] + public float Shape1209; + [HideInInspector] + public float Shape1210; + [HideInInspector] + public float Shape1211; + [HideInInspector] + public float Shape1212; + [HideInInspector] + public float Shape1213; + [HideInInspector] + public float Shape1214; + [HideInInspector] + public float Shape1215; + [HideInInspector] + public float Shape1216; + [HideInInspector] + public float Shape1217; + [HideInInspector] + public float Shape1218; + [HideInInspector] + public float Shape1219; + [HideInInspector] + public float Shape1220; + [HideInInspector] + public float Shape1221; + [HideInInspector] + public float Shape1222; + [HideInInspector] + public float Shape1223; + [HideInInspector] + public float Shape1224; + [HideInInspector] + public float Shape1225; + [HideInInspector] + public float Shape1226; + [HideInInspector] + public float Shape1227; + [HideInInspector] + public float Shape1228; + [HideInInspector] + public float Shape1229; + [HideInInspector] + public float Shape1230; + [HideInInspector] + public float Shape1231; + [HideInInspector] + public float Shape1232; + [HideInInspector] + public float Shape1233; + [HideInInspector] + public float Shape1234; + [HideInInspector] + public float Shape1235; + [HideInInspector] + public float Shape1236; + [HideInInspector] + public float Shape1237; + [HideInInspector] + public float Shape1238; + [HideInInspector] + public float Shape1239; + [HideInInspector] + public float Shape1240; + [HideInInspector] + public float Shape1241; + [HideInInspector] + public float Shape1242; + [HideInInspector] + public float Shape1243; + [HideInInspector] + public float Shape1244; + [HideInInspector] + public float Shape1245; + [HideInInspector] + public float Shape1246; + [HideInInspector] + public float Shape1247; + [HideInInspector] + public float Shape1248; + [HideInInspector] + public float Shape1249; + [HideInInspector] + public float Shape1250; + [HideInInspector] + public float Shape1251; + [HideInInspector] + public float Shape1252; + [HideInInspector] + public float Shape1253; + [HideInInspector] + public float Shape1254; + [HideInInspector] + public float Shape1255; + [HideInInspector] + public float Shape1256; + [HideInInspector] + public float Shape1257; + [HideInInspector] + public float Shape1258; + [HideInInspector] + public float Shape1259; + [HideInInspector] + public float Shape1260; + [HideInInspector] + public float Shape1261; + [HideInInspector] + public float Shape1262; + [HideInInspector] + public float Shape1263; + [HideInInspector] + public float Shape1264; + [HideInInspector] + public float Shape1265; + [HideInInspector] + public float Shape1266; + [HideInInspector] + public float Shape1267; + [HideInInspector] + public float Shape1268; + [HideInInspector] + public float Shape1269; + [HideInInspector] + public float Shape1270; + [HideInInspector] + public float Shape1271; + [HideInInspector] + public float Shape1272; + [HideInInspector] + public float Shape1273; + [HideInInspector] + public float Shape1274; + [HideInInspector] + public float Shape1275; + [HideInInspector] + public float Shape1276; + [HideInInspector] + public float Shape1277; + [HideInInspector] + public float Shape1278; + [HideInInspector] + public float Shape1279; + [HideInInspector] + public float Shape1280; + [HideInInspector] + public float Shape1281; + [HideInInspector] + public float Shape1282; + [HideInInspector] + public float Shape1283; + [HideInInspector] + public float Shape1284; + [HideInInspector] + public float Shape1285; + [HideInInspector] + public float Shape1286; + [HideInInspector] + public float Shape1287; + [HideInInspector] + public float Shape1288; + [HideInInspector] + public float Shape1289; + [HideInInspector] + public float Shape1290; + [HideInInspector] + public float Shape1291; + [HideInInspector] + public float Shape1292; + [HideInInspector] + public float Shape1293; + [HideInInspector] + public float Shape1294; + [HideInInspector] + public float Shape1295; + [HideInInspector] + public float Shape1296; + [HideInInspector] + public float Shape1297; + [HideInInspector] + public float Shape1298; + [HideInInspector] + public float Shape1299; + [HideInInspector] + public float Shape1300; + [HideInInspector] + public float Shape1301; + [HideInInspector] + public float Shape1302; + [HideInInspector] + public float Shape1303; + [HideInInspector] + public float Shape1304; + [HideInInspector] + public float Shape1305; + [HideInInspector] + public float Shape1306; + [HideInInspector] + public float Shape1307; + [HideInInspector] + public float Shape1308; + [HideInInspector] + public float Shape1309; + [HideInInspector] + public float Shape1310; + [HideInInspector] + public float Shape1311; + [HideInInspector] + public float Shape1312; + [HideInInspector] + public float Shape1313; + [HideInInspector] + public float Shape1314; + [HideInInspector] + public float Shape1315; + [HideInInspector] + public float Shape1316; + [HideInInspector] + public float Shape1317; + [HideInInspector] + public float Shape1318; + [HideInInspector] + public float Shape1319; + [HideInInspector] + public float Shape1320; + [HideInInspector] + public float Shape1321; + [HideInInspector] + public float Shape1322; + [HideInInspector] + public float Shape1323; + [HideInInspector] + public float Shape1324; + [HideInInspector] + public float Shape1325; + [HideInInspector] + public float Shape1326; + [HideInInspector] + public float Shape1327; + [HideInInspector] + public float Shape1328; + [HideInInspector] + public float Shape1329; + [HideInInspector] + public float Shape1330; + [HideInInspector] + public float Shape1331; + [HideInInspector] + public float Shape1332; + [HideInInspector] + public float Shape1333; + [HideInInspector] + public float Shape1334; + [HideInInspector] + public float Shape1335; + [HideInInspector] + public float Shape1336; + [HideInInspector] + public float Shape1337; + [HideInInspector] + public float Shape1338; + [HideInInspector] + public float Shape1339; + [HideInInspector] + public float Shape1340; + [HideInInspector] + public float Shape1341; + [HideInInspector] + public float Shape1342; + [HideInInspector] + public float Shape1343; + [HideInInspector] + public float Shape1344; + [HideInInspector] + public float Shape1345; + [HideInInspector] + public float Shape1346; + [HideInInspector] + public float Shape1347; + [HideInInspector] + public float Shape1348; + [HideInInspector] + public float Shape1349; + [HideInInspector] + public float Shape1350; + [HideInInspector] + public float Shape1351; + [HideInInspector] + public float Shape1352; + [HideInInspector] + public float Shape1353; + [HideInInspector] + public float Shape1354; + [HideInInspector] + public float Shape1355; + [HideInInspector] + public float Shape1356; + [HideInInspector] + public float Shape1357; + [HideInInspector] + public float Shape1358; + [HideInInspector] + public float Shape1359; + [HideInInspector] + public float Shape1360; + [HideInInspector] + public float Shape1361; + [HideInInspector] + public float Shape1362; + [HideInInspector] + public float Shape1363; + [HideInInspector] + public float Shape1364; + [HideInInspector] + public float Shape1365; + [HideInInspector] + public float Shape1366; + [HideInInspector] + public float Shape1367; + [HideInInspector] + public float Shape1368; + [HideInInspector] + public float Shape1369; + [HideInInspector] + public float Shape1370; + [HideInInspector] + public float Shape1371; + [HideInInspector] + public float Shape1372; + [HideInInspector] + public float Shape1373; + [HideInInspector] + public float Shape1374; + [HideInInspector] + public float Shape1375; + [HideInInspector] + public float Shape1376; + [HideInInspector] + public float Shape1377; + [HideInInspector] + public float Shape1378; + [HideInInspector] + public float Shape1379; + [HideInInspector] + public float Shape1380; + [HideInInspector] + public float Shape1381; + [HideInInspector] + public float Shape1382; + [HideInInspector] + public float Shape1383; + [HideInInspector] + public float Shape1384; + [HideInInspector] + public float Shape1385; + [HideInInspector] + public float Shape1386; + [HideInInspector] + public float Shape1387; + [HideInInspector] + public float Shape1388; + [HideInInspector] + public float Shape1389; + [HideInInspector] + public float Shape1390; + [HideInInspector] + public float Shape1391; + [HideInInspector] + public float Shape1392; + [HideInInspector] + public float Shape1393; + [HideInInspector] + public float Shape1394; + [HideInInspector] + public float Shape1395; + [HideInInspector] + public float Shape1396; + [HideInInspector] + public float Shape1397; + [HideInInspector] + public float Shape1398; + [HideInInspector] + public float Shape1399; + [HideInInspector] + public float Shape1400; + [HideInInspector] + public float Shape1401; + [HideInInspector] + public float Shape1402; + [HideInInspector] + public float Shape1403; + [HideInInspector] + public float Shape1404; + [HideInInspector] + public float Shape1405; + [HideInInspector] + public float Shape1406; + [HideInInspector] + public float Shape1407; + [HideInInspector] + public float Shape1408; + [HideInInspector] + public float Shape1409; + [HideInInspector] + public float Shape1410; + [HideInInspector] + public float Shape1411; + [HideInInspector] + public float Shape1412; + [HideInInspector] + public float Shape1413; + [HideInInspector] + public float Shape1414; + [HideInInspector] + public float Shape1415; + [HideInInspector] + public float Shape1416; + [HideInInspector] + public float Shape1417; + [HideInInspector] + public float Shape1418; + [HideInInspector] + public float Shape1419; + [HideInInspector] + public float Shape1420; + [HideInInspector] + public float Shape1421; + [HideInInspector] + public float Shape1422; + [HideInInspector] + public float Shape1423; + [HideInInspector] + public float Shape1424; + [HideInInspector] + public float Shape1425; + [HideInInspector] + public float Shape1426; + [HideInInspector] + public float Shape1427; + [HideInInspector] + public float Shape1428; + [HideInInspector] + public float Shape1429; + [HideInInspector] + public float Shape1430; + [HideInInspector] + public float Shape1431; + [HideInInspector] + public float Shape1432; + [HideInInspector] + public float Shape1433; + [HideInInspector] + public float Shape1434; + [HideInInspector] + public float Shape1435; + [HideInInspector] + public float Shape1436; + [HideInInspector] + public float Shape1437; + [HideInInspector] + public float Shape1438; + [HideInInspector] + public float Shape1439; + [HideInInspector] + public float Shape1440; + [HideInInspector] + public float Shape1441; + [HideInInspector] + public float Shape1442; + [HideInInspector] + public float Shape1443; + [HideInInspector] + public float Shape1444; + [HideInInspector] + public float Shape1445; + [HideInInspector] + public float Shape1446; + [HideInInspector] + public float Shape1447; + [HideInInspector] + public float Shape1448; + [HideInInspector] + public float Shape1449; + [HideInInspector] + public float Shape1450; + [HideInInspector] + public float Shape1451; + [HideInInspector] + public float Shape1452; + [HideInInspector] + public float Shape1453; + [HideInInspector] + public float Shape1454; + [HideInInspector] + public float Shape1455; + [HideInInspector] + public float Shape1456; + [HideInInspector] + public float Shape1457; + [HideInInspector] + public float Shape1458; + [HideInInspector] + public float Shape1459; + [HideInInspector] + public float Shape1460; + [HideInInspector] + public float Shape1461; + [HideInInspector] + public float Shape1462; + [HideInInspector] + public float Shape1463; + [HideInInspector] + public float Shape1464; + [HideInInspector] + public float Shape1465; + [HideInInspector] + public float Shape1466; + [HideInInspector] + public float Shape1467; + [HideInInspector] + public float Shape1468; + [HideInInspector] + public float Shape1469; + [HideInInspector] + public float Shape1470; + [HideInInspector] + public float Shape1471; + [HideInInspector] + public float Shape1472; + [HideInInspector] + public float Shape1473; + [HideInInspector] + public float Shape1474; + [HideInInspector] + public float Shape1475; + [HideInInspector] + public float Shape1476; + [HideInInspector] + public float Shape1477; + [HideInInspector] + public float Shape1478; + [HideInInspector] + public float Shape1479; + [HideInInspector] + public float Shape1480; + [HideInInspector] + public float Shape1481; + [HideInInspector] + public float Shape1482; + [HideInInspector] + public float Shape1483; + [HideInInspector] + public float Shape1484; + [HideInInspector] + public float Shape1485; + [HideInInspector] + public float Shape1486; + [HideInInspector] + public float Shape1487; + [HideInInspector] + public float Shape1488; + [HideInInspector] + public float Shape1489; + [HideInInspector] + public float Shape1490; + [HideInInspector] + public float Shape1491; + [HideInInspector] + public float Shape1492; + [HideInInspector] + public float Shape1493; + [HideInInspector] + public float Shape1494; + [HideInInspector] + public float Shape1495; + [HideInInspector] + public float Shape1496; + [HideInInspector] + public float Shape1497; + [HideInInspector] + public float Shape1498; + [HideInInspector] + public float Shape1499; + [HideInInspector] + public float Shape1500; + [HideInInspector] + public float Shape1501; + [HideInInspector] + public float Shape1502; + [HideInInspector] + public float Shape1503; + [HideInInspector] + public float Shape1504; + [HideInInspector] + public float Shape1505; + [HideInInspector] + public float Shape1506; + [HideInInspector] + public float Shape1507; + [HideInInspector] + public float Shape1508; + [HideInInspector] + public float Shape1509; + [HideInInspector] + public float Shape1510; + [HideInInspector] + public float Shape1511; + [HideInInspector] + public float Shape1512; + [HideInInspector] + public float Shape1513; + [HideInInspector] + public float Shape1514; + [HideInInspector] + public float Shape1515; + [HideInInspector] + public float Shape1516; + [HideInInspector] + public float Shape1517; + [HideInInspector] + public float Shape1518; + [HideInInspector] + public float Shape1519; + [HideInInspector] + public float Shape1520; + [HideInInspector] + public float Shape1521; + [HideInInspector] + public float Shape1522; + [HideInInspector] + public float Shape1523; + [HideInInspector] + public float Shape1524; + [HideInInspector] + public float Shape1525; + [HideInInspector] + public float Shape1526; + [HideInInspector] + public float Shape1527; + [HideInInspector] + public float Shape1528; + [HideInInspector] + public float Shape1529; + [HideInInspector] + public float Shape1530; + [HideInInspector] + public float Shape1531; + [HideInInspector] + public float Shape1532; + [HideInInspector] + public float Shape1533; + [HideInInspector] + public float Shape1534; + [HideInInspector] + public float Shape1535; + [HideInInspector] + public float Shape1536; + [HideInInspector] + public float Shape1537; + [HideInInspector] + public float Shape1538; + [HideInInspector] + public float Shape1539; + [HideInInspector] + public float Shape1540; + [HideInInspector] + public float Shape1541; + [HideInInspector] + public float Shape1542; + [HideInInspector] + public float Shape1543; + [HideInInspector] + public float Shape1544; + [HideInInspector] + public float Shape1545; + [HideInInspector] + public float Shape1546; + [HideInInspector] + public float Shape1547; + [HideInInspector] + public float Shape1548; + [HideInInspector] + public float Shape1549; + [HideInInspector] + public float Shape1550; + [HideInInspector] + public float Shape1551; + [HideInInspector] + public float Shape1552; + [HideInInspector] + public float Shape1553; + [HideInInspector] + public float Shape1554; + [HideInInspector] + public float Shape1555; + [HideInInspector] + public float Shape1556; + [HideInInspector] + public float Shape1557; + [HideInInspector] + public float Shape1558; + [HideInInspector] + public float Shape1559; + [HideInInspector] + public float Shape1560; + [HideInInspector] + public float Shape1561; + [HideInInspector] + public float Shape1562; + [HideInInspector] + public float Shape1563; + [HideInInspector] + public float Shape1564; + [HideInInspector] + public float Shape1565; + [HideInInspector] + public float Shape1566; + [HideInInspector] + public float Shape1567; + [HideInInspector] + public float Shape1568; + [HideInInspector] + public float Shape1569; + [HideInInspector] + public float Shape1570; + [HideInInspector] + public float Shape1571; + [HideInInspector] + public float Shape1572; + [HideInInspector] + public float Shape1573; + [HideInInspector] + public float Shape1574; + [HideInInspector] + public float Shape1575; + [HideInInspector] + public float Shape1576; + [HideInInspector] + public float Shape1577; + [HideInInspector] + public float Shape1578; + [HideInInspector] + public float Shape1579; + [HideInInspector] + public float Shape1580; + [HideInInspector] + public float Shape1581; + [HideInInspector] + public float Shape1582; + [HideInInspector] + public float Shape1583; + [HideInInspector] + public float Shape1584; + [HideInInspector] + public float Shape1585; + [HideInInspector] + public float Shape1586; + [HideInInspector] + public float Shape1587; + [HideInInspector] + public float Shape1588; + [HideInInspector] + public float Shape1589; + [HideInInspector] + public float Shape1590; + [HideInInspector] + public float Shape1591; + [HideInInspector] + public float Shape1592; + [HideInInspector] + public float Shape1593; + [HideInInspector] + public float Shape1594; + [HideInInspector] + public float Shape1595; + [HideInInspector] + public float Shape1596; + [HideInInspector] + public float Shape1597; + [HideInInspector] + public float Shape1598; + [HideInInspector] + public float Shape1599; + [HideInInspector] + public float Shape1600; + [HideInInspector] + public float Shape1601; + [HideInInspector] + public float Shape1602; + [HideInInspector] + public float Shape1603; + [HideInInspector] + public float Shape1604; + [HideInInspector] + public float Shape1605; + [HideInInspector] + public float Shape1606; + [HideInInspector] + public float Shape1607; + [HideInInspector] + public float Shape1608; + [HideInInspector] + public float Shape1609; + [HideInInspector] + public float Shape1610; + [HideInInspector] + public float Shape1611; + [HideInInspector] + public float Shape1612; + [HideInInspector] + public float Shape1613; + [HideInInspector] + public float Shape1614; + [HideInInspector] + public float Shape1615; + [HideInInspector] + public float Shape1616; + [HideInInspector] + public float Shape1617; + [HideInInspector] + public float Shape1618; + [HideInInspector] + public float Shape1619; + [HideInInspector] + public float Shape1620; + [HideInInspector] + public float Shape1621; + [HideInInspector] + public float Shape1622; + [HideInInspector] + public float Shape1623; + [HideInInspector] + public float Shape1624; + [HideInInspector] + public float Shape1625; + [HideInInspector] + public float Shape1626; + [HideInInspector] + public float Shape1627; + [HideInInspector] + public float Shape1628; + [HideInInspector] + public float Shape1629; + [HideInInspector] + public float Shape1630; + [HideInInspector] + public float Shape1631; + [HideInInspector] + public float Shape1632; + [HideInInspector] + public float Shape1633; + [HideInInspector] + public float Shape1634; + [HideInInspector] + public float Shape1635; + [HideInInspector] + public float Shape1636; + [HideInInspector] + public float Shape1637; + [HideInInspector] + public float Shape1638; + [HideInInspector] + public float Shape1639; + [HideInInspector] + public float Shape1640; + [HideInInspector] + public float Shape1641; + [HideInInspector] + public float Shape1642; + [HideInInspector] + public float Shape1643; + [HideInInspector] + public float Shape1644; + [HideInInspector] + public float Shape1645; + [HideInInspector] + public float Shape1646; + [HideInInspector] + public float Shape1647; + [HideInInspector] + public float Shape1648; + [HideInInspector] + public float Shape1649; + [HideInInspector] + public float Shape1650; + [HideInInspector] + public float Shape1651; + [HideInInspector] + public float Shape1652; + [HideInInspector] + public float Shape1653; + [HideInInspector] + public float Shape1654; + [HideInInspector] + public float Shape1655; + [HideInInspector] + public float Shape1656; + [HideInInspector] + public float Shape1657; + [HideInInspector] + public float Shape1658; + [HideInInspector] + public float Shape1659; + [HideInInspector] + public float Shape1660; + [HideInInspector] + public float Shape1661; + [HideInInspector] + public float Shape1662; + [HideInInspector] + public float Shape1663; + [HideInInspector] + public float Shape1664; + [HideInInspector] + public float Shape1665; + [HideInInspector] + public float Shape1666; + [HideInInspector] + public float Shape1667; + [HideInInspector] + public float Shape1668; + [HideInInspector] + public float Shape1669; + [HideInInspector] + public float Shape1670; + [HideInInspector] + public float Shape1671; + [HideInInspector] + public float Shape1672; + [HideInInspector] + public float Shape1673; + [HideInInspector] + public float Shape1674; + [HideInInspector] + public float Shape1675; + [HideInInspector] + public float Shape1676; + [HideInInspector] + public float Shape1677; + [HideInInspector] + public float Shape1678; + [HideInInspector] + public float Shape1679; + [HideInInspector] + public float Shape1680; + [HideInInspector] + public float Shape1681; + [HideInInspector] + public float Shape1682; + [HideInInspector] + public float Shape1683; + [HideInInspector] + public float Shape1684; + [HideInInspector] + public float Shape1685; + [HideInInspector] + public float Shape1686; + [HideInInspector] + public float Shape1687; + [HideInInspector] + public float Shape1688; + [HideInInspector] + public float Shape1689; + [HideInInspector] + public float Shape1690; + [HideInInspector] + public float Shape1691; + [HideInInspector] + public float Shape1692; + [HideInInspector] + public float Shape1693; + [HideInInspector] + public float Shape1694; + [HideInInspector] + public float Shape1695; + [HideInInspector] + public float Shape1696; + [HideInInspector] + public float Shape1697; + [HideInInspector] + public float Shape1698; + [HideInInspector] + public float Shape1699; + [HideInInspector] + public float Shape1700; + [HideInInspector] + public float Shape1701; + [HideInInspector] + public float Shape1702; + [HideInInspector] + public float Shape1703; + [HideInInspector] + public float Shape1704; + [HideInInspector] + public float Shape1705; + [HideInInspector] + public float Shape1706; + [HideInInspector] + public float Shape1707; + [HideInInspector] + public float Shape1708; + [HideInInspector] + public float Shape1709; + [HideInInspector] + public float Shape1710; + [HideInInspector] + public float Shape1711; + [HideInInspector] + public float Shape1712; + [HideInInspector] + public float Shape1713; + [HideInInspector] + public float Shape1714; + [HideInInspector] + public float Shape1715; + [HideInInspector] + public float Shape1716; + [HideInInspector] + public float Shape1717; + [HideInInspector] + public float Shape1718; + [HideInInspector] + public float Shape1719; + [HideInInspector] + public float Shape1720; + [HideInInspector] + public float Shape1721; + [HideInInspector] + public float Shape1722; + [HideInInspector] + public float Shape1723; + [HideInInspector] + public float Shape1724; + [HideInInspector] + public float Shape1725; + [HideInInspector] + public float Shape1726; + [HideInInspector] + public float Shape1727; + [HideInInspector] + public float Shape1728; + [HideInInspector] + public float Shape1729; + [HideInInspector] + public float Shape1730; + [HideInInspector] + public float Shape1731; + [HideInInspector] + public float Shape1732; + [HideInInspector] + public float Shape1733; + [HideInInspector] + public float Shape1734; + [HideInInspector] + public float Shape1735; + [HideInInspector] + public float Shape1736; + [HideInInspector] + public float Shape1737; + [HideInInspector] + public float Shape1738; + [HideInInspector] + public float Shape1739; + [HideInInspector] + public float Shape1740; + [HideInInspector] + public float Shape1741; + [HideInInspector] + public float Shape1742; + [HideInInspector] + public float Shape1743; + [HideInInspector] + public float Shape1744; + [HideInInspector] + public float Shape1745; + [HideInInspector] + public float Shape1746; + [HideInInspector] + public float Shape1747; + [HideInInspector] + public float Shape1748; + [HideInInspector] + public float Shape1749; + [HideInInspector] + public float Shape1750; + [HideInInspector] + public float Shape1751; + [HideInInspector] + public float Shape1752; + [HideInInspector] + public float Shape1753; + [HideInInspector] + public float Shape1754; + [HideInInspector] + public float Shape1755; + [HideInInspector] + public float Shape1756; + [HideInInspector] + public float Shape1757; + [HideInInspector] + public float Shape1758; + [HideInInspector] + public float Shape1759; + [HideInInspector] + public float Shape1760; + [HideInInspector] + public float Shape1761; + [HideInInspector] + public float Shape1762; + [HideInInspector] + public float Shape1763; + [HideInInspector] + public float Shape1764; + [HideInInspector] + public float Shape1765; + [HideInInspector] + public float Shape1766; + [HideInInspector] + public float Shape1767; + [HideInInspector] + public float Shape1768; + [HideInInspector] + public float Shape1769; + [HideInInspector] + public float Shape1770; + [HideInInspector] + public float Shape1771; + [HideInInspector] + public float Shape1772; + [HideInInspector] + public float Shape1773; + [HideInInspector] + public float Shape1774; + [HideInInspector] + public float Shape1775; + [HideInInspector] + public float Shape1776; + [HideInInspector] + public float Shape1777; + [HideInInspector] + public float Shape1778; + [HideInInspector] + public float Shape1779; + [HideInInspector] + public float Shape1780; + [HideInInspector] + public float Shape1781; + [HideInInspector] + public float Shape1782; + [HideInInspector] + public float Shape1783; + [HideInInspector] + public float Shape1784; + [HideInInspector] + public float Shape1785; + [HideInInspector] + public float Shape1786; + [HideInInspector] + public float Shape1787; + [HideInInspector] + public float Shape1788; + [HideInInspector] + public float Shape1789; + [HideInInspector] + public float Shape1790; + [HideInInspector] + public float Shape1791; + [HideInInspector] + public float Shape1792; + [HideInInspector] + public float Shape1793; + [HideInInspector] + public float Shape1794; + [HideInInspector] + public float Shape1795; + [HideInInspector] + public float Shape1796; + [HideInInspector] + public float Shape1797; + [HideInInspector] + public float Shape1798; + [HideInInspector] + public float Shape1799; + [HideInInspector] + public float Shape1800; + [HideInInspector] + public float Shape1801; + [HideInInspector] + public float Shape1802; + [HideInInspector] + public float Shape1803; + [HideInInspector] + public float Shape1804; + [HideInInspector] + public float Shape1805; + [HideInInspector] + public float Shape1806; + [HideInInspector] + public float Shape1807; + [HideInInspector] + public float Shape1808; + [HideInInspector] + public float Shape1809; + [HideInInspector] + public float Shape1810; + [HideInInspector] + public float Shape1811; + [HideInInspector] + public float Shape1812; + [HideInInspector] + public float Shape1813; + [HideInInspector] + public float Shape1814; + [HideInInspector] + public float Shape1815; + [HideInInspector] + public float Shape1816; + [HideInInspector] + public float Shape1817; + [HideInInspector] + public float Shape1818; + [HideInInspector] + public float Shape1819; + [HideInInspector] + public float Shape1820; + [HideInInspector] + public float Shape1821; + [HideInInspector] + public float Shape1822; + [HideInInspector] + public float Shape1823; + [HideInInspector] + public float Shape1824; + [HideInInspector] + public float Shape1825; + [HideInInspector] + public float Shape1826; + [HideInInspector] + public float Shape1827; + [HideInInspector] + public float Shape1828; + [HideInInspector] + public float Shape1829; + [HideInInspector] + public float Shape1830; + [HideInInspector] + public float Shape1831; + [HideInInspector] + public float Shape1832; + [HideInInspector] + public float Shape1833; + [HideInInspector] + public float Shape1834; + [HideInInspector] + public float Shape1835; + [HideInInspector] + public float Shape1836; + [HideInInspector] + public float Shape1837; + [HideInInspector] + public float Shape1838; + [HideInInspector] + public float Shape1839; + [HideInInspector] + public float Shape1840; + [HideInInspector] + public float Shape1841; + [HideInInspector] + public float Shape1842; + [HideInInspector] + public float Shape1843; + [HideInInspector] + public float Shape1844; + [HideInInspector] + public float Shape1845; + [HideInInspector] + public float Shape1846; + [HideInInspector] + public float Shape1847; + [HideInInspector] + public float Shape1848; + [HideInInspector] + public float Shape1849; + [HideInInspector] + public float Shape1850; + [HideInInspector] + public float Shape1851; + [HideInInspector] + public float Shape1852; + [HideInInspector] + public float Shape1853; + [HideInInspector] + public float Shape1854; + [HideInInspector] + public float Shape1855; + [HideInInspector] + public float Shape1856; + [HideInInspector] + public float Shape1857; + [HideInInspector] + public float Shape1858; + [HideInInspector] + public float Shape1859; + [HideInInspector] + public float Shape1860; + [HideInInspector] + public float Shape1861; + [HideInInspector] + public float Shape1862; + [HideInInspector] + public float Shape1863; + [HideInInspector] + public float Shape1864; + [HideInInspector] + public float Shape1865; + [HideInInspector] + public float Shape1866; + [HideInInspector] + public float Shape1867; + [HideInInspector] + public float Shape1868; + [HideInInspector] + public float Shape1869; + [HideInInspector] + public float Shape1870; + [HideInInspector] + public float Shape1871; + [HideInInspector] + public float Shape1872; + [HideInInspector] + public float Shape1873; + [HideInInspector] + public float Shape1874; + [HideInInspector] + public float Shape1875; + [HideInInspector] + public float Shape1876; + [HideInInspector] + public float Shape1877; + [HideInInspector] + public float Shape1878; + [HideInInspector] + public float Shape1879; + [HideInInspector] + public float Shape1880; + [HideInInspector] + public float Shape1881; + [HideInInspector] + public float Shape1882; + [HideInInspector] + public float Shape1883; + [HideInInspector] + public float Shape1884; + [HideInInspector] + public float Shape1885; + [HideInInspector] + public float Shape1886; + [HideInInspector] + public float Shape1887; + [HideInInspector] + public float Shape1888; + [HideInInspector] + public float Shape1889; + [HideInInspector] + public float Shape1890; + [HideInInspector] + public float Shape1891; + [HideInInspector] + public float Shape1892; + [HideInInspector] + public float Shape1893; + [HideInInspector] + public float Shape1894; + [HideInInspector] + public float Shape1895; + [HideInInspector] + public float Shape1896; + [HideInInspector] + public float Shape1897; + [HideInInspector] + public float Shape1898; + [HideInInspector] + public float Shape1899; + [HideInInspector] + public float Shape1900; + [HideInInspector] + public float Shape1901; + [HideInInspector] + public float Shape1902; + [HideInInspector] + public float Shape1903; + [HideInInspector] + public float Shape1904; + [HideInInspector] + public float Shape1905; + [HideInInspector] + public float Shape1906; + [HideInInspector] + public float Shape1907; + [HideInInspector] + public float Shape1908; + [HideInInspector] + public float Shape1909; + [HideInInspector] + public float Shape1910; + [HideInInspector] + public float Shape1911; + [HideInInspector] + public float Shape1912; + [HideInInspector] + public float Shape1913; + [HideInInspector] + public float Shape1914; + [HideInInspector] + public float Shape1915; + [HideInInspector] + public float Shape1916; + [HideInInspector] + public float Shape1917; + [HideInInspector] + public float Shape1918; + [HideInInspector] + public float Shape1919; + [HideInInspector] + public float Shape1920; + [HideInInspector] + public float Shape1921; + [HideInInspector] + public float Shape1922; + [HideInInspector] + public float Shape1923; + [HideInInspector] + public float Shape1924; + [HideInInspector] + public float Shape1925; + [HideInInspector] + public float Shape1926; + [HideInInspector] + public float Shape1927; + [HideInInspector] + public float Shape1928; + [HideInInspector] + public float Shape1929; + [HideInInspector] + public float Shape1930; + [HideInInspector] + public float Shape1931; + [HideInInspector] + public float Shape1932; + [HideInInspector] + public float Shape1933; + [HideInInspector] + public float Shape1934; + [HideInInspector] + public float Shape1935; + [HideInInspector] + public float Shape1936; + [HideInInspector] + public float Shape1937; + [HideInInspector] + public float Shape1938; + [HideInInspector] + public float Shape1939; + [HideInInspector] + public float Shape1940; + [HideInInspector] + public float Shape1941; + [HideInInspector] + public float Shape1942; + [HideInInspector] + public float Shape1943; + [HideInInspector] + public float Shape1944; + [HideInInspector] + public float Shape1945; + [HideInInspector] + public float Shape1946; + [HideInInspector] + public float Shape1947; + [HideInInspector] + public float Shape1948; + [HideInInspector] + public float Shape1949; + [HideInInspector] + public float Shape1950; + [HideInInspector] + public float Shape1951; + [HideInInspector] + public float Shape1952; + [HideInInspector] + public float Shape1953; + [HideInInspector] + public float Shape1954; + [HideInInspector] + public float Shape1955; + [HideInInspector] + public float Shape1956; + [HideInInspector] + public float Shape1957; + [HideInInspector] + public float Shape1958; + [HideInInspector] + public float Shape1959; + [HideInInspector] + public float Shape1960; + [HideInInspector] + public float Shape1961; + [HideInInspector] + public float Shape1962; + [HideInInspector] + public float Shape1963; + [HideInInspector] + public float Shape1964; + [HideInInspector] + public float Shape1965; + [HideInInspector] + public float Shape1966; + [HideInInspector] + public float Shape1967; + [HideInInspector] + public float Shape1968; + [HideInInspector] + public float Shape1969; + [HideInInspector] + public float Shape1970; + [HideInInspector] + public float Shape1971; + [HideInInspector] + public float Shape1972; + [HideInInspector] + public float Shape1973; + [HideInInspector] + public float Shape1974; + [HideInInspector] + public float Shape1975; + [HideInInspector] + public float Shape1976; + [HideInInspector] + public float Shape1977; + [HideInInspector] + public float Shape1978; + [HideInInspector] + public float Shape1979; + [HideInInspector] + public float Shape1980; + [HideInInspector] + public float Shape1981; + [HideInInspector] + public float Shape1982; + [HideInInspector] + public float Shape1983; + [HideInInspector] + public float Shape1984; + [HideInInspector] + public float Shape1985; + [HideInInspector] + public float Shape1986; + [HideInInspector] + public float Shape1987; + [HideInInspector] + public float Shape1988; + [HideInInspector] + public float Shape1989; + [HideInInspector] + public float Shape1990; + [HideInInspector] + public float Shape1991; + [HideInInspector] + public float Shape1992; + [HideInInspector] + public float Shape1993; + [HideInInspector] + public float Shape1994; + [HideInInspector] + public float Shape1995; + [HideInInspector] + public float Shape1996; + [HideInInspector] + public float Shape1997; + [HideInInspector] + public float Shape1998; + [HideInInspector] + public float Shape1999; + [HideInInspector] + public float Shape2000; + [HideInInspector] + public float Shape2001; + [HideInInspector] + public float Shape2002; + [HideInInspector] + public float Shape2003; + [HideInInspector] + public float Shape2004; + [HideInInspector] + public float Shape2005; + [HideInInspector] + public float Shape2006; + [HideInInspector] + public float Shape2007; + [HideInInspector] + public float Shape2008; + [HideInInspector] + public float Shape2009; + [HideInInspector] + public float Shape2010; + [HideInInspector] + public float Shape2011; + [HideInInspector] + public float Shape2012; + [HideInInspector] + public float Shape2013; + [HideInInspector] + public float Shape2014; + [HideInInspector] + public float Shape2015; + [HideInInspector] + public float Shape2016; + [HideInInspector] + public float Shape2017; + [HideInInspector] + public float Shape2018; + [HideInInspector] + public float Shape2019; + [HideInInspector] + public float Shape2020; + [HideInInspector] + public float Shape2021; + [HideInInspector] + public float Shape2022; + [HideInInspector] + public float Shape2023; + [HideInInspector] + public float Shape2024; + [HideInInspector] + public float Shape2025; + [HideInInspector] + public float Shape2026; + [HideInInspector] + public float Shape2027; + [HideInInspector] + public float Shape2028; + [HideInInspector] + public float Shape2029; + [HideInInspector] + public float Shape2030; + [HideInInspector] + public float Shape2031; + [HideInInspector] + public float Shape2032; + [HideInInspector] + public float Shape2033; + [HideInInspector] + public float Shape2034; + [HideInInspector] + public float Shape2035; + [HideInInspector] + public float Shape2036; + [HideInInspector] + public float Shape2037; + [HideInInspector] + public float Shape2038; + [HideInInspector] + public float Shape2039; + [HideInInspector] + public float Shape2040; + [HideInInspector] + public float Shape2041; + [HideInInspector] + public float Shape2042; + [HideInInspector] + public float Shape2043; + [HideInInspector] + public float Shape2044; + [HideInInspector] + public float Shape2045; + [HideInInspector] + public float Shape2046; + [HideInInspector] + public float Shape2047; + [HideInInspector] + public float Shape2048; + #endregion + + #region fields getter + public float GetFieldValue(int index) + { + switch (index) + { + case 0: + return Shape0; + case 1: + return Shape1; + case 2: + return Shape2; + case 3: + return Shape3; + case 4: + return Shape4; + case 5: + return Shape5; + case 6: + return Shape6; + case 7: + return Shape7; + case 8: + return Shape8; + case 9: + return Shape9; + case 10: + return Shape10; + case 11: + return Shape11; + case 12: + return Shape12; + case 13: + return Shape13; + case 14: + return Shape14; + case 15: + return Shape15; + case 16: + return Shape16; + case 17: + return Shape17; + case 18: + return Shape18; + case 19: + return Shape19; + case 20: + return Shape20; + case 21: + return Shape21; + case 22: + return Shape22; + case 23: + return Shape23; + case 24: + return Shape24; + case 25: + return Shape25; + case 26: + return Shape26; + case 27: + return Shape27; + case 28: + return Shape28; + case 29: + return Shape29; + case 30: + return Shape30; + case 31: + return Shape31; + case 32: + return Shape32; + case 33: + return Shape33; + case 34: + return Shape34; + case 35: + return Shape35; + case 36: + return Shape36; + case 37: + return Shape37; + case 38: + return Shape38; + case 39: + return Shape39; + case 40: + return Shape40; + case 41: + return Shape41; + case 42: + return Shape42; + case 43: + return Shape43; + case 44: + return Shape44; + case 45: + return Shape45; + case 46: + return Shape46; + case 47: + return Shape47; + case 48: + return Shape48; + case 49: + return Shape49; + case 50: + return Shape50; + case 51: + return Shape51; + case 52: + return Shape52; + case 53: + return Shape53; + case 54: + return Shape54; + case 55: + return Shape55; + case 56: + return Shape56; + case 57: + return Shape57; + case 58: + return Shape58; + case 59: + return Shape59; + case 60: + return Shape60; + case 61: + return Shape61; + case 62: + return Shape62; + case 63: + return Shape63; + case 64: + return Shape64; + case 65: + return Shape65; + case 66: + return Shape66; + case 67: + return Shape67; + case 68: + return Shape68; + case 69: + return Shape69; + case 70: + return Shape70; + case 71: + return Shape71; + case 72: + return Shape72; + case 73: + return Shape73; + case 74: + return Shape74; + case 75: + return Shape75; + case 76: + return Shape76; + case 77: + return Shape77; + case 78: + return Shape78; + case 79: + return Shape79; + case 80: + return Shape80; + case 81: + return Shape81; + case 82: + return Shape82; + case 83: + return Shape83; + case 84: + return Shape84; + case 85: + return Shape85; + case 86: + return Shape86; + case 87: + return Shape87; + case 88: + return Shape88; + case 89: + return Shape89; + case 90: + return Shape90; + case 91: + return Shape91; + case 92: + return Shape92; + case 93: + return Shape93; + case 94: + return Shape94; + case 95: + return Shape95; + case 96: + return Shape96; + case 97: + return Shape97; + case 98: + return Shape98; + case 99: + return Shape99; + case 100: + return Shape100; + case 101: + return Shape101; + case 102: + return Shape102; + case 103: + return Shape103; + case 104: + return Shape104; + case 105: + return Shape105; + case 106: + return Shape106; + case 107: + return Shape107; + case 108: + return Shape108; + case 109: + return Shape109; + case 110: + return Shape110; + case 111: + return Shape111; + case 112: + return Shape112; + case 113: + return Shape113; + case 114: + return Shape114; + case 115: + return Shape115; + case 116: + return Shape116; + case 117: + return Shape117; + case 118: + return Shape118; + case 119: + return Shape119; + case 120: + return Shape120; + case 121: + return Shape121; + case 122: + return Shape122; + case 123: + return Shape123; + case 124: + return Shape124; + case 125: + return Shape125; + case 126: + return Shape126; + case 127: + return Shape127; + case 128: + return Shape128; + case 129: + return Shape129; + case 130: + return Shape130; + case 131: + return Shape131; + case 132: + return Shape132; + case 133: + return Shape133; + case 134: + return Shape134; + case 135: + return Shape135; + case 136: + return Shape136; + case 137: + return Shape137; + case 138: + return Shape138; + case 139: + return Shape139; + case 140: + return Shape140; + case 141: + return Shape141; + case 142: + return Shape142; + case 143: + return Shape143; + case 144: + return Shape144; + case 145: + return Shape145; + case 146: + return Shape146; + case 147: + return Shape147; + case 148: + return Shape148; + case 149: + return Shape149; + case 150: + return Shape150; + case 151: + return Shape151; + case 152: + return Shape152; + case 153: + return Shape153; + case 154: + return Shape154; + case 155: + return Shape155; + case 156: + return Shape156; + case 157: + return Shape157; + case 158: + return Shape158; + case 159: + return Shape159; + case 160: + return Shape160; + case 161: + return Shape161; + case 162: + return Shape162; + case 163: + return Shape163; + case 164: + return Shape164; + case 165: + return Shape165; + case 166: + return Shape166; + case 167: + return Shape167; + case 168: + return Shape168; + case 169: + return Shape169; + case 170: + return Shape170; + case 171: + return Shape171; + case 172: + return Shape172; + case 173: + return Shape173; + case 174: + return Shape174; + case 175: + return Shape175; + case 176: + return Shape176; + case 177: + return Shape177; + case 178: + return Shape178; + case 179: + return Shape179; + case 180: + return Shape180; + case 181: + return Shape181; + case 182: + return Shape182; + case 183: + return Shape183; + case 184: + return Shape184; + case 185: + return Shape185; + case 186: + return Shape186; + case 187: + return Shape187; + case 188: + return Shape188; + case 189: + return Shape189; + case 190: + return Shape190; + case 191: + return Shape191; + case 192: + return Shape192; + case 193: + return Shape193; + case 194: + return Shape194; + case 195: + return Shape195; + case 196: + return Shape196; + case 197: + return Shape197; + case 198: + return Shape198; + case 199: + return Shape199; + case 200: + return Shape200; + case 201: + return Shape201; + case 202: + return Shape202; + case 203: + return Shape203; + case 204: + return Shape204; + case 205: + return Shape205; + case 206: + return Shape206; + case 207: + return Shape207; + case 208: + return Shape208; + case 209: + return Shape209; + case 210: + return Shape210; + case 211: + return Shape211; + case 212: + return Shape212; + case 213: + return Shape213; + case 214: + return Shape214; + case 215: + return Shape215; + case 216: + return Shape216; + case 217: + return Shape217; + case 218: + return Shape218; + case 219: + return Shape219; + case 220: + return Shape220; + case 221: + return Shape221; + case 222: + return Shape222; + case 223: + return Shape223; + case 224: + return Shape224; + case 225: + return Shape225; + case 226: + return Shape226; + case 227: + return Shape227; + case 228: + return Shape228; + case 229: + return Shape229; + case 230: + return Shape230; + case 231: + return Shape231; + case 232: + return Shape232; + case 233: + return Shape233; + case 234: + return Shape234; + case 235: + return Shape235; + case 236: + return Shape236; + case 237: + return Shape237; + case 238: + return Shape238; + case 239: + return Shape239; + case 240: + return Shape240; + case 241: + return Shape241; + case 242: + return Shape242; + case 243: + return Shape243; + case 244: + return Shape244; + case 245: + return Shape245; + case 246: + return Shape246; + case 247: + return Shape247; + case 248: + return Shape248; + case 249: + return Shape249; + case 250: + return Shape250; + case 251: + return Shape251; + case 252: + return Shape252; + case 253: + return Shape253; + case 254: + return Shape254; + case 255: + return Shape255; + case 256: + return Shape256; + case 257: + return Shape257; + case 258: + return Shape258; + case 259: + return Shape259; + case 260: + return Shape260; + case 261: + return Shape261; + case 262: + return Shape262; + case 263: + return Shape263; + case 264: + return Shape264; + case 265: + return Shape265; + case 266: + return Shape266; + case 267: + return Shape267; + case 268: + return Shape268; + case 269: + return Shape269; + case 270: + return Shape270; + case 271: + return Shape271; + case 272: + return Shape272; + case 273: + return Shape273; + case 274: + return Shape274; + case 275: + return Shape275; + case 276: + return Shape276; + case 277: + return Shape277; + case 278: + return Shape278; + case 279: + return Shape279; + case 280: + return Shape280; + case 281: + return Shape281; + case 282: + return Shape282; + case 283: + return Shape283; + case 284: + return Shape284; + case 285: + return Shape285; + case 286: + return Shape286; + case 287: + return Shape287; + case 288: + return Shape288; + case 289: + return Shape289; + case 290: + return Shape290; + case 291: + return Shape291; + case 292: + return Shape292; + case 293: + return Shape293; + case 294: + return Shape294; + case 295: + return Shape295; + case 296: + return Shape296; + case 297: + return Shape297; + case 298: + return Shape298; + case 299: + return Shape299; + case 300: + return Shape300; + case 301: + return Shape301; + case 302: + return Shape302; + case 303: + return Shape303; + case 304: + return Shape304; + case 305: + return Shape305; + case 306: + return Shape306; + case 307: + return Shape307; + case 308: + return Shape308; + case 309: + return Shape309; + case 310: + return Shape310; + case 311: + return Shape311; + case 312: + return Shape312; + case 313: + return Shape313; + case 314: + return Shape314; + case 315: + return Shape315; + case 316: + return Shape316; + case 317: + return Shape317; + case 318: + return Shape318; + case 319: + return Shape319; + case 320: + return Shape320; + case 321: + return Shape321; + case 322: + return Shape322; + case 323: + return Shape323; + case 324: + return Shape324; + case 325: + return Shape325; + case 326: + return Shape326; + case 327: + return Shape327; + case 328: + return Shape328; + case 329: + return Shape329; + case 330: + return Shape330; + case 331: + return Shape331; + case 332: + return Shape332; + case 333: + return Shape333; + case 334: + return Shape334; + case 335: + return Shape335; + case 336: + return Shape336; + case 337: + return Shape337; + case 338: + return Shape338; + case 339: + return Shape339; + case 340: + return Shape340; + case 341: + return Shape341; + case 342: + return Shape342; + case 343: + return Shape343; + case 344: + return Shape344; + case 345: + return Shape345; + case 346: + return Shape346; + case 347: + return Shape347; + case 348: + return Shape348; + case 349: + return Shape349; + case 350: + return Shape350; + case 351: + return Shape351; + case 352: + return Shape352; + case 353: + return Shape353; + case 354: + return Shape354; + case 355: + return Shape355; + case 356: + return Shape356; + case 357: + return Shape357; + case 358: + return Shape358; + case 359: + return Shape359; + case 360: + return Shape360; + case 361: + return Shape361; + case 362: + return Shape362; + case 363: + return Shape363; + case 364: + return Shape364; + case 365: + return Shape365; + case 366: + return Shape366; + case 367: + return Shape367; + case 368: + return Shape368; + case 369: + return Shape369; + case 370: + return Shape370; + case 371: + return Shape371; + case 372: + return Shape372; + case 373: + return Shape373; + case 374: + return Shape374; + case 375: + return Shape375; + case 376: + return Shape376; + case 377: + return Shape377; + case 378: + return Shape378; + case 379: + return Shape379; + case 380: + return Shape380; + case 381: + return Shape381; + case 382: + return Shape382; + case 383: + return Shape383; + case 384: + return Shape384; + case 385: + return Shape385; + case 386: + return Shape386; + case 387: + return Shape387; + case 388: + return Shape388; + case 389: + return Shape389; + case 390: + return Shape390; + case 391: + return Shape391; + case 392: + return Shape392; + case 393: + return Shape393; + case 394: + return Shape394; + case 395: + return Shape395; + case 396: + return Shape396; + case 397: + return Shape397; + case 398: + return Shape398; + case 399: + return Shape399; + case 400: + return Shape400; + case 401: + return Shape401; + case 402: + return Shape402; + case 403: + return Shape403; + case 404: + return Shape404; + case 405: + return Shape405; + case 406: + return Shape406; + case 407: + return Shape407; + case 408: + return Shape408; + case 409: + return Shape409; + case 410: + return Shape410; + case 411: + return Shape411; + case 412: + return Shape412; + case 413: + return Shape413; + case 414: + return Shape414; + case 415: + return Shape415; + case 416: + return Shape416; + case 417: + return Shape417; + case 418: + return Shape418; + case 419: + return Shape419; + case 420: + return Shape420; + case 421: + return Shape421; + case 422: + return Shape422; + case 423: + return Shape423; + case 424: + return Shape424; + case 425: + return Shape425; + case 426: + return Shape426; + case 427: + return Shape427; + case 428: + return Shape428; + case 429: + return Shape429; + case 430: + return Shape430; + case 431: + return Shape431; + case 432: + return Shape432; + case 433: + return Shape433; + case 434: + return Shape434; + case 435: + return Shape435; + case 436: + return Shape436; + case 437: + return Shape437; + case 438: + return Shape438; + case 439: + return Shape439; + case 440: + return Shape440; + case 441: + return Shape441; + case 442: + return Shape442; + case 443: + return Shape443; + case 444: + return Shape444; + case 445: + return Shape445; + case 446: + return Shape446; + case 447: + return Shape447; + case 448: + return Shape448; + case 449: + return Shape449; + case 450: + return Shape450; + case 451: + return Shape451; + case 452: + return Shape452; + case 453: + return Shape453; + case 454: + return Shape454; + case 455: + return Shape455; + case 456: + return Shape456; + case 457: + return Shape457; + case 458: + return Shape458; + case 459: + return Shape459; + case 460: + return Shape460; + case 461: + return Shape461; + case 462: + return Shape462; + case 463: + return Shape463; + case 464: + return Shape464; + case 465: + return Shape465; + case 466: + return Shape466; + case 467: + return Shape467; + case 468: + return Shape468; + case 469: + return Shape469; + case 470: + return Shape470; + case 471: + return Shape471; + case 472: + return Shape472; + case 473: + return Shape473; + case 474: + return Shape474; + case 475: + return Shape475; + case 476: + return Shape476; + case 477: + return Shape477; + case 478: + return Shape478; + case 479: + return Shape479; + case 480: + return Shape480; + case 481: + return Shape481; + case 482: + return Shape482; + case 483: + return Shape483; + case 484: + return Shape484; + case 485: + return Shape485; + case 486: + return Shape486; + case 487: + return Shape487; + case 488: + return Shape488; + case 489: + return Shape489; + case 490: + return Shape490; + case 491: + return Shape491; + case 492: + return Shape492; + case 493: + return Shape493; + case 494: + return Shape494; + case 495: + return Shape495; + case 496: + return Shape496; + case 497: + return Shape497; + case 498: + return Shape498; + case 499: + return Shape499; + case 500: + return Shape500; + case 501: + return Shape501; + case 502: + return Shape502; + case 503: + return Shape503; + case 504: + return Shape504; + case 505: + return Shape505; + case 506: + return Shape506; + case 507: + return Shape507; + case 508: + return Shape508; + case 509: + return Shape509; + case 510: + return Shape510; + case 511: + return Shape511; + case 512: + return Shape512; + case 513: + return Shape513; + case 514: + return Shape514; + case 515: + return Shape515; + case 516: + return Shape516; + case 517: + return Shape517; + case 518: + return Shape518; + case 519: + return Shape519; + case 520: + return Shape520; + case 521: + return Shape521; + case 522: + return Shape522; + case 523: + return Shape523; + case 524: + return Shape524; + case 525: + return Shape525; + case 526: + return Shape526; + case 527: + return Shape527; + case 528: + return Shape528; + case 529: + return Shape529; + case 530: + return Shape530; + case 531: + return Shape531; + case 532: + return Shape532; + case 533: + return Shape533; + case 534: + return Shape534; + case 535: + return Shape535; + case 536: + return Shape536; + case 537: + return Shape537; + case 538: + return Shape538; + case 539: + return Shape539; + case 540: + return Shape540; + case 541: + return Shape541; + case 542: + return Shape542; + case 543: + return Shape543; + case 544: + return Shape544; + case 545: + return Shape545; + case 546: + return Shape546; + case 547: + return Shape547; + case 548: + return Shape548; + case 549: + return Shape549; + case 550: + return Shape550; + case 551: + return Shape551; + case 552: + return Shape552; + case 553: + return Shape553; + case 554: + return Shape554; + case 555: + return Shape555; + case 556: + return Shape556; + case 557: + return Shape557; + case 558: + return Shape558; + case 559: + return Shape559; + case 560: + return Shape560; + case 561: + return Shape561; + case 562: + return Shape562; + case 563: + return Shape563; + case 564: + return Shape564; + case 565: + return Shape565; + case 566: + return Shape566; + case 567: + return Shape567; + case 568: + return Shape568; + case 569: + return Shape569; + case 570: + return Shape570; + case 571: + return Shape571; + case 572: + return Shape572; + case 573: + return Shape573; + case 574: + return Shape574; + case 575: + return Shape575; + case 576: + return Shape576; + case 577: + return Shape577; + case 578: + return Shape578; + case 579: + return Shape579; + case 580: + return Shape580; + case 581: + return Shape581; + case 582: + return Shape582; + case 583: + return Shape583; + case 584: + return Shape584; + case 585: + return Shape585; + case 586: + return Shape586; + case 587: + return Shape587; + case 588: + return Shape588; + case 589: + return Shape589; + case 590: + return Shape590; + case 591: + return Shape591; + case 592: + return Shape592; + case 593: + return Shape593; + case 594: + return Shape594; + case 595: + return Shape595; + case 596: + return Shape596; + case 597: + return Shape597; + case 598: + return Shape598; + case 599: + return Shape599; + case 600: + return Shape600; + case 601: + return Shape601; + case 602: + return Shape602; + case 603: + return Shape603; + case 604: + return Shape604; + case 605: + return Shape605; + case 606: + return Shape606; + case 607: + return Shape607; + case 608: + return Shape608; + case 609: + return Shape609; + case 610: + return Shape610; + case 611: + return Shape611; + case 612: + return Shape612; + case 613: + return Shape613; + case 614: + return Shape614; + case 615: + return Shape615; + case 616: + return Shape616; + case 617: + return Shape617; + case 618: + return Shape618; + case 619: + return Shape619; + case 620: + return Shape620; + case 621: + return Shape621; + case 622: + return Shape622; + case 623: + return Shape623; + case 624: + return Shape624; + case 625: + return Shape625; + case 626: + return Shape626; + case 627: + return Shape627; + case 628: + return Shape628; + case 629: + return Shape629; + case 630: + return Shape630; + case 631: + return Shape631; + case 632: + return Shape632; + case 633: + return Shape633; + case 634: + return Shape634; + case 635: + return Shape635; + case 636: + return Shape636; + case 637: + return Shape637; + case 638: + return Shape638; + case 639: + return Shape639; + case 640: + return Shape640; + case 641: + return Shape641; + case 642: + return Shape642; + case 643: + return Shape643; + case 644: + return Shape644; + case 645: + return Shape645; + case 646: + return Shape646; + case 647: + return Shape647; + case 648: + return Shape648; + case 649: + return Shape649; + case 650: + return Shape650; + case 651: + return Shape651; + case 652: + return Shape652; + case 653: + return Shape653; + case 654: + return Shape654; + case 655: + return Shape655; + case 656: + return Shape656; + case 657: + return Shape657; + case 658: + return Shape658; + case 659: + return Shape659; + case 660: + return Shape660; + case 661: + return Shape661; + case 662: + return Shape662; + case 663: + return Shape663; + case 664: + return Shape664; + case 665: + return Shape665; + case 666: + return Shape666; + case 667: + return Shape667; + case 668: + return Shape668; + case 669: + return Shape669; + case 670: + return Shape670; + case 671: + return Shape671; + case 672: + return Shape672; + case 673: + return Shape673; + case 674: + return Shape674; + case 675: + return Shape675; + case 676: + return Shape676; + case 677: + return Shape677; + case 678: + return Shape678; + case 679: + return Shape679; + case 680: + return Shape680; + case 681: + return Shape681; + case 682: + return Shape682; + case 683: + return Shape683; + case 684: + return Shape684; + case 685: + return Shape685; + case 686: + return Shape686; + case 687: + return Shape687; + case 688: + return Shape688; + case 689: + return Shape689; + case 690: + return Shape690; + case 691: + return Shape691; + case 692: + return Shape692; + case 693: + return Shape693; + case 694: + return Shape694; + case 695: + return Shape695; + case 696: + return Shape696; + case 697: + return Shape697; + case 698: + return Shape698; + case 699: + return Shape699; + case 700: + return Shape700; + case 701: + return Shape701; + case 702: + return Shape702; + case 703: + return Shape703; + case 704: + return Shape704; + case 705: + return Shape705; + case 706: + return Shape706; + case 707: + return Shape707; + case 708: + return Shape708; + case 709: + return Shape709; + case 710: + return Shape710; + case 711: + return Shape711; + case 712: + return Shape712; + case 713: + return Shape713; + case 714: + return Shape714; + case 715: + return Shape715; + case 716: + return Shape716; + case 717: + return Shape717; + case 718: + return Shape718; + case 719: + return Shape719; + case 720: + return Shape720; + case 721: + return Shape721; + case 722: + return Shape722; + case 723: + return Shape723; + case 724: + return Shape724; + case 725: + return Shape725; + case 726: + return Shape726; + case 727: + return Shape727; + case 728: + return Shape728; + case 729: + return Shape729; + case 730: + return Shape730; + case 731: + return Shape731; + case 732: + return Shape732; + case 733: + return Shape733; + case 734: + return Shape734; + case 735: + return Shape735; + case 736: + return Shape736; + case 737: + return Shape737; + case 738: + return Shape738; + case 739: + return Shape739; + case 740: + return Shape740; + case 741: + return Shape741; + case 742: + return Shape742; + case 743: + return Shape743; + case 744: + return Shape744; + case 745: + return Shape745; + case 746: + return Shape746; + case 747: + return Shape747; + case 748: + return Shape748; + case 749: + return Shape749; + case 750: + return Shape750; + case 751: + return Shape751; + case 752: + return Shape752; + case 753: + return Shape753; + case 754: + return Shape754; + case 755: + return Shape755; + case 756: + return Shape756; + case 757: + return Shape757; + case 758: + return Shape758; + case 759: + return Shape759; + case 760: + return Shape760; + case 761: + return Shape761; + case 762: + return Shape762; + case 763: + return Shape763; + case 764: + return Shape764; + case 765: + return Shape765; + case 766: + return Shape766; + case 767: + return Shape767; + case 768: + return Shape768; + case 769: + return Shape769; + case 770: + return Shape770; + case 771: + return Shape771; + case 772: + return Shape772; + case 773: + return Shape773; + case 774: + return Shape774; + case 775: + return Shape775; + case 776: + return Shape776; + case 777: + return Shape777; + case 778: + return Shape778; + case 779: + return Shape779; + case 780: + return Shape780; + case 781: + return Shape781; + case 782: + return Shape782; + case 783: + return Shape783; + case 784: + return Shape784; + case 785: + return Shape785; + case 786: + return Shape786; + case 787: + return Shape787; + case 788: + return Shape788; + case 789: + return Shape789; + case 790: + return Shape790; + case 791: + return Shape791; + case 792: + return Shape792; + case 793: + return Shape793; + case 794: + return Shape794; + case 795: + return Shape795; + case 796: + return Shape796; + case 797: + return Shape797; + case 798: + return Shape798; + case 799: + return Shape799; + case 800: + return Shape800; + case 801: + return Shape801; + case 802: + return Shape802; + case 803: + return Shape803; + case 804: + return Shape804; + case 805: + return Shape805; + case 806: + return Shape806; + case 807: + return Shape807; + case 808: + return Shape808; + case 809: + return Shape809; + case 810: + return Shape810; + case 811: + return Shape811; + case 812: + return Shape812; + case 813: + return Shape813; + case 814: + return Shape814; + case 815: + return Shape815; + case 816: + return Shape816; + case 817: + return Shape817; + case 818: + return Shape818; + case 819: + return Shape819; + case 820: + return Shape820; + case 821: + return Shape821; + case 822: + return Shape822; + case 823: + return Shape823; + case 824: + return Shape824; + case 825: + return Shape825; + case 826: + return Shape826; + case 827: + return Shape827; + case 828: + return Shape828; + case 829: + return Shape829; + case 830: + return Shape830; + case 831: + return Shape831; + case 832: + return Shape832; + case 833: + return Shape833; + case 834: + return Shape834; + case 835: + return Shape835; + case 836: + return Shape836; + case 837: + return Shape837; + case 838: + return Shape838; + case 839: + return Shape839; + case 840: + return Shape840; + case 841: + return Shape841; + case 842: + return Shape842; + case 843: + return Shape843; + case 844: + return Shape844; + case 845: + return Shape845; + case 846: + return Shape846; + case 847: + return Shape847; + case 848: + return Shape848; + case 849: + return Shape849; + case 850: + return Shape850; + case 851: + return Shape851; + case 852: + return Shape852; + case 853: + return Shape853; + case 854: + return Shape854; + case 855: + return Shape855; + case 856: + return Shape856; + case 857: + return Shape857; + case 858: + return Shape858; + case 859: + return Shape859; + case 860: + return Shape860; + case 861: + return Shape861; + case 862: + return Shape862; + case 863: + return Shape863; + case 864: + return Shape864; + case 865: + return Shape865; + case 866: + return Shape866; + case 867: + return Shape867; + case 868: + return Shape868; + case 869: + return Shape869; + case 870: + return Shape870; + case 871: + return Shape871; + case 872: + return Shape872; + case 873: + return Shape873; + case 874: + return Shape874; + case 875: + return Shape875; + case 876: + return Shape876; + case 877: + return Shape877; + case 878: + return Shape878; + case 879: + return Shape879; + case 880: + return Shape880; + case 881: + return Shape881; + case 882: + return Shape882; + case 883: + return Shape883; + case 884: + return Shape884; + case 885: + return Shape885; + case 886: + return Shape886; + case 887: + return Shape887; + case 888: + return Shape888; + case 889: + return Shape889; + case 890: + return Shape890; + case 891: + return Shape891; + case 892: + return Shape892; + case 893: + return Shape893; + case 894: + return Shape894; + case 895: + return Shape895; + case 896: + return Shape896; + case 897: + return Shape897; + case 898: + return Shape898; + case 899: + return Shape899; + case 900: + return Shape900; + case 901: + return Shape901; + case 902: + return Shape902; + case 903: + return Shape903; + case 904: + return Shape904; + case 905: + return Shape905; + case 906: + return Shape906; + case 907: + return Shape907; + case 908: + return Shape908; + case 909: + return Shape909; + case 910: + return Shape910; + case 911: + return Shape911; + case 912: + return Shape912; + case 913: + return Shape913; + case 914: + return Shape914; + case 915: + return Shape915; + case 916: + return Shape916; + case 917: + return Shape917; + case 918: + return Shape918; + case 919: + return Shape919; + case 920: + return Shape920; + case 921: + return Shape921; + case 922: + return Shape922; + case 923: + return Shape923; + case 924: + return Shape924; + case 925: + return Shape925; + case 926: + return Shape926; + case 927: + return Shape927; + case 928: + return Shape928; + case 929: + return Shape929; + case 930: + return Shape930; + case 931: + return Shape931; + case 932: + return Shape932; + case 933: + return Shape933; + case 934: + return Shape934; + case 935: + return Shape935; + case 936: + return Shape936; + case 937: + return Shape937; + case 938: + return Shape938; + case 939: + return Shape939; + case 940: + return Shape940; + case 941: + return Shape941; + case 942: + return Shape942; + case 943: + return Shape943; + case 944: + return Shape944; + case 945: + return Shape945; + case 946: + return Shape946; + case 947: + return Shape947; + case 948: + return Shape948; + case 949: + return Shape949; + case 950: + return Shape950; + case 951: + return Shape951; + case 952: + return Shape952; + case 953: + return Shape953; + case 954: + return Shape954; + case 955: + return Shape955; + case 956: + return Shape956; + case 957: + return Shape957; + case 958: + return Shape958; + case 959: + return Shape959; + case 960: + return Shape960; + case 961: + return Shape961; + case 962: + return Shape962; + case 963: + return Shape963; + case 964: + return Shape964; + case 965: + return Shape965; + case 966: + return Shape966; + case 967: + return Shape967; + case 968: + return Shape968; + case 969: + return Shape969; + case 970: + return Shape970; + case 971: + return Shape971; + case 972: + return Shape972; + case 973: + return Shape973; + case 974: + return Shape974; + case 975: + return Shape975; + case 976: + return Shape976; + case 977: + return Shape977; + case 978: + return Shape978; + case 979: + return Shape979; + case 980: + return Shape980; + case 981: + return Shape981; + case 982: + return Shape982; + case 983: + return Shape983; + case 984: + return Shape984; + case 985: + return Shape985; + case 986: + return Shape986; + case 987: + return Shape987; + case 988: + return Shape988; + case 989: + return Shape989; + case 990: + return Shape990; + case 991: + return Shape991; + case 992: + return Shape992; + case 993: + return Shape993; + case 994: + return Shape994; + case 995: + return Shape995; + case 996: + return Shape996; + case 997: + return Shape997; + case 998: + return Shape998; + case 999: + return Shape999; + case 1000: + return Shape1000; + case 1001: + return Shape1001; + case 1002: + return Shape1002; + case 1003: + return Shape1003; + case 1004: + return Shape1004; + case 1005: + return Shape1005; + case 1006: + return Shape1006; + case 1007: + return Shape1007; + case 1008: + return Shape1008; + case 1009: + return Shape1009; + case 1010: + return Shape1010; + case 1011: + return Shape1011; + case 1012: + return Shape1012; + case 1013: + return Shape1013; + case 1014: + return Shape1014; + case 1015: + return Shape1015; + case 1016: + return Shape1016; + case 1017: + return Shape1017; + case 1018: + return Shape1018; + case 1019: + return Shape1019; + case 1020: + return Shape1020; + case 1021: + return Shape1021; + case 1022: + return Shape1022; + case 1023: + return Shape1023; + case 1024: + return Shape1024; + case 1025: + return Shape1025; + case 1026: + return Shape1026; + case 1027: + return Shape1027; + case 1028: + return Shape1028; + case 1029: + return Shape1029; + case 1030: + return Shape1030; + case 1031: + return Shape1031; + case 1032: + return Shape1032; + case 1033: + return Shape1033; + case 1034: + return Shape1034; + case 1035: + return Shape1035; + case 1036: + return Shape1036; + case 1037: + return Shape1037; + case 1038: + return Shape1038; + case 1039: + return Shape1039; + case 1040: + return Shape1040; + case 1041: + return Shape1041; + case 1042: + return Shape1042; + case 1043: + return Shape1043; + case 1044: + return Shape1044; + case 1045: + return Shape1045; + case 1046: + return Shape1046; + case 1047: + return Shape1047; + case 1048: + return Shape1048; + case 1049: + return Shape1049; + case 1050: + return Shape1050; + case 1051: + return Shape1051; + case 1052: + return Shape1052; + case 1053: + return Shape1053; + case 1054: + return Shape1054; + case 1055: + return Shape1055; + case 1056: + return Shape1056; + case 1057: + return Shape1057; + case 1058: + return Shape1058; + case 1059: + return Shape1059; + case 1060: + return Shape1060; + case 1061: + return Shape1061; + case 1062: + return Shape1062; + case 1063: + return Shape1063; + case 1064: + return Shape1064; + case 1065: + return Shape1065; + case 1066: + return Shape1066; + case 1067: + return Shape1067; + case 1068: + return Shape1068; + case 1069: + return Shape1069; + case 1070: + return Shape1070; + case 1071: + return Shape1071; + case 1072: + return Shape1072; + case 1073: + return Shape1073; + case 1074: + return Shape1074; + case 1075: + return Shape1075; + case 1076: + return Shape1076; + case 1077: + return Shape1077; + case 1078: + return Shape1078; + case 1079: + return Shape1079; + case 1080: + return Shape1080; + case 1081: + return Shape1081; + case 1082: + return Shape1082; + case 1083: + return Shape1083; + case 1084: + return Shape1084; + case 1085: + return Shape1085; + case 1086: + return Shape1086; + case 1087: + return Shape1087; + case 1088: + return Shape1088; + case 1089: + return Shape1089; + case 1090: + return Shape1090; + case 1091: + return Shape1091; + case 1092: + return Shape1092; + case 1093: + return Shape1093; + case 1094: + return Shape1094; + case 1095: + return Shape1095; + case 1096: + return Shape1096; + case 1097: + return Shape1097; + case 1098: + return Shape1098; + case 1099: + return Shape1099; + case 1100: + return Shape1100; + case 1101: + return Shape1101; + case 1102: + return Shape1102; + case 1103: + return Shape1103; + case 1104: + return Shape1104; + case 1105: + return Shape1105; + case 1106: + return Shape1106; + case 1107: + return Shape1107; + case 1108: + return Shape1108; + case 1109: + return Shape1109; + case 1110: + return Shape1110; + case 1111: + return Shape1111; + case 1112: + return Shape1112; + case 1113: + return Shape1113; + case 1114: + return Shape1114; + case 1115: + return Shape1115; + case 1116: + return Shape1116; + case 1117: + return Shape1117; + case 1118: + return Shape1118; + case 1119: + return Shape1119; + case 1120: + return Shape1120; + case 1121: + return Shape1121; + case 1122: + return Shape1122; + case 1123: + return Shape1123; + case 1124: + return Shape1124; + case 1125: + return Shape1125; + case 1126: + return Shape1126; + case 1127: + return Shape1127; + case 1128: + return Shape1128; + case 1129: + return Shape1129; + case 1130: + return Shape1130; + case 1131: + return Shape1131; + case 1132: + return Shape1132; + case 1133: + return Shape1133; + case 1134: + return Shape1134; + case 1135: + return Shape1135; + case 1136: + return Shape1136; + case 1137: + return Shape1137; + case 1138: + return Shape1138; + case 1139: + return Shape1139; + case 1140: + return Shape1140; + case 1141: + return Shape1141; + case 1142: + return Shape1142; + case 1143: + return Shape1143; + case 1144: + return Shape1144; + case 1145: + return Shape1145; + case 1146: + return Shape1146; + case 1147: + return Shape1147; + case 1148: + return Shape1148; + case 1149: + return Shape1149; + case 1150: + return Shape1150; + case 1151: + return Shape1151; + case 1152: + return Shape1152; + case 1153: + return Shape1153; + case 1154: + return Shape1154; + case 1155: + return Shape1155; + case 1156: + return Shape1156; + case 1157: + return Shape1157; + case 1158: + return Shape1158; + case 1159: + return Shape1159; + case 1160: + return Shape1160; + case 1161: + return Shape1161; + case 1162: + return Shape1162; + case 1163: + return Shape1163; + case 1164: + return Shape1164; + case 1165: + return Shape1165; + case 1166: + return Shape1166; + case 1167: + return Shape1167; + case 1168: + return Shape1168; + case 1169: + return Shape1169; + case 1170: + return Shape1170; + case 1171: + return Shape1171; + case 1172: + return Shape1172; + case 1173: + return Shape1173; + case 1174: + return Shape1174; + case 1175: + return Shape1175; + case 1176: + return Shape1176; + case 1177: + return Shape1177; + case 1178: + return Shape1178; + case 1179: + return Shape1179; + case 1180: + return Shape1180; + case 1181: + return Shape1181; + case 1182: + return Shape1182; + case 1183: + return Shape1183; + case 1184: + return Shape1184; + case 1185: + return Shape1185; + case 1186: + return Shape1186; + case 1187: + return Shape1187; + case 1188: + return Shape1188; + case 1189: + return Shape1189; + case 1190: + return Shape1190; + case 1191: + return Shape1191; + case 1192: + return Shape1192; + case 1193: + return Shape1193; + case 1194: + return Shape1194; + case 1195: + return Shape1195; + case 1196: + return Shape1196; + case 1197: + return Shape1197; + case 1198: + return Shape1198; + case 1199: + return Shape1199; + case 1200: + return Shape1200; + case 1201: + return Shape1201; + case 1202: + return Shape1202; + case 1203: + return Shape1203; + case 1204: + return Shape1204; + case 1205: + return Shape1205; + case 1206: + return Shape1206; + case 1207: + return Shape1207; + case 1208: + return Shape1208; + case 1209: + return Shape1209; + case 1210: + return Shape1210; + case 1211: + return Shape1211; + case 1212: + return Shape1212; + case 1213: + return Shape1213; + case 1214: + return Shape1214; + case 1215: + return Shape1215; + case 1216: + return Shape1216; + case 1217: + return Shape1217; + case 1218: + return Shape1218; + case 1219: + return Shape1219; + case 1220: + return Shape1220; + case 1221: + return Shape1221; + case 1222: + return Shape1222; + case 1223: + return Shape1223; + case 1224: + return Shape1224; + case 1225: + return Shape1225; + case 1226: + return Shape1226; + case 1227: + return Shape1227; + case 1228: + return Shape1228; + case 1229: + return Shape1229; + case 1230: + return Shape1230; + case 1231: + return Shape1231; + case 1232: + return Shape1232; + case 1233: + return Shape1233; + case 1234: + return Shape1234; + case 1235: + return Shape1235; + case 1236: + return Shape1236; + case 1237: + return Shape1237; + case 1238: + return Shape1238; + case 1239: + return Shape1239; + case 1240: + return Shape1240; + case 1241: + return Shape1241; + case 1242: + return Shape1242; + case 1243: + return Shape1243; + case 1244: + return Shape1244; + case 1245: + return Shape1245; + case 1246: + return Shape1246; + case 1247: + return Shape1247; + case 1248: + return Shape1248; + case 1249: + return Shape1249; + case 1250: + return Shape1250; + case 1251: + return Shape1251; + case 1252: + return Shape1252; + case 1253: + return Shape1253; + case 1254: + return Shape1254; + case 1255: + return Shape1255; + case 1256: + return Shape1256; + case 1257: + return Shape1257; + case 1258: + return Shape1258; + case 1259: + return Shape1259; + case 1260: + return Shape1260; + case 1261: + return Shape1261; + case 1262: + return Shape1262; + case 1263: + return Shape1263; + case 1264: + return Shape1264; + case 1265: + return Shape1265; + case 1266: + return Shape1266; + case 1267: + return Shape1267; + case 1268: + return Shape1268; + case 1269: + return Shape1269; + case 1270: + return Shape1270; + case 1271: + return Shape1271; + case 1272: + return Shape1272; + case 1273: + return Shape1273; + case 1274: + return Shape1274; + case 1275: + return Shape1275; + case 1276: + return Shape1276; + case 1277: + return Shape1277; + case 1278: + return Shape1278; + case 1279: + return Shape1279; + case 1280: + return Shape1280; + case 1281: + return Shape1281; + case 1282: + return Shape1282; + case 1283: + return Shape1283; + case 1284: + return Shape1284; + case 1285: + return Shape1285; + case 1286: + return Shape1286; + case 1287: + return Shape1287; + case 1288: + return Shape1288; + case 1289: + return Shape1289; + case 1290: + return Shape1290; + case 1291: + return Shape1291; + case 1292: + return Shape1292; + case 1293: + return Shape1293; + case 1294: + return Shape1294; + case 1295: + return Shape1295; + case 1296: + return Shape1296; + case 1297: + return Shape1297; + case 1298: + return Shape1298; + case 1299: + return Shape1299; + case 1300: + return Shape1300; + case 1301: + return Shape1301; + case 1302: + return Shape1302; + case 1303: + return Shape1303; + case 1304: + return Shape1304; + case 1305: + return Shape1305; + case 1306: + return Shape1306; + case 1307: + return Shape1307; + case 1308: + return Shape1308; + case 1309: + return Shape1309; + case 1310: + return Shape1310; + case 1311: + return Shape1311; + case 1312: + return Shape1312; + case 1313: + return Shape1313; + case 1314: + return Shape1314; + case 1315: + return Shape1315; + case 1316: + return Shape1316; + case 1317: + return Shape1317; + case 1318: + return Shape1318; + case 1319: + return Shape1319; + case 1320: + return Shape1320; + case 1321: + return Shape1321; + case 1322: + return Shape1322; + case 1323: + return Shape1323; + case 1324: + return Shape1324; + case 1325: + return Shape1325; + case 1326: + return Shape1326; + case 1327: + return Shape1327; + case 1328: + return Shape1328; + case 1329: + return Shape1329; + case 1330: + return Shape1330; + case 1331: + return Shape1331; + case 1332: + return Shape1332; + case 1333: + return Shape1333; + case 1334: + return Shape1334; + case 1335: + return Shape1335; + case 1336: + return Shape1336; + case 1337: + return Shape1337; + case 1338: + return Shape1338; + case 1339: + return Shape1339; + case 1340: + return Shape1340; + case 1341: + return Shape1341; + case 1342: + return Shape1342; + case 1343: + return Shape1343; + case 1344: + return Shape1344; + case 1345: + return Shape1345; + case 1346: + return Shape1346; + case 1347: + return Shape1347; + case 1348: + return Shape1348; + case 1349: + return Shape1349; + case 1350: + return Shape1350; + case 1351: + return Shape1351; + case 1352: + return Shape1352; + case 1353: + return Shape1353; + case 1354: + return Shape1354; + case 1355: + return Shape1355; + case 1356: + return Shape1356; + case 1357: + return Shape1357; + case 1358: + return Shape1358; + case 1359: + return Shape1359; + case 1360: + return Shape1360; + case 1361: + return Shape1361; + case 1362: + return Shape1362; + case 1363: + return Shape1363; + case 1364: + return Shape1364; + case 1365: + return Shape1365; + case 1366: + return Shape1366; + case 1367: + return Shape1367; + case 1368: + return Shape1368; + case 1369: + return Shape1369; + case 1370: + return Shape1370; + case 1371: + return Shape1371; + case 1372: + return Shape1372; + case 1373: + return Shape1373; + case 1374: + return Shape1374; + case 1375: + return Shape1375; + case 1376: + return Shape1376; + case 1377: + return Shape1377; + case 1378: + return Shape1378; + case 1379: + return Shape1379; + case 1380: + return Shape1380; + case 1381: + return Shape1381; + case 1382: + return Shape1382; + case 1383: + return Shape1383; + case 1384: + return Shape1384; + case 1385: + return Shape1385; + case 1386: + return Shape1386; + case 1387: + return Shape1387; + case 1388: + return Shape1388; + case 1389: + return Shape1389; + case 1390: + return Shape1390; + case 1391: + return Shape1391; + case 1392: + return Shape1392; + case 1393: + return Shape1393; + case 1394: + return Shape1394; + case 1395: + return Shape1395; + case 1396: + return Shape1396; + case 1397: + return Shape1397; + case 1398: + return Shape1398; + case 1399: + return Shape1399; + case 1400: + return Shape1400; + case 1401: + return Shape1401; + case 1402: + return Shape1402; + case 1403: + return Shape1403; + case 1404: + return Shape1404; + case 1405: + return Shape1405; + case 1406: + return Shape1406; + case 1407: + return Shape1407; + case 1408: + return Shape1408; + case 1409: + return Shape1409; + case 1410: + return Shape1410; + case 1411: + return Shape1411; + case 1412: + return Shape1412; + case 1413: + return Shape1413; + case 1414: + return Shape1414; + case 1415: + return Shape1415; + case 1416: + return Shape1416; + case 1417: + return Shape1417; + case 1418: + return Shape1418; + case 1419: + return Shape1419; + case 1420: + return Shape1420; + case 1421: + return Shape1421; + case 1422: + return Shape1422; + case 1423: + return Shape1423; + case 1424: + return Shape1424; + case 1425: + return Shape1425; + case 1426: + return Shape1426; + case 1427: + return Shape1427; + case 1428: + return Shape1428; + case 1429: + return Shape1429; + case 1430: + return Shape1430; + case 1431: + return Shape1431; + case 1432: + return Shape1432; + case 1433: + return Shape1433; + case 1434: + return Shape1434; + case 1435: + return Shape1435; + case 1436: + return Shape1436; + case 1437: + return Shape1437; + case 1438: + return Shape1438; + case 1439: + return Shape1439; + case 1440: + return Shape1440; + case 1441: + return Shape1441; + case 1442: + return Shape1442; + case 1443: + return Shape1443; + case 1444: + return Shape1444; + case 1445: + return Shape1445; + case 1446: + return Shape1446; + case 1447: + return Shape1447; + case 1448: + return Shape1448; + case 1449: + return Shape1449; + case 1450: + return Shape1450; + case 1451: + return Shape1451; + case 1452: + return Shape1452; + case 1453: + return Shape1453; + case 1454: + return Shape1454; + case 1455: + return Shape1455; + case 1456: + return Shape1456; + case 1457: + return Shape1457; + case 1458: + return Shape1458; + case 1459: + return Shape1459; + case 1460: + return Shape1460; + case 1461: + return Shape1461; + case 1462: + return Shape1462; + case 1463: + return Shape1463; + case 1464: + return Shape1464; + case 1465: + return Shape1465; + case 1466: + return Shape1466; + case 1467: + return Shape1467; + case 1468: + return Shape1468; + case 1469: + return Shape1469; + case 1470: + return Shape1470; + case 1471: + return Shape1471; + case 1472: + return Shape1472; + case 1473: + return Shape1473; + case 1474: + return Shape1474; + case 1475: + return Shape1475; + case 1476: + return Shape1476; + case 1477: + return Shape1477; + case 1478: + return Shape1478; + case 1479: + return Shape1479; + case 1480: + return Shape1480; + case 1481: + return Shape1481; + case 1482: + return Shape1482; + case 1483: + return Shape1483; + case 1484: + return Shape1484; + case 1485: + return Shape1485; + case 1486: + return Shape1486; + case 1487: + return Shape1487; + case 1488: + return Shape1488; + case 1489: + return Shape1489; + case 1490: + return Shape1490; + case 1491: + return Shape1491; + case 1492: + return Shape1492; + case 1493: + return Shape1493; + case 1494: + return Shape1494; + case 1495: + return Shape1495; + case 1496: + return Shape1496; + case 1497: + return Shape1497; + case 1498: + return Shape1498; + case 1499: + return Shape1499; + case 1500: + return Shape1500; + case 1501: + return Shape1501; + case 1502: + return Shape1502; + case 1503: + return Shape1503; + case 1504: + return Shape1504; + case 1505: + return Shape1505; + case 1506: + return Shape1506; + case 1507: + return Shape1507; + case 1508: + return Shape1508; + case 1509: + return Shape1509; + case 1510: + return Shape1510; + case 1511: + return Shape1511; + case 1512: + return Shape1512; + case 1513: + return Shape1513; + case 1514: + return Shape1514; + case 1515: + return Shape1515; + case 1516: + return Shape1516; + case 1517: + return Shape1517; + case 1518: + return Shape1518; + case 1519: + return Shape1519; + case 1520: + return Shape1520; + case 1521: + return Shape1521; + case 1522: + return Shape1522; + case 1523: + return Shape1523; + case 1524: + return Shape1524; + case 1525: + return Shape1525; + case 1526: + return Shape1526; + case 1527: + return Shape1527; + case 1528: + return Shape1528; + case 1529: + return Shape1529; + case 1530: + return Shape1530; + case 1531: + return Shape1531; + case 1532: + return Shape1532; + case 1533: + return Shape1533; + case 1534: + return Shape1534; + case 1535: + return Shape1535; + case 1536: + return Shape1536; + case 1537: + return Shape1537; + case 1538: + return Shape1538; + case 1539: + return Shape1539; + case 1540: + return Shape1540; + case 1541: + return Shape1541; + case 1542: + return Shape1542; + case 1543: + return Shape1543; + case 1544: + return Shape1544; + case 1545: + return Shape1545; + case 1546: + return Shape1546; + case 1547: + return Shape1547; + case 1548: + return Shape1548; + case 1549: + return Shape1549; + case 1550: + return Shape1550; + case 1551: + return Shape1551; + case 1552: + return Shape1552; + case 1553: + return Shape1553; + case 1554: + return Shape1554; + case 1555: + return Shape1555; + case 1556: + return Shape1556; + case 1557: + return Shape1557; + case 1558: + return Shape1558; + case 1559: + return Shape1559; + case 1560: + return Shape1560; + case 1561: + return Shape1561; + case 1562: + return Shape1562; + case 1563: + return Shape1563; + case 1564: + return Shape1564; + case 1565: + return Shape1565; + case 1566: + return Shape1566; + case 1567: + return Shape1567; + case 1568: + return Shape1568; + case 1569: + return Shape1569; + case 1570: + return Shape1570; + case 1571: + return Shape1571; + case 1572: + return Shape1572; + case 1573: + return Shape1573; + case 1574: + return Shape1574; + case 1575: + return Shape1575; + case 1576: + return Shape1576; + case 1577: + return Shape1577; + case 1578: + return Shape1578; + case 1579: + return Shape1579; + case 1580: + return Shape1580; + case 1581: + return Shape1581; + case 1582: + return Shape1582; + case 1583: + return Shape1583; + case 1584: + return Shape1584; + case 1585: + return Shape1585; + case 1586: + return Shape1586; + case 1587: + return Shape1587; + case 1588: + return Shape1588; + case 1589: + return Shape1589; + case 1590: + return Shape1590; + case 1591: + return Shape1591; + case 1592: + return Shape1592; + case 1593: + return Shape1593; + case 1594: + return Shape1594; + case 1595: + return Shape1595; + case 1596: + return Shape1596; + case 1597: + return Shape1597; + case 1598: + return Shape1598; + case 1599: + return Shape1599; + case 1600: + return Shape1600; + case 1601: + return Shape1601; + case 1602: + return Shape1602; + case 1603: + return Shape1603; + case 1604: + return Shape1604; + case 1605: + return Shape1605; + case 1606: + return Shape1606; + case 1607: + return Shape1607; + case 1608: + return Shape1608; + case 1609: + return Shape1609; + case 1610: + return Shape1610; + case 1611: + return Shape1611; + case 1612: + return Shape1612; + case 1613: + return Shape1613; + case 1614: + return Shape1614; + case 1615: + return Shape1615; + case 1616: + return Shape1616; + case 1617: + return Shape1617; + case 1618: + return Shape1618; + case 1619: + return Shape1619; + case 1620: + return Shape1620; + case 1621: + return Shape1621; + case 1622: + return Shape1622; + case 1623: + return Shape1623; + case 1624: + return Shape1624; + case 1625: + return Shape1625; + case 1626: + return Shape1626; + case 1627: + return Shape1627; + case 1628: + return Shape1628; + case 1629: + return Shape1629; + case 1630: + return Shape1630; + case 1631: + return Shape1631; + case 1632: + return Shape1632; + case 1633: + return Shape1633; + case 1634: + return Shape1634; + case 1635: + return Shape1635; + case 1636: + return Shape1636; + case 1637: + return Shape1637; + case 1638: + return Shape1638; + case 1639: + return Shape1639; + case 1640: + return Shape1640; + case 1641: + return Shape1641; + case 1642: + return Shape1642; + case 1643: + return Shape1643; + case 1644: + return Shape1644; + case 1645: + return Shape1645; + case 1646: + return Shape1646; + case 1647: + return Shape1647; + case 1648: + return Shape1648; + case 1649: + return Shape1649; + case 1650: + return Shape1650; + case 1651: + return Shape1651; + case 1652: + return Shape1652; + case 1653: + return Shape1653; + case 1654: + return Shape1654; + case 1655: + return Shape1655; + case 1656: + return Shape1656; + case 1657: + return Shape1657; + case 1658: + return Shape1658; + case 1659: + return Shape1659; + case 1660: + return Shape1660; + case 1661: + return Shape1661; + case 1662: + return Shape1662; + case 1663: + return Shape1663; + case 1664: + return Shape1664; + case 1665: + return Shape1665; + case 1666: + return Shape1666; + case 1667: + return Shape1667; + case 1668: + return Shape1668; + case 1669: + return Shape1669; + case 1670: + return Shape1670; + case 1671: + return Shape1671; + case 1672: + return Shape1672; + case 1673: + return Shape1673; + case 1674: + return Shape1674; + case 1675: + return Shape1675; + case 1676: + return Shape1676; + case 1677: + return Shape1677; + case 1678: + return Shape1678; + case 1679: + return Shape1679; + case 1680: + return Shape1680; + case 1681: + return Shape1681; + case 1682: + return Shape1682; + case 1683: + return Shape1683; + case 1684: + return Shape1684; + case 1685: + return Shape1685; + case 1686: + return Shape1686; + case 1687: + return Shape1687; + case 1688: + return Shape1688; + case 1689: + return Shape1689; + case 1690: + return Shape1690; + case 1691: + return Shape1691; + case 1692: + return Shape1692; + case 1693: + return Shape1693; + case 1694: + return Shape1694; + case 1695: + return Shape1695; + case 1696: + return Shape1696; + case 1697: + return Shape1697; + case 1698: + return Shape1698; + case 1699: + return Shape1699; + case 1700: + return Shape1700; + case 1701: + return Shape1701; + case 1702: + return Shape1702; + case 1703: + return Shape1703; + case 1704: + return Shape1704; + case 1705: + return Shape1705; + case 1706: + return Shape1706; + case 1707: + return Shape1707; + case 1708: + return Shape1708; + case 1709: + return Shape1709; + case 1710: + return Shape1710; + case 1711: + return Shape1711; + case 1712: + return Shape1712; + case 1713: + return Shape1713; + case 1714: + return Shape1714; + case 1715: + return Shape1715; + case 1716: + return Shape1716; + case 1717: + return Shape1717; + case 1718: + return Shape1718; + case 1719: + return Shape1719; + case 1720: + return Shape1720; + case 1721: + return Shape1721; + case 1722: + return Shape1722; + case 1723: + return Shape1723; + case 1724: + return Shape1724; + case 1725: + return Shape1725; + case 1726: + return Shape1726; + case 1727: + return Shape1727; + case 1728: + return Shape1728; + case 1729: + return Shape1729; + case 1730: + return Shape1730; + case 1731: + return Shape1731; + case 1732: + return Shape1732; + case 1733: + return Shape1733; + case 1734: + return Shape1734; + case 1735: + return Shape1735; + case 1736: + return Shape1736; + case 1737: + return Shape1737; + case 1738: + return Shape1738; + case 1739: + return Shape1739; + case 1740: + return Shape1740; + case 1741: + return Shape1741; + case 1742: + return Shape1742; + case 1743: + return Shape1743; + case 1744: + return Shape1744; + case 1745: + return Shape1745; + case 1746: + return Shape1746; + case 1747: + return Shape1747; + case 1748: + return Shape1748; + case 1749: + return Shape1749; + case 1750: + return Shape1750; + case 1751: + return Shape1751; + case 1752: + return Shape1752; + case 1753: + return Shape1753; + case 1754: + return Shape1754; + case 1755: + return Shape1755; + case 1756: + return Shape1756; + case 1757: + return Shape1757; + case 1758: + return Shape1758; + case 1759: + return Shape1759; + case 1760: + return Shape1760; + case 1761: + return Shape1761; + case 1762: + return Shape1762; + case 1763: + return Shape1763; + case 1764: + return Shape1764; + case 1765: + return Shape1765; + case 1766: + return Shape1766; + case 1767: + return Shape1767; + case 1768: + return Shape1768; + case 1769: + return Shape1769; + case 1770: + return Shape1770; + case 1771: + return Shape1771; + case 1772: + return Shape1772; + case 1773: + return Shape1773; + case 1774: + return Shape1774; + case 1775: + return Shape1775; + case 1776: + return Shape1776; + case 1777: + return Shape1777; + case 1778: + return Shape1778; + case 1779: + return Shape1779; + case 1780: + return Shape1780; + case 1781: + return Shape1781; + case 1782: + return Shape1782; + case 1783: + return Shape1783; + case 1784: + return Shape1784; + case 1785: + return Shape1785; + case 1786: + return Shape1786; + case 1787: + return Shape1787; + case 1788: + return Shape1788; + case 1789: + return Shape1789; + case 1790: + return Shape1790; + case 1791: + return Shape1791; + case 1792: + return Shape1792; + case 1793: + return Shape1793; + case 1794: + return Shape1794; + case 1795: + return Shape1795; + case 1796: + return Shape1796; + case 1797: + return Shape1797; + case 1798: + return Shape1798; + case 1799: + return Shape1799; + case 1800: + return Shape1800; + case 1801: + return Shape1801; + case 1802: + return Shape1802; + case 1803: + return Shape1803; + case 1804: + return Shape1804; + case 1805: + return Shape1805; + case 1806: + return Shape1806; + case 1807: + return Shape1807; + case 1808: + return Shape1808; + case 1809: + return Shape1809; + case 1810: + return Shape1810; + case 1811: + return Shape1811; + case 1812: + return Shape1812; + case 1813: + return Shape1813; + case 1814: + return Shape1814; + case 1815: + return Shape1815; + case 1816: + return Shape1816; + case 1817: + return Shape1817; + case 1818: + return Shape1818; + case 1819: + return Shape1819; + case 1820: + return Shape1820; + case 1821: + return Shape1821; + case 1822: + return Shape1822; + case 1823: + return Shape1823; + case 1824: + return Shape1824; + case 1825: + return Shape1825; + case 1826: + return Shape1826; + case 1827: + return Shape1827; + case 1828: + return Shape1828; + case 1829: + return Shape1829; + case 1830: + return Shape1830; + case 1831: + return Shape1831; + case 1832: + return Shape1832; + case 1833: + return Shape1833; + case 1834: + return Shape1834; + case 1835: + return Shape1835; + case 1836: + return Shape1836; + case 1837: + return Shape1837; + case 1838: + return Shape1838; + case 1839: + return Shape1839; + case 1840: + return Shape1840; + case 1841: + return Shape1841; + case 1842: + return Shape1842; + case 1843: + return Shape1843; + case 1844: + return Shape1844; + case 1845: + return Shape1845; + case 1846: + return Shape1846; + case 1847: + return Shape1847; + case 1848: + return Shape1848; + case 1849: + return Shape1849; + case 1850: + return Shape1850; + case 1851: + return Shape1851; + case 1852: + return Shape1852; + case 1853: + return Shape1853; + case 1854: + return Shape1854; + case 1855: + return Shape1855; + case 1856: + return Shape1856; + case 1857: + return Shape1857; + case 1858: + return Shape1858; + case 1859: + return Shape1859; + case 1860: + return Shape1860; + case 1861: + return Shape1861; + case 1862: + return Shape1862; + case 1863: + return Shape1863; + case 1864: + return Shape1864; + case 1865: + return Shape1865; + case 1866: + return Shape1866; + case 1867: + return Shape1867; + case 1868: + return Shape1868; + case 1869: + return Shape1869; + case 1870: + return Shape1870; + case 1871: + return Shape1871; + case 1872: + return Shape1872; + case 1873: + return Shape1873; + case 1874: + return Shape1874; + case 1875: + return Shape1875; + case 1876: + return Shape1876; + case 1877: + return Shape1877; + case 1878: + return Shape1878; + case 1879: + return Shape1879; + case 1880: + return Shape1880; + case 1881: + return Shape1881; + case 1882: + return Shape1882; + case 1883: + return Shape1883; + case 1884: + return Shape1884; + case 1885: + return Shape1885; + case 1886: + return Shape1886; + case 1887: + return Shape1887; + case 1888: + return Shape1888; + case 1889: + return Shape1889; + case 1890: + return Shape1890; + case 1891: + return Shape1891; + case 1892: + return Shape1892; + case 1893: + return Shape1893; + case 1894: + return Shape1894; + case 1895: + return Shape1895; + case 1896: + return Shape1896; + case 1897: + return Shape1897; + case 1898: + return Shape1898; + case 1899: + return Shape1899; + case 1900: + return Shape1900; + case 1901: + return Shape1901; + case 1902: + return Shape1902; + case 1903: + return Shape1903; + case 1904: + return Shape1904; + case 1905: + return Shape1905; + case 1906: + return Shape1906; + case 1907: + return Shape1907; + case 1908: + return Shape1908; + case 1909: + return Shape1909; + case 1910: + return Shape1910; + case 1911: + return Shape1911; + case 1912: + return Shape1912; + case 1913: + return Shape1913; + case 1914: + return Shape1914; + case 1915: + return Shape1915; + case 1916: + return Shape1916; + case 1917: + return Shape1917; + case 1918: + return Shape1918; + case 1919: + return Shape1919; + case 1920: + return Shape1920; + case 1921: + return Shape1921; + case 1922: + return Shape1922; + case 1923: + return Shape1923; + case 1924: + return Shape1924; + case 1925: + return Shape1925; + case 1926: + return Shape1926; + case 1927: + return Shape1927; + case 1928: + return Shape1928; + case 1929: + return Shape1929; + case 1930: + return Shape1930; + case 1931: + return Shape1931; + case 1932: + return Shape1932; + case 1933: + return Shape1933; + case 1934: + return Shape1934; + case 1935: + return Shape1935; + case 1936: + return Shape1936; + case 1937: + return Shape1937; + case 1938: + return Shape1938; + case 1939: + return Shape1939; + case 1940: + return Shape1940; + case 1941: + return Shape1941; + case 1942: + return Shape1942; + case 1943: + return Shape1943; + case 1944: + return Shape1944; + case 1945: + return Shape1945; + case 1946: + return Shape1946; + case 1947: + return Shape1947; + case 1948: + return Shape1948; + case 1949: + return Shape1949; + case 1950: + return Shape1950; + case 1951: + return Shape1951; + case 1952: + return Shape1952; + case 1953: + return Shape1953; + case 1954: + return Shape1954; + case 1955: + return Shape1955; + case 1956: + return Shape1956; + case 1957: + return Shape1957; + case 1958: + return Shape1958; + case 1959: + return Shape1959; + case 1960: + return Shape1960; + case 1961: + return Shape1961; + case 1962: + return Shape1962; + case 1963: + return Shape1963; + case 1964: + return Shape1964; + case 1965: + return Shape1965; + case 1966: + return Shape1966; + case 1967: + return Shape1967; + case 1968: + return Shape1968; + case 1969: + return Shape1969; + case 1970: + return Shape1970; + case 1971: + return Shape1971; + case 1972: + return Shape1972; + case 1973: + return Shape1973; + case 1974: + return Shape1974; + case 1975: + return Shape1975; + case 1976: + return Shape1976; + case 1977: + return Shape1977; + case 1978: + return Shape1978; + case 1979: + return Shape1979; + case 1980: + return Shape1980; + case 1981: + return Shape1981; + case 1982: + return Shape1982; + case 1983: + return Shape1983; + case 1984: + return Shape1984; + case 1985: + return Shape1985; + case 1986: + return Shape1986; + case 1987: + return Shape1987; + case 1988: + return Shape1988; + case 1989: + return Shape1989; + case 1990: + return Shape1990; + case 1991: + return Shape1991; + case 1992: + return Shape1992; + case 1993: + return Shape1993; + case 1994: + return Shape1994; + case 1995: + return Shape1995; + case 1996: + return Shape1996; + case 1997: + return Shape1997; + case 1998: + return Shape1998; + case 1999: + return Shape1999; + case 2000: + return Shape2000; + case 2001: + return Shape2001; + case 2002: + return Shape2002; + case 2003: + return Shape2003; + case 2004: + return Shape2004; + case 2005: + return Shape2005; + case 2006: + return Shape2006; + case 2007: + return Shape2007; + case 2008: + return Shape2008; + case 2009: + return Shape2009; + case 2010: + return Shape2010; + case 2011: + return Shape2011; + case 2012: + return Shape2012; + case 2013: + return Shape2013; + case 2014: + return Shape2014; + case 2015: + return Shape2015; + case 2016: + return Shape2016; + case 2017: + return Shape2017; + case 2018: + return Shape2018; + case 2019: + return Shape2019; + case 2020: + return Shape2020; + case 2021: + return Shape2021; + case 2022: + return Shape2022; + case 2023: + return Shape2023; + case 2024: + return Shape2024; + case 2025: + return Shape2025; + case 2026: + return Shape2026; + case 2027: + return Shape2027; + case 2028: + return Shape2028; + case 2029: + return Shape2029; + case 2030: + return Shape2030; + case 2031: + return Shape2031; + case 2032: + return Shape2032; + case 2033: + return Shape2033; + case 2034: + return Shape2034; + case 2035: + return Shape2035; + case 2036: + return Shape2036; + case 2037: + return Shape2037; + case 2038: + return Shape2038; + case 2039: + return Shape2039; + case 2040: + return Shape2040; + case 2041: + return Shape2041; + case 2042: + return Shape2042; + case 2043: + return Shape2043; + case 2044: + return Shape2044; + case 2045: + return Shape2045; + case 2046: + return Shape2046; + case 2047: + return Shape2047; + case 2048: + return Shape2048; + } + throw new IndexOutOfRangeException(); + } + #endregion + + #region fields setter + public void SetBlendShapeWeight(int index, float value) + { + switch (index) + { + case 0: + Shape0 = value; + break; + case 1: + Shape1 = value; + break; + case 2: + Shape2 = value; + break; + case 3: + Shape3 = value; + break; + case 4: + Shape4 = value; + break; + case 5: + Shape5 = value; + break; + case 6: + Shape6 = value; + break; + case 7: + Shape7 = value; + break; + case 8: + Shape8 = value; + break; + case 9: + Shape9 = value; + break; + case 10: + Shape10 = value; + break; + case 11: + Shape11 = value; + break; + case 12: + Shape12 = value; + break; + case 13: + Shape13 = value; + break; + case 14: + Shape14 = value; + break; + case 15: + Shape15 = value; + break; + case 16: + Shape16 = value; + break; + case 17: + Shape17 = value; + break; + case 18: + Shape18 = value; + break; + case 19: + Shape19 = value; + break; + case 20: + Shape20 = value; + break; + case 21: + Shape21 = value; + break; + case 22: + Shape22 = value; + break; + case 23: + Shape23 = value; + break; + case 24: + Shape24 = value; + break; + case 25: + Shape25 = value; + break; + case 26: + Shape26 = value; + break; + case 27: + Shape27 = value; + break; + case 28: + Shape28 = value; + break; + case 29: + Shape29 = value; + break; + case 30: + Shape30 = value; + break; + case 31: + Shape31 = value; + break; + case 32: + Shape32 = value; + break; + case 33: + Shape33 = value; + break; + case 34: + Shape34 = value; + break; + case 35: + Shape35 = value; + break; + case 36: + Shape36 = value; + break; + case 37: + Shape37 = value; + break; + case 38: + Shape38 = value; + break; + case 39: + Shape39 = value; + break; + case 40: + Shape40 = value; + break; + case 41: + Shape41 = value; + break; + case 42: + Shape42 = value; + break; + case 43: + Shape43 = value; + break; + case 44: + Shape44 = value; + break; + case 45: + Shape45 = value; + break; + case 46: + Shape46 = value; + break; + case 47: + Shape47 = value; + break; + case 48: + Shape48 = value; + break; + case 49: + Shape49 = value; + break; + case 50: + Shape50 = value; + break; + case 51: + Shape51 = value; + break; + case 52: + Shape52 = value; + break; + case 53: + Shape53 = value; + break; + case 54: + Shape54 = value; + break; + case 55: + Shape55 = value; + break; + case 56: + Shape56 = value; + break; + case 57: + Shape57 = value; + break; + case 58: + Shape58 = value; + break; + case 59: + Shape59 = value; + break; + case 60: + Shape60 = value; + break; + case 61: + Shape61 = value; + break; + case 62: + Shape62 = value; + break; + case 63: + Shape63 = value; + break; + case 64: + Shape64 = value; + break; + case 65: + Shape65 = value; + break; + case 66: + Shape66 = value; + break; + case 67: + Shape67 = value; + break; + case 68: + Shape68 = value; + break; + case 69: + Shape69 = value; + break; + case 70: + Shape70 = value; + break; + case 71: + Shape71 = value; + break; + case 72: + Shape72 = value; + break; + case 73: + Shape73 = value; + break; + case 74: + Shape74 = value; + break; + case 75: + Shape75 = value; + break; + case 76: + Shape76 = value; + break; + case 77: + Shape77 = value; + break; + case 78: + Shape78 = value; + break; + case 79: + Shape79 = value; + break; + case 80: + Shape80 = value; + break; + case 81: + Shape81 = value; + break; + case 82: + Shape82 = value; + break; + case 83: + Shape83 = value; + break; + case 84: + Shape84 = value; + break; + case 85: + Shape85 = value; + break; + case 86: + Shape86 = value; + break; + case 87: + Shape87 = value; + break; + case 88: + Shape88 = value; + break; + case 89: + Shape89 = value; + break; + case 90: + Shape90 = value; + break; + case 91: + Shape91 = value; + break; + case 92: + Shape92 = value; + break; + case 93: + Shape93 = value; + break; + case 94: + Shape94 = value; + break; + case 95: + Shape95 = value; + break; + case 96: + Shape96 = value; + break; + case 97: + Shape97 = value; + break; + case 98: + Shape98 = value; + break; + case 99: + Shape99 = value; + break; + case 100: + Shape100 = value; + break; + case 101: + Shape101 = value; + break; + case 102: + Shape102 = value; + break; + case 103: + Shape103 = value; + break; + case 104: + Shape104 = value; + break; + case 105: + Shape105 = value; + break; + case 106: + Shape106 = value; + break; + case 107: + Shape107 = value; + break; + case 108: + Shape108 = value; + break; + case 109: + Shape109 = value; + break; + case 110: + Shape110 = value; + break; + case 111: + Shape111 = value; + break; + case 112: + Shape112 = value; + break; + case 113: + Shape113 = value; + break; + case 114: + Shape114 = value; + break; + case 115: + Shape115 = value; + break; + case 116: + Shape116 = value; + break; + case 117: + Shape117 = value; + break; + case 118: + Shape118 = value; + break; + case 119: + Shape119 = value; + break; + case 120: + Shape120 = value; + break; + case 121: + Shape121 = value; + break; + case 122: + Shape122 = value; + break; + case 123: + Shape123 = value; + break; + case 124: + Shape124 = value; + break; + case 125: + Shape125 = value; + break; + case 126: + Shape126 = value; + break; + case 127: + Shape127 = value; + break; + case 128: + Shape128 = value; + break; + case 129: + Shape129 = value; + break; + case 130: + Shape130 = value; + break; + case 131: + Shape131 = value; + break; + case 132: + Shape132 = value; + break; + case 133: + Shape133 = value; + break; + case 134: + Shape134 = value; + break; + case 135: + Shape135 = value; + break; + case 136: + Shape136 = value; + break; + case 137: + Shape137 = value; + break; + case 138: + Shape138 = value; + break; + case 139: + Shape139 = value; + break; + case 140: + Shape140 = value; + break; + case 141: + Shape141 = value; + break; + case 142: + Shape142 = value; + break; + case 143: + Shape143 = value; + break; + case 144: + Shape144 = value; + break; + case 145: + Shape145 = value; + break; + case 146: + Shape146 = value; + break; + case 147: + Shape147 = value; + break; + case 148: + Shape148 = value; + break; + case 149: + Shape149 = value; + break; + case 150: + Shape150 = value; + break; + case 151: + Shape151 = value; + break; + case 152: + Shape152 = value; + break; + case 153: + Shape153 = value; + break; + case 154: + Shape154 = value; + break; + case 155: + Shape155 = value; + break; + case 156: + Shape156 = value; + break; + case 157: + Shape157 = value; + break; + case 158: + Shape158 = value; + break; + case 159: + Shape159 = value; + break; + case 160: + Shape160 = value; + break; + case 161: + Shape161 = value; + break; + case 162: + Shape162 = value; + break; + case 163: + Shape163 = value; + break; + case 164: + Shape164 = value; + break; + case 165: + Shape165 = value; + break; + case 166: + Shape166 = value; + break; + case 167: + Shape167 = value; + break; + case 168: + Shape168 = value; + break; + case 169: + Shape169 = value; + break; + case 170: + Shape170 = value; + break; + case 171: + Shape171 = value; + break; + case 172: + Shape172 = value; + break; + case 173: + Shape173 = value; + break; + case 174: + Shape174 = value; + break; + case 175: + Shape175 = value; + break; + case 176: + Shape176 = value; + break; + case 177: + Shape177 = value; + break; + case 178: + Shape178 = value; + break; + case 179: + Shape179 = value; + break; + case 180: + Shape180 = value; + break; + case 181: + Shape181 = value; + break; + case 182: + Shape182 = value; + break; + case 183: + Shape183 = value; + break; + case 184: + Shape184 = value; + break; + case 185: + Shape185 = value; + break; + case 186: + Shape186 = value; + break; + case 187: + Shape187 = value; + break; + case 188: + Shape188 = value; + break; + case 189: + Shape189 = value; + break; + case 190: + Shape190 = value; + break; + case 191: + Shape191 = value; + break; + case 192: + Shape192 = value; + break; + case 193: + Shape193 = value; + break; + case 194: + Shape194 = value; + break; + case 195: + Shape195 = value; + break; + case 196: + Shape196 = value; + break; + case 197: + Shape197 = value; + break; + case 198: + Shape198 = value; + break; + case 199: + Shape199 = value; + break; + case 200: + Shape200 = value; + break; + case 201: + Shape201 = value; + break; + case 202: + Shape202 = value; + break; + case 203: + Shape203 = value; + break; + case 204: + Shape204 = value; + break; + case 205: + Shape205 = value; + break; + case 206: + Shape206 = value; + break; + case 207: + Shape207 = value; + break; + case 208: + Shape208 = value; + break; + case 209: + Shape209 = value; + break; + case 210: + Shape210 = value; + break; + case 211: + Shape211 = value; + break; + case 212: + Shape212 = value; + break; + case 213: + Shape213 = value; + break; + case 214: + Shape214 = value; + break; + case 215: + Shape215 = value; + break; + case 216: + Shape216 = value; + break; + case 217: + Shape217 = value; + break; + case 218: + Shape218 = value; + break; + case 219: + Shape219 = value; + break; + case 220: + Shape220 = value; + break; + case 221: + Shape221 = value; + break; + case 222: + Shape222 = value; + break; + case 223: + Shape223 = value; + break; + case 224: + Shape224 = value; + break; + case 225: + Shape225 = value; + break; + case 226: + Shape226 = value; + break; + case 227: + Shape227 = value; + break; + case 228: + Shape228 = value; + break; + case 229: + Shape229 = value; + break; + case 230: + Shape230 = value; + break; + case 231: + Shape231 = value; + break; + case 232: + Shape232 = value; + break; + case 233: + Shape233 = value; + break; + case 234: + Shape234 = value; + break; + case 235: + Shape235 = value; + break; + case 236: + Shape236 = value; + break; + case 237: + Shape237 = value; + break; + case 238: + Shape238 = value; + break; + case 239: + Shape239 = value; + break; + case 240: + Shape240 = value; + break; + case 241: + Shape241 = value; + break; + case 242: + Shape242 = value; + break; + case 243: + Shape243 = value; + break; + case 244: + Shape244 = value; + break; + case 245: + Shape245 = value; + break; + case 246: + Shape246 = value; + break; + case 247: + Shape247 = value; + break; + case 248: + Shape248 = value; + break; + case 249: + Shape249 = value; + break; + case 250: + Shape250 = value; + break; + case 251: + Shape251 = value; + break; + case 252: + Shape252 = value; + break; + case 253: + Shape253 = value; + break; + case 254: + Shape254 = value; + break; + case 255: + Shape255 = value; + break; + case 256: + Shape256 = value; + break; + case 257: + Shape257 = value; + break; + case 258: + Shape258 = value; + break; + case 259: + Shape259 = value; + break; + case 260: + Shape260 = value; + break; + case 261: + Shape261 = value; + break; + case 262: + Shape262 = value; + break; + case 263: + Shape263 = value; + break; + case 264: + Shape264 = value; + break; + case 265: + Shape265 = value; + break; + case 266: + Shape266 = value; + break; + case 267: + Shape267 = value; + break; + case 268: + Shape268 = value; + break; + case 269: + Shape269 = value; + break; + case 270: + Shape270 = value; + break; + case 271: + Shape271 = value; + break; + case 272: + Shape272 = value; + break; + case 273: + Shape273 = value; + break; + case 274: + Shape274 = value; + break; + case 275: + Shape275 = value; + break; + case 276: + Shape276 = value; + break; + case 277: + Shape277 = value; + break; + case 278: + Shape278 = value; + break; + case 279: + Shape279 = value; + break; + case 280: + Shape280 = value; + break; + case 281: + Shape281 = value; + break; + case 282: + Shape282 = value; + break; + case 283: + Shape283 = value; + break; + case 284: + Shape284 = value; + break; + case 285: + Shape285 = value; + break; + case 286: + Shape286 = value; + break; + case 287: + Shape287 = value; + break; + case 288: + Shape288 = value; + break; + case 289: + Shape289 = value; + break; + case 290: + Shape290 = value; + break; + case 291: + Shape291 = value; + break; + case 292: + Shape292 = value; + break; + case 293: + Shape293 = value; + break; + case 294: + Shape294 = value; + break; + case 295: + Shape295 = value; + break; + case 296: + Shape296 = value; + break; + case 297: + Shape297 = value; + break; + case 298: + Shape298 = value; + break; + case 299: + Shape299 = value; + break; + case 300: + Shape300 = value; + break; + case 301: + Shape301 = value; + break; + case 302: + Shape302 = value; + break; + case 303: + Shape303 = value; + break; + case 304: + Shape304 = value; + break; + case 305: + Shape305 = value; + break; + case 306: + Shape306 = value; + break; + case 307: + Shape307 = value; + break; + case 308: + Shape308 = value; + break; + case 309: + Shape309 = value; + break; + case 310: + Shape310 = value; + break; + case 311: + Shape311 = value; + break; + case 312: + Shape312 = value; + break; + case 313: + Shape313 = value; + break; + case 314: + Shape314 = value; + break; + case 315: + Shape315 = value; + break; + case 316: + Shape316 = value; + break; + case 317: + Shape317 = value; + break; + case 318: + Shape318 = value; + break; + case 319: + Shape319 = value; + break; + case 320: + Shape320 = value; + break; + case 321: + Shape321 = value; + break; + case 322: + Shape322 = value; + break; + case 323: + Shape323 = value; + break; + case 324: + Shape324 = value; + break; + case 325: + Shape325 = value; + break; + case 326: + Shape326 = value; + break; + case 327: + Shape327 = value; + break; + case 328: + Shape328 = value; + break; + case 329: + Shape329 = value; + break; + case 330: + Shape330 = value; + break; + case 331: + Shape331 = value; + break; + case 332: + Shape332 = value; + break; + case 333: + Shape333 = value; + break; + case 334: + Shape334 = value; + break; + case 335: + Shape335 = value; + break; + case 336: + Shape336 = value; + break; + case 337: + Shape337 = value; + break; + case 338: + Shape338 = value; + break; + case 339: + Shape339 = value; + break; + case 340: + Shape340 = value; + break; + case 341: + Shape341 = value; + break; + case 342: + Shape342 = value; + break; + case 343: + Shape343 = value; + break; + case 344: + Shape344 = value; + break; + case 345: + Shape345 = value; + break; + case 346: + Shape346 = value; + break; + case 347: + Shape347 = value; + break; + case 348: + Shape348 = value; + break; + case 349: + Shape349 = value; + break; + case 350: + Shape350 = value; + break; + case 351: + Shape351 = value; + break; + case 352: + Shape352 = value; + break; + case 353: + Shape353 = value; + break; + case 354: + Shape354 = value; + break; + case 355: + Shape355 = value; + break; + case 356: + Shape356 = value; + break; + case 357: + Shape357 = value; + break; + case 358: + Shape358 = value; + break; + case 359: + Shape359 = value; + break; + case 360: + Shape360 = value; + break; + case 361: + Shape361 = value; + break; + case 362: + Shape362 = value; + break; + case 363: + Shape363 = value; + break; + case 364: + Shape364 = value; + break; + case 365: + Shape365 = value; + break; + case 366: + Shape366 = value; + break; + case 367: + Shape367 = value; + break; + case 368: + Shape368 = value; + break; + case 369: + Shape369 = value; + break; + case 370: + Shape370 = value; + break; + case 371: + Shape371 = value; + break; + case 372: + Shape372 = value; + break; + case 373: + Shape373 = value; + break; + case 374: + Shape374 = value; + break; + case 375: + Shape375 = value; + break; + case 376: + Shape376 = value; + break; + case 377: + Shape377 = value; + break; + case 378: + Shape378 = value; + break; + case 379: + Shape379 = value; + break; + case 380: + Shape380 = value; + break; + case 381: + Shape381 = value; + break; + case 382: + Shape382 = value; + break; + case 383: + Shape383 = value; + break; + case 384: + Shape384 = value; + break; + case 385: + Shape385 = value; + break; + case 386: + Shape386 = value; + break; + case 387: + Shape387 = value; + break; + case 388: + Shape388 = value; + break; + case 389: + Shape389 = value; + break; + case 390: + Shape390 = value; + break; + case 391: + Shape391 = value; + break; + case 392: + Shape392 = value; + break; + case 393: + Shape393 = value; + break; + case 394: + Shape394 = value; + break; + case 395: + Shape395 = value; + break; + case 396: + Shape396 = value; + break; + case 397: + Shape397 = value; + break; + case 398: + Shape398 = value; + break; + case 399: + Shape399 = value; + break; + case 400: + Shape400 = value; + break; + case 401: + Shape401 = value; + break; + case 402: + Shape402 = value; + break; + case 403: + Shape403 = value; + break; + case 404: + Shape404 = value; + break; + case 405: + Shape405 = value; + break; + case 406: + Shape406 = value; + break; + case 407: + Shape407 = value; + break; + case 408: + Shape408 = value; + break; + case 409: + Shape409 = value; + break; + case 410: + Shape410 = value; + break; + case 411: + Shape411 = value; + break; + case 412: + Shape412 = value; + break; + case 413: + Shape413 = value; + break; + case 414: + Shape414 = value; + break; + case 415: + Shape415 = value; + break; + case 416: + Shape416 = value; + break; + case 417: + Shape417 = value; + break; + case 418: + Shape418 = value; + break; + case 419: + Shape419 = value; + break; + case 420: + Shape420 = value; + break; + case 421: + Shape421 = value; + break; + case 422: + Shape422 = value; + break; + case 423: + Shape423 = value; + break; + case 424: + Shape424 = value; + break; + case 425: + Shape425 = value; + break; + case 426: + Shape426 = value; + break; + case 427: + Shape427 = value; + break; + case 428: + Shape428 = value; + break; + case 429: + Shape429 = value; + break; + case 430: + Shape430 = value; + break; + case 431: + Shape431 = value; + break; + case 432: + Shape432 = value; + break; + case 433: + Shape433 = value; + break; + case 434: + Shape434 = value; + break; + case 435: + Shape435 = value; + break; + case 436: + Shape436 = value; + break; + case 437: + Shape437 = value; + break; + case 438: + Shape438 = value; + break; + case 439: + Shape439 = value; + break; + case 440: + Shape440 = value; + break; + case 441: + Shape441 = value; + break; + case 442: + Shape442 = value; + break; + case 443: + Shape443 = value; + break; + case 444: + Shape444 = value; + break; + case 445: + Shape445 = value; + break; + case 446: + Shape446 = value; + break; + case 447: + Shape447 = value; + break; + case 448: + Shape448 = value; + break; + case 449: + Shape449 = value; + break; + case 450: + Shape450 = value; + break; + case 451: + Shape451 = value; + break; + case 452: + Shape452 = value; + break; + case 453: + Shape453 = value; + break; + case 454: + Shape454 = value; + break; + case 455: + Shape455 = value; + break; + case 456: + Shape456 = value; + break; + case 457: + Shape457 = value; + break; + case 458: + Shape458 = value; + break; + case 459: + Shape459 = value; + break; + case 460: + Shape460 = value; + break; + case 461: + Shape461 = value; + break; + case 462: + Shape462 = value; + break; + case 463: + Shape463 = value; + break; + case 464: + Shape464 = value; + break; + case 465: + Shape465 = value; + break; + case 466: + Shape466 = value; + break; + case 467: + Shape467 = value; + break; + case 468: + Shape468 = value; + break; + case 469: + Shape469 = value; + break; + case 470: + Shape470 = value; + break; + case 471: + Shape471 = value; + break; + case 472: + Shape472 = value; + break; + case 473: + Shape473 = value; + break; + case 474: + Shape474 = value; + break; + case 475: + Shape475 = value; + break; + case 476: + Shape476 = value; + break; + case 477: + Shape477 = value; + break; + case 478: + Shape478 = value; + break; + case 479: + Shape479 = value; + break; + case 480: + Shape480 = value; + break; + case 481: + Shape481 = value; + break; + case 482: + Shape482 = value; + break; + case 483: + Shape483 = value; + break; + case 484: + Shape484 = value; + break; + case 485: + Shape485 = value; + break; + case 486: + Shape486 = value; + break; + case 487: + Shape487 = value; + break; + case 488: + Shape488 = value; + break; + case 489: + Shape489 = value; + break; + case 490: + Shape490 = value; + break; + case 491: + Shape491 = value; + break; + case 492: + Shape492 = value; + break; + case 493: + Shape493 = value; + break; + case 494: + Shape494 = value; + break; + case 495: + Shape495 = value; + break; + case 496: + Shape496 = value; + break; + case 497: + Shape497 = value; + break; + case 498: + Shape498 = value; + break; + case 499: + Shape499 = value; + break; + case 500: + Shape500 = value; + break; + case 501: + Shape501 = value; + break; + case 502: + Shape502 = value; + break; + case 503: + Shape503 = value; + break; + case 504: + Shape504 = value; + break; + case 505: + Shape505 = value; + break; + case 506: + Shape506 = value; + break; + case 507: + Shape507 = value; + break; + case 508: + Shape508 = value; + break; + case 509: + Shape509 = value; + break; + case 510: + Shape510 = value; + break; + case 511: + Shape511 = value; + break; + case 512: + Shape512 = value; + break; + case 513: + Shape513 = value; + break; + case 514: + Shape514 = value; + break; + case 515: + Shape515 = value; + break; + case 516: + Shape516 = value; + break; + case 517: + Shape517 = value; + break; + case 518: + Shape518 = value; + break; + case 519: + Shape519 = value; + break; + case 520: + Shape520 = value; + break; + case 521: + Shape521 = value; + break; + case 522: + Shape522 = value; + break; + case 523: + Shape523 = value; + break; + case 524: + Shape524 = value; + break; + case 525: + Shape525 = value; + break; + case 526: + Shape526 = value; + break; + case 527: + Shape527 = value; + break; + case 528: + Shape528 = value; + break; + case 529: + Shape529 = value; + break; + case 530: + Shape530 = value; + break; + case 531: + Shape531 = value; + break; + case 532: + Shape532 = value; + break; + case 533: + Shape533 = value; + break; + case 534: + Shape534 = value; + break; + case 535: + Shape535 = value; + break; + case 536: + Shape536 = value; + break; + case 537: + Shape537 = value; + break; + case 538: + Shape538 = value; + break; + case 539: + Shape539 = value; + break; + case 540: + Shape540 = value; + break; + case 541: + Shape541 = value; + break; + case 542: + Shape542 = value; + break; + case 543: + Shape543 = value; + break; + case 544: + Shape544 = value; + break; + case 545: + Shape545 = value; + break; + case 546: + Shape546 = value; + break; + case 547: + Shape547 = value; + break; + case 548: + Shape548 = value; + break; + case 549: + Shape549 = value; + break; + case 550: + Shape550 = value; + break; + case 551: + Shape551 = value; + break; + case 552: + Shape552 = value; + break; + case 553: + Shape553 = value; + break; + case 554: + Shape554 = value; + break; + case 555: + Shape555 = value; + break; + case 556: + Shape556 = value; + break; + case 557: + Shape557 = value; + break; + case 558: + Shape558 = value; + break; + case 559: + Shape559 = value; + break; + case 560: + Shape560 = value; + break; + case 561: + Shape561 = value; + break; + case 562: + Shape562 = value; + break; + case 563: + Shape563 = value; + break; + case 564: + Shape564 = value; + break; + case 565: + Shape565 = value; + break; + case 566: + Shape566 = value; + break; + case 567: + Shape567 = value; + break; + case 568: + Shape568 = value; + break; + case 569: + Shape569 = value; + break; + case 570: + Shape570 = value; + break; + case 571: + Shape571 = value; + break; + case 572: + Shape572 = value; + break; + case 573: + Shape573 = value; + break; + case 574: + Shape574 = value; + break; + case 575: + Shape575 = value; + break; + case 576: + Shape576 = value; + break; + case 577: + Shape577 = value; + break; + case 578: + Shape578 = value; + break; + case 579: + Shape579 = value; + break; + case 580: + Shape580 = value; + break; + case 581: + Shape581 = value; + break; + case 582: + Shape582 = value; + break; + case 583: + Shape583 = value; + break; + case 584: + Shape584 = value; + break; + case 585: + Shape585 = value; + break; + case 586: + Shape586 = value; + break; + case 587: + Shape587 = value; + break; + case 588: + Shape588 = value; + break; + case 589: + Shape589 = value; + break; + case 590: + Shape590 = value; + break; + case 591: + Shape591 = value; + break; + case 592: + Shape592 = value; + break; + case 593: + Shape593 = value; + break; + case 594: + Shape594 = value; + break; + case 595: + Shape595 = value; + break; + case 596: + Shape596 = value; + break; + case 597: + Shape597 = value; + break; + case 598: + Shape598 = value; + break; + case 599: + Shape599 = value; + break; + case 600: + Shape600 = value; + break; + case 601: + Shape601 = value; + break; + case 602: + Shape602 = value; + break; + case 603: + Shape603 = value; + break; + case 604: + Shape604 = value; + break; + case 605: + Shape605 = value; + break; + case 606: + Shape606 = value; + break; + case 607: + Shape607 = value; + break; + case 608: + Shape608 = value; + break; + case 609: + Shape609 = value; + break; + case 610: + Shape610 = value; + break; + case 611: + Shape611 = value; + break; + case 612: + Shape612 = value; + break; + case 613: + Shape613 = value; + break; + case 614: + Shape614 = value; + break; + case 615: + Shape615 = value; + break; + case 616: + Shape616 = value; + break; + case 617: + Shape617 = value; + break; + case 618: + Shape618 = value; + break; + case 619: + Shape619 = value; + break; + case 620: + Shape620 = value; + break; + case 621: + Shape621 = value; + break; + case 622: + Shape622 = value; + break; + case 623: + Shape623 = value; + break; + case 624: + Shape624 = value; + break; + case 625: + Shape625 = value; + break; + case 626: + Shape626 = value; + break; + case 627: + Shape627 = value; + break; + case 628: + Shape628 = value; + break; + case 629: + Shape629 = value; + break; + case 630: + Shape630 = value; + break; + case 631: + Shape631 = value; + break; + case 632: + Shape632 = value; + break; + case 633: + Shape633 = value; + break; + case 634: + Shape634 = value; + break; + case 635: + Shape635 = value; + break; + case 636: + Shape636 = value; + break; + case 637: + Shape637 = value; + break; + case 638: + Shape638 = value; + break; + case 639: + Shape639 = value; + break; + case 640: + Shape640 = value; + break; + case 641: + Shape641 = value; + break; + case 642: + Shape642 = value; + break; + case 643: + Shape643 = value; + break; + case 644: + Shape644 = value; + break; + case 645: + Shape645 = value; + break; + case 646: + Shape646 = value; + break; + case 647: + Shape647 = value; + break; + case 648: + Shape648 = value; + break; + case 649: + Shape649 = value; + break; + case 650: + Shape650 = value; + break; + case 651: + Shape651 = value; + break; + case 652: + Shape652 = value; + break; + case 653: + Shape653 = value; + break; + case 654: + Shape654 = value; + break; + case 655: + Shape655 = value; + break; + case 656: + Shape656 = value; + break; + case 657: + Shape657 = value; + break; + case 658: + Shape658 = value; + break; + case 659: + Shape659 = value; + break; + case 660: + Shape660 = value; + break; + case 661: + Shape661 = value; + break; + case 662: + Shape662 = value; + break; + case 663: + Shape663 = value; + break; + case 664: + Shape664 = value; + break; + case 665: + Shape665 = value; + break; + case 666: + Shape666 = value; + break; + case 667: + Shape667 = value; + break; + case 668: + Shape668 = value; + break; + case 669: + Shape669 = value; + break; + case 670: + Shape670 = value; + break; + case 671: + Shape671 = value; + break; + case 672: + Shape672 = value; + break; + case 673: + Shape673 = value; + break; + case 674: + Shape674 = value; + break; + case 675: + Shape675 = value; + break; + case 676: + Shape676 = value; + break; + case 677: + Shape677 = value; + break; + case 678: + Shape678 = value; + break; + case 679: + Shape679 = value; + break; + case 680: + Shape680 = value; + break; + case 681: + Shape681 = value; + break; + case 682: + Shape682 = value; + break; + case 683: + Shape683 = value; + break; + case 684: + Shape684 = value; + break; + case 685: + Shape685 = value; + break; + case 686: + Shape686 = value; + break; + case 687: + Shape687 = value; + break; + case 688: + Shape688 = value; + break; + case 689: + Shape689 = value; + break; + case 690: + Shape690 = value; + break; + case 691: + Shape691 = value; + break; + case 692: + Shape692 = value; + break; + case 693: + Shape693 = value; + break; + case 694: + Shape694 = value; + break; + case 695: + Shape695 = value; + break; + case 696: + Shape696 = value; + break; + case 697: + Shape697 = value; + break; + case 698: + Shape698 = value; + break; + case 699: + Shape699 = value; + break; + case 700: + Shape700 = value; + break; + case 701: + Shape701 = value; + break; + case 702: + Shape702 = value; + break; + case 703: + Shape703 = value; + break; + case 704: + Shape704 = value; + break; + case 705: + Shape705 = value; + break; + case 706: + Shape706 = value; + break; + case 707: + Shape707 = value; + break; + case 708: + Shape708 = value; + break; + case 709: + Shape709 = value; + break; + case 710: + Shape710 = value; + break; + case 711: + Shape711 = value; + break; + case 712: + Shape712 = value; + break; + case 713: + Shape713 = value; + break; + case 714: + Shape714 = value; + break; + case 715: + Shape715 = value; + break; + case 716: + Shape716 = value; + break; + case 717: + Shape717 = value; + break; + case 718: + Shape718 = value; + break; + case 719: + Shape719 = value; + break; + case 720: + Shape720 = value; + break; + case 721: + Shape721 = value; + break; + case 722: + Shape722 = value; + break; + case 723: + Shape723 = value; + break; + case 724: + Shape724 = value; + break; + case 725: + Shape725 = value; + break; + case 726: + Shape726 = value; + break; + case 727: + Shape727 = value; + break; + case 728: + Shape728 = value; + break; + case 729: + Shape729 = value; + break; + case 730: + Shape730 = value; + break; + case 731: + Shape731 = value; + break; + case 732: + Shape732 = value; + break; + case 733: + Shape733 = value; + break; + case 734: + Shape734 = value; + break; + case 735: + Shape735 = value; + break; + case 736: + Shape736 = value; + break; + case 737: + Shape737 = value; + break; + case 738: + Shape738 = value; + break; + case 739: + Shape739 = value; + break; + case 740: + Shape740 = value; + break; + case 741: + Shape741 = value; + break; + case 742: + Shape742 = value; + break; + case 743: + Shape743 = value; + break; + case 744: + Shape744 = value; + break; + case 745: + Shape745 = value; + break; + case 746: + Shape746 = value; + break; + case 747: + Shape747 = value; + break; + case 748: + Shape748 = value; + break; + case 749: + Shape749 = value; + break; + case 750: + Shape750 = value; + break; + case 751: + Shape751 = value; + break; + case 752: + Shape752 = value; + break; + case 753: + Shape753 = value; + break; + case 754: + Shape754 = value; + break; + case 755: + Shape755 = value; + break; + case 756: + Shape756 = value; + break; + case 757: + Shape757 = value; + break; + case 758: + Shape758 = value; + break; + case 759: + Shape759 = value; + break; + case 760: + Shape760 = value; + break; + case 761: + Shape761 = value; + break; + case 762: + Shape762 = value; + break; + case 763: + Shape763 = value; + break; + case 764: + Shape764 = value; + break; + case 765: + Shape765 = value; + break; + case 766: + Shape766 = value; + break; + case 767: + Shape767 = value; + break; + case 768: + Shape768 = value; + break; + case 769: + Shape769 = value; + break; + case 770: + Shape770 = value; + break; + case 771: + Shape771 = value; + break; + case 772: + Shape772 = value; + break; + case 773: + Shape773 = value; + break; + case 774: + Shape774 = value; + break; + case 775: + Shape775 = value; + break; + case 776: + Shape776 = value; + break; + case 777: + Shape777 = value; + break; + case 778: + Shape778 = value; + break; + case 779: + Shape779 = value; + break; + case 780: + Shape780 = value; + break; + case 781: + Shape781 = value; + break; + case 782: + Shape782 = value; + break; + case 783: + Shape783 = value; + break; + case 784: + Shape784 = value; + break; + case 785: + Shape785 = value; + break; + case 786: + Shape786 = value; + break; + case 787: + Shape787 = value; + break; + case 788: + Shape788 = value; + break; + case 789: + Shape789 = value; + break; + case 790: + Shape790 = value; + break; + case 791: + Shape791 = value; + break; + case 792: + Shape792 = value; + break; + case 793: + Shape793 = value; + break; + case 794: + Shape794 = value; + break; + case 795: + Shape795 = value; + break; + case 796: + Shape796 = value; + break; + case 797: + Shape797 = value; + break; + case 798: + Shape798 = value; + break; + case 799: + Shape799 = value; + break; + case 800: + Shape800 = value; + break; + case 801: + Shape801 = value; + break; + case 802: + Shape802 = value; + break; + case 803: + Shape803 = value; + break; + case 804: + Shape804 = value; + break; + case 805: + Shape805 = value; + break; + case 806: + Shape806 = value; + break; + case 807: + Shape807 = value; + break; + case 808: + Shape808 = value; + break; + case 809: + Shape809 = value; + break; + case 810: + Shape810 = value; + break; + case 811: + Shape811 = value; + break; + case 812: + Shape812 = value; + break; + case 813: + Shape813 = value; + break; + case 814: + Shape814 = value; + break; + case 815: + Shape815 = value; + break; + case 816: + Shape816 = value; + break; + case 817: + Shape817 = value; + break; + case 818: + Shape818 = value; + break; + case 819: + Shape819 = value; + break; + case 820: + Shape820 = value; + break; + case 821: + Shape821 = value; + break; + case 822: + Shape822 = value; + break; + case 823: + Shape823 = value; + break; + case 824: + Shape824 = value; + break; + case 825: + Shape825 = value; + break; + case 826: + Shape826 = value; + break; + case 827: + Shape827 = value; + break; + case 828: + Shape828 = value; + break; + case 829: + Shape829 = value; + break; + case 830: + Shape830 = value; + break; + case 831: + Shape831 = value; + break; + case 832: + Shape832 = value; + break; + case 833: + Shape833 = value; + break; + case 834: + Shape834 = value; + break; + case 835: + Shape835 = value; + break; + case 836: + Shape836 = value; + break; + case 837: + Shape837 = value; + break; + case 838: + Shape838 = value; + break; + case 839: + Shape839 = value; + break; + case 840: + Shape840 = value; + break; + case 841: + Shape841 = value; + break; + case 842: + Shape842 = value; + break; + case 843: + Shape843 = value; + break; + case 844: + Shape844 = value; + break; + case 845: + Shape845 = value; + break; + case 846: + Shape846 = value; + break; + case 847: + Shape847 = value; + break; + case 848: + Shape848 = value; + break; + case 849: + Shape849 = value; + break; + case 850: + Shape850 = value; + break; + case 851: + Shape851 = value; + break; + case 852: + Shape852 = value; + break; + case 853: + Shape853 = value; + break; + case 854: + Shape854 = value; + break; + case 855: + Shape855 = value; + break; + case 856: + Shape856 = value; + break; + case 857: + Shape857 = value; + break; + case 858: + Shape858 = value; + break; + case 859: + Shape859 = value; + break; + case 860: + Shape860 = value; + break; + case 861: + Shape861 = value; + break; + case 862: + Shape862 = value; + break; + case 863: + Shape863 = value; + break; + case 864: + Shape864 = value; + break; + case 865: + Shape865 = value; + break; + case 866: + Shape866 = value; + break; + case 867: + Shape867 = value; + break; + case 868: + Shape868 = value; + break; + case 869: + Shape869 = value; + break; + case 870: + Shape870 = value; + break; + case 871: + Shape871 = value; + break; + case 872: + Shape872 = value; + break; + case 873: + Shape873 = value; + break; + case 874: + Shape874 = value; + break; + case 875: + Shape875 = value; + break; + case 876: + Shape876 = value; + break; + case 877: + Shape877 = value; + break; + case 878: + Shape878 = value; + break; + case 879: + Shape879 = value; + break; + case 880: + Shape880 = value; + break; + case 881: + Shape881 = value; + break; + case 882: + Shape882 = value; + break; + case 883: + Shape883 = value; + break; + case 884: + Shape884 = value; + break; + case 885: + Shape885 = value; + break; + case 886: + Shape886 = value; + break; + case 887: + Shape887 = value; + break; + case 888: + Shape888 = value; + break; + case 889: + Shape889 = value; + break; + case 890: + Shape890 = value; + break; + case 891: + Shape891 = value; + break; + case 892: + Shape892 = value; + break; + case 893: + Shape893 = value; + break; + case 894: + Shape894 = value; + break; + case 895: + Shape895 = value; + break; + case 896: + Shape896 = value; + break; + case 897: + Shape897 = value; + break; + case 898: + Shape898 = value; + break; + case 899: + Shape899 = value; + break; + case 900: + Shape900 = value; + break; + case 901: + Shape901 = value; + break; + case 902: + Shape902 = value; + break; + case 903: + Shape903 = value; + break; + case 904: + Shape904 = value; + break; + case 905: + Shape905 = value; + break; + case 906: + Shape906 = value; + break; + case 907: + Shape907 = value; + break; + case 908: + Shape908 = value; + break; + case 909: + Shape909 = value; + break; + case 910: + Shape910 = value; + break; + case 911: + Shape911 = value; + break; + case 912: + Shape912 = value; + break; + case 913: + Shape913 = value; + break; + case 914: + Shape914 = value; + break; + case 915: + Shape915 = value; + break; + case 916: + Shape916 = value; + break; + case 917: + Shape917 = value; + break; + case 918: + Shape918 = value; + break; + case 919: + Shape919 = value; + break; + case 920: + Shape920 = value; + break; + case 921: + Shape921 = value; + break; + case 922: + Shape922 = value; + break; + case 923: + Shape923 = value; + break; + case 924: + Shape924 = value; + break; + case 925: + Shape925 = value; + break; + case 926: + Shape926 = value; + break; + case 927: + Shape927 = value; + break; + case 928: + Shape928 = value; + break; + case 929: + Shape929 = value; + break; + case 930: + Shape930 = value; + break; + case 931: + Shape931 = value; + break; + case 932: + Shape932 = value; + break; + case 933: + Shape933 = value; + break; + case 934: + Shape934 = value; + break; + case 935: + Shape935 = value; + break; + case 936: + Shape936 = value; + break; + case 937: + Shape937 = value; + break; + case 938: + Shape938 = value; + break; + case 939: + Shape939 = value; + break; + case 940: + Shape940 = value; + break; + case 941: + Shape941 = value; + break; + case 942: + Shape942 = value; + break; + case 943: + Shape943 = value; + break; + case 944: + Shape944 = value; + break; + case 945: + Shape945 = value; + break; + case 946: + Shape946 = value; + break; + case 947: + Shape947 = value; + break; + case 948: + Shape948 = value; + break; + case 949: + Shape949 = value; + break; + case 950: + Shape950 = value; + break; + case 951: + Shape951 = value; + break; + case 952: + Shape952 = value; + break; + case 953: + Shape953 = value; + break; + case 954: + Shape954 = value; + break; + case 955: + Shape955 = value; + break; + case 956: + Shape956 = value; + break; + case 957: + Shape957 = value; + break; + case 958: + Shape958 = value; + break; + case 959: + Shape959 = value; + break; + case 960: + Shape960 = value; + break; + case 961: + Shape961 = value; + break; + case 962: + Shape962 = value; + break; + case 963: + Shape963 = value; + break; + case 964: + Shape964 = value; + break; + case 965: + Shape965 = value; + break; + case 966: + Shape966 = value; + break; + case 967: + Shape967 = value; + break; + case 968: + Shape968 = value; + break; + case 969: + Shape969 = value; + break; + case 970: + Shape970 = value; + break; + case 971: + Shape971 = value; + break; + case 972: + Shape972 = value; + break; + case 973: + Shape973 = value; + break; + case 974: + Shape974 = value; + break; + case 975: + Shape975 = value; + break; + case 976: + Shape976 = value; + break; + case 977: + Shape977 = value; + break; + case 978: + Shape978 = value; + break; + case 979: + Shape979 = value; + break; + case 980: + Shape980 = value; + break; + case 981: + Shape981 = value; + break; + case 982: + Shape982 = value; + break; + case 983: + Shape983 = value; + break; + case 984: + Shape984 = value; + break; + case 985: + Shape985 = value; + break; + case 986: + Shape986 = value; + break; + case 987: + Shape987 = value; + break; + case 988: + Shape988 = value; + break; + case 989: + Shape989 = value; + break; + case 990: + Shape990 = value; + break; + case 991: + Shape991 = value; + break; + case 992: + Shape992 = value; + break; + case 993: + Shape993 = value; + break; + case 994: + Shape994 = value; + break; + case 995: + Shape995 = value; + break; + case 996: + Shape996 = value; + break; + case 997: + Shape997 = value; + break; + case 998: + Shape998 = value; + break; + case 999: + Shape999 = value; + break; + case 1000: + Shape1000 = value; + break; + case 1001: + Shape1001 = value; + break; + case 1002: + Shape1002 = value; + break; + case 1003: + Shape1003 = value; + break; + case 1004: + Shape1004 = value; + break; + case 1005: + Shape1005 = value; + break; + case 1006: + Shape1006 = value; + break; + case 1007: + Shape1007 = value; + break; + case 1008: + Shape1008 = value; + break; + case 1009: + Shape1009 = value; + break; + case 1010: + Shape1010 = value; + break; + case 1011: + Shape1011 = value; + break; + case 1012: + Shape1012 = value; + break; + case 1013: + Shape1013 = value; + break; + case 1014: + Shape1014 = value; + break; + case 1015: + Shape1015 = value; + break; + case 1016: + Shape1016 = value; + break; + case 1017: + Shape1017 = value; + break; + case 1018: + Shape1018 = value; + break; + case 1019: + Shape1019 = value; + break; + case 1020: + Shape1020 = value; + break; + case 1021: + Shape1021 = value; + break; + case 1022: + Shape1022 = value; + break; + case 1023: + Shape1023 = value; + break; + case 1024: + Shape1024 = value; + break; + case 1025: + Shape1025 = value; + break; + case 1026: + Shape1026 = value; + break; + case 1027: + Shape1027 = value; + break; + case 1028: + Shape1028 = value; + break; + case 1029: + Shape1029 = value; + break; + case 1030: + Shape1030 = value; + break; + case 1031: + Shape1031 = value; + break; + case 1032: + Shape1032 = value; + break; + case 1033: + Shape1033 = value; + break; + case 1034: + Shape1034 = value; + break; + case 1035: + Shape1035 = value; + break; + case 1036: + Shape1036 = value; + break; + case 1037: + Shape1037 = value; + break; + case 1038: + Shape1038 = value; + break; + case 1039: + Shape1039 = value; + break; + case 1040: + Shape1040 = value; + break; + case 1041: + Shape1041 = value; + break; + case 1042: + Shape1042 = value; + break; + case 1043: + Shape1043 = value; + break; + case 1044: + Shape1044 = value; + break; + case 1045: + Shape1045 = value; + break; + case 1046: + Shape1046 = value; + break; + case 1047: + Shape1047 = value; + break; + case 1048: + Shape1048 = value; + break; + case 1049: + Shape1049 = value; + break; + case 1050: + Shape1050 = value; + break; + case 1051: + Shape1051 = value; + break; + case 1052: + Shape1052 = value; + break; + case 1053: + Shape1053 = value; + break; + case 1054: + Shape1054 = value; + break; + case 1055: + Shape1055 = value; + break; + case 1056: + Shape1056 = value; + break; + case 1057: + Shape1057 = value; + break; + case 1058: + Shape1058 = value; + break; + case 1059: + Shape1059 = value; + break; + case 1060: + Shape1060 = value; + break; + case 1061: + Shape1061 = value; + break; + case 1062: + Shape1062 = value; + break; + case 1063: + Shape1063 = value; + break; + case 1064: + Shape1064 = value; + break; + case 1065: + Shape1065 = value; + break; + case 1066: + Shape1066 = value; + break; + case 1067: + Shape1067 = value; + break; + case 1068: + Shape1068 = value; + break; + case 1069: + Shape1069 = value; + break; + case 1070: + Shape1070 = value; + break; + case 1071: + Shape1071 = value; + break; + case 1072: + Shape1072 = value; + break; + case 1073: + Shape1073 = value; + break; + case 1074: + Shape1074 = value; + break; + case 1075: + Shape1075 = value; + break; + case 1076: + Shape1076 = value; + break; + case 1077: + Shape1077 = value; + break; + case 1078: + Shape1078 = value; + break; + case 1079: + Shape1079 = value; + break; + case 1080: + Shape1080 = value; + break; + case 1081: + Shape1081 = value; + break; + case 1082: + Shape1082 = value; + break; + case 1083: + Shape1083 = value; + break; + case 1084: + Shape1084 = value; + break; + case 1085: + Shape1085 = value; + break; + case 1086: + Shape1086 = value; + break; + case 1087: + Shape1087 = value; + break; + case 1088: + Shape1088 = value; + break; + case 1089: + Shape1089 = value; + break; + case 1090: + Shape1090 = value; + break; + case 1091: + Shape1091 = value; + break; + case 1092: + Shape1092 = value; + break; + case 1093: + Shape1093 = value; + break; + case 1094: + Shape1094 = value; + break; + case 1095: + Shape1095 = value; + break; + case 1096: + Shape1096 = value; + break; + case 1097: + Shape1097 = value; + break; + case 1098: + Shape1098 = value; + break; + case 1099: + Shape1099 = value; + break; + case 1100: + Shape1100 = value; + break; + case 1101: + Shape1101 = value; + break; + case 1102: + Shape1102 = value; + break; + case 1103: + Shape1103 = value; + break; + case 1104: + Shape1104 = value; + break; + case 1105: + Shape1105 = value; + break; + case 1106: + Shape1106 = value; + break; + case 1107: + Shape1107 = value; + break; + case 1108: + Shape1108 = value; + break; + case 1109: + Shape1109 = value; + break; + case 1110: + Shape1110 = value; + break; + case 1111: + Shape1111 = value; + break; + case 1112: + Shape1112 = value; + break; + case 1113: + Shape1113 = value; + break; + case 1114: + Shape1114 = value; + break; + case 1115: + Shape1115 = value; + break; + case 1116: + Shape1116 = value; + break; + case 1117: + Shape1117 = value; + break; + case 1118: + Shape1118 = value; + break; + case 1119: + Shape1119 = value; + break; + case 1120: + Shape1120 = value; + break; + case 1121: + Shape1121 = value; + break; + case 1122: + Shape1122 = value; + break; + case 1123: + Shape1123 = value; + break; + case 1124: + Shape1124 = value; + break; + case 1125: + Shape1125 = value; + break; + case 1126: + Shape1126 = value; + break; + case 1127: + Shape1127 = value; + break; + case 1128: + Shape1128 = value; + break; + case 1129: + Shape1129 = value; + break; + case 1130: + Shape1130 = value; + break; + case 1131: + Shape1131 = value; + break; + case 1132: + Shape1132 = value; + break; + case 1133: + Shape1133 = value; + break; + case 1134: + Shape1134 = value; + break; + case 1135: + Shape1135 = value; + break; + case 1136: + Shape1136 = value; + break; + case 1137: + Shape1137 = value; + break; + case 1138: + Shape1138 = value; + break; + case 1139: + Shape1139 = value; + break; + case 1140: + Shape1140 = value; + break; + case 1141: + Shape1141 = value; + break; + case 1142: + Shape1142 = value; + break; + case 1143: + Shape1143 = value; + break; + case 1144: + Shape1144 = value; + break; + case 1145: + Shape1145 = value; + break; + case 1146: + Shape1146 = value; + break; + case 1147: + Shape1147 = value; + break; + case 1148: + Shape1148 = value; + break; + case 1149: + Shape1149 = value; + break; + case 1150: + Shape1150 = value; + break; + case 1151: + Shape1151 = value; + break; + case 1152: + Shape1152 = value; + break; + case 1153: + Shape1153 = value; + break; + case 1154: + Shape1154 = value; + break; + case 1155: + Shape1155 = value; + break; + case 1156: + Shape1156 = value; + break; + case 1157: + Shape1157 = value; + break; + case 1158: + Shape1158 = value; + break; + case 1159: + Shape1159 = value; + break; + case 1160: + Shape1160 = value; + break; + case 1161: + Shape1161 = value; + break; + case 1162: + Shape1162 = value; + break; + case 1163: + Shape1163 = value; + break; + case 1164: + Shape1164 = value; + break; + case 1165: + Shape1165 = value; + break; + case 1166: + Shape1166 = value; + break; + case 1167: + Shape1167 = value; + break; + case 1168: + Shape1168 = value; + break; + case 1169: + Shape1169 = value; + break; + case 1170: + Shape1170 = value; + break; + case 1171: + Shape1171 = value; + break; + case 1172: + Shape1172 = value; + break; + case 1173: + Shape1173 = value; + break; + case 1174: + Shape1174 = value; + break; + case 1175: + Shape1175 = value; + break; + case 1176: + Shape1176 = value; + break; + case 1177: + Shape1177 = value; + break; + case 1178: + Shape1178 = value; + break; + case 1179: + Shape1179 = value; + break; + case 1180: + Shape1180 = value; + break; + case 1181: + Shape1181 = value; + break; + case 1182: + Shape1182 = value; + break; + case 1183: + Shape1183 = value; + break; + case 1184: + Shape1184 = value; + break; + case 1185: + Shape1185 = value; + break; + case 1186: + Shape1186 = value; + break; + case 1187: + Shape1187 = value; + break; + case 1188: + Shape1188 = value; + break; + case 1189: + Shape1189 = value; + break; + case 1190: + Shape1190 = value; + break; + case 1191: + Shape1191 = value; + break; + case 1192: + Shape1192 = value; + break; + case 1193: + Shape1193 = value; + break; + case 1194: + Shape1194 = value; + break; + case 1195: + Shape1195 = value; + break; + case 1196: + Shape1196 = value; + break; + case 1197: + Shape1197 = value; + break; + case 1198: + Shape1198 = value; + break; + case 1199: + Shape1199 = value; + break; + case 1200: + Shape1200 = value; + break; + case 1201: + Shape1201 = value; + break; + case 1202: + Shape1202 = value; + break; + case 1203: + Shape1203 = value; + break; + case 1204: + Shape1204 = value; + break; + case 1205: + Shape1205 = value; + break; + case 1206: + Shape1206 = value; + break; + case 1207: + Shape1207 = value; + break; + case 1208: + Shape1208 = value; + break; + case 1209: + Shape1209 = value; + break; + case 1210: + Shape1210 = value; + break; + case 1211: + Shape1211 = value; + break; + case 1212: + Shape1212 = value; + break; + case 1213: + Shape1213 = value; + break; + case 1214: + Shape1214 = value; + break; + case 1215: + Shape1215 = value; + break; + case 1216: + Shape1216 = value; + break; + case 1217: + Shape1217 = value; + break; + case 1218: + Shape1218 = value; + break; + case 1219: + Shape1219 = value; + break; + case 1220: + Shape1220 = value; + break; + case 1221: + Shape1221 = value; + break; + case 1222: + Shape1222 = value; + break; + case 1223: + Shape1223 = value; + break; + case 1224: + Shape1224 = value; + break; + case 1225: + Shape1225 = value; + break; + case 1226: + Shape1226 = value; + break; + case 1227: + Shape1227 = value; + break; + case 1228: + Shape1228 = value; + break; + case 1229: + Shape1229 = value; + break; + case 1230: + Shape1230 = value; + break; + case 1231: + Shape1231 = value; + break; + case 1232: + Shape1232 = value; + break; + case 1233: + Shape1233 = value; + break; + case 1234: + Shape1234 = value; + break; + case 1235: + Shape1235 = value; + break; + case 1236: + Shape1236 = value; + break; + case 1237: + Shape1237 = value; + break; + case 1238: + Shape1238 = value; + break; + case 1239: + Shape1239 = value; + break; + case 1240: + Shape1240 = value; + break; + case 1241: + Shape1241 = value; + break; + case 1242: + Shape1242 = value; + break; + case 1243: + Shape1243 = value; + break; + case 1244: + Shape1244 = value; + break; + case 1245: + Shape1245 = value; + break; + case 1246: + Shape1246 = value; + break; + case 1247: + Shape1247 = value; + break; + case 1248: + Shape1248 = value; + break; + case 1249: + Shape1249 = value; + break; + case 1250: + Shape1250 = value; + break; + case 1251: + Shape1251 = value; + break; + case 1252: + Shape1252 = value; + break; + case 1253: + Shape1253 = value; + break; + case 1254: + Shape1254 = value; + break; + case 1255: + Shape1255 = value; + break; + case 1256: + Shape1256 = value; + break; + case 1257: + Shape1257 = value; + break; + case 1258: + Shape1258 = value; + break; + case 1259: + Shape1259 = value; + break; + case 1260: + Shape1260 = value; + break; + case 1261: + Shape1261 = value; + break; + case 1262: + Shape1262 = value; + break; + case 1263: + Shape1263 = value; + break; + case 1264: + Shape1264 = value; + break; + case 1265: + Shape1265 = value; + break; + case 1266: + Shape1266 = value; + break; + case 1267: + Shape1267 = value; + break; + case 1268: + Shape1268 = value; + break; + case 1269: + Shape1269 = value; + break; + case 1270: + Shape1270 = value; + break; + case 1271: + Shape1271 = value; + break; + case 1272: + Shape1272 = value; + break; + case 1273: + Shape1273 = value; + break; + case 1274: + Shape1274 = value; + break; + case 1275: + Shape1275 = value; + break; + case 1276: + Shape1276 = value; + break; + case 1277: + Shape1277 = value; + break; + case 1278: + Shape1278 = value; + break; + case 1279: + Shape1279 = value; + break; + case 1280: + Shape1280 = value; + break; + case 1281: + Shape1281 = value; + break; + case 1282: + Shape1282 = value; + break; + case 1283: + Shape1283 = value; + break; + case 1284: + Shape1284 = value; + break; + case 1285: + Shape1285 = value; + break; + case 1286: + Shape1286 = value; + break; + case 1287: + Shape1287 = value; + break; + case 1288: + Shape1288 = value; + break; + case 1289: + Shape1289 = value; + break; + case 1290: + Shape1290 = value; + break; + case 1291: + Shape1291 = value; + break; + case 1292: + Shape1292 = value; + break; + case 1293: + Shape1293 = value; + break; + case 1294: + Shape1294 = value; + break; + case 1295: + Shape1295 = value; + break; + case 1296: + Shape1296 = value; + break; + case 1297: + Shape1297 = value; + break; + case 1298: + Shape1298 = value; + break; + case 1299: + Shape1299 = value; + break; + case 1300: + Shape1300 = value; + break; + case 1301: + Shape1301 = value; + break; + case 1302: + Shape1302 = value; + break; + case 1303: + Shape1303 = value; + break; + case 1304: + Shape1304 = value; + break; + case 1305: + Shape1305 = value; + break; + case 1306: + Shape1306 = value; + break; + case 1307: + Shape1307 = value; + break; + case 1308: + Shape1308 = value; + break; + case 1309: + Shape1309 = value; + break; + case 1310: + Shape1310 = value; + break; + case 1311: + Shape1311 = value; + break; + case 1312: + Shape1312 = value; + break; + case 1313: + Shape1313 = value; + break; + case 1314: + Shape1314 = value; + break; + case 1315: + Shape1315 = value; + break; + case 1316: + Shape1316 = value; + break; + case 1317: + Shape1317 = value; + break; + case 1318: + Shape1318 = value; + break; + case 1319: + Shape1319 = value; + break; + case 1320: + Shape1320 = value; + break; + case 1321: + Shape1321 = value; + break; + case 1322: + Shape1322 = value; + break; + case 1323: + Shape1323 = value; + break; + case 1324: + Shape1324 = value; + break; + case 1325: + Shape1325 = value; + break; + case 1326: + Shape1326 = value; + break; + case 1327: + Shape1327 = value; + break; + case 1328: + Shape1328 = value; + break; + case 1329: + Shape1329 = value; + break; + case 1330: + Shape1330 = value; + break; + case 1331: + Shape1331 = value; + break; + case 1332: + Shape1332 = value; + break; + case 1333: + Shape1333 = value; + break; + case 1334: + Shape1334 = value; + break; + case 1335: + Shape1335 = value; + break; + case 1336: + Shape1336 = value; + break; + case 1337: + Shape1337 = value; + break; + case 1338: + Shape1338 = value; + break; + case 1339: + Shape1339 = value; + break; + case 1340: + Shape1340 = value; + break; + case 1341: + Shape1341 = value; + break; + case 1342: + Shape1342 = value; + break; + case 1343: + Shape1343 = value; + break; + case 1344: + Shape1344 = value; + break; + case 1345: + Shape1345 = value; + break; + case 1346: + Shape1346 = value; + break; + case 1347: + Shape1347 = value; + break; + case 1348: + Shape1348 = value; + break; + case 1349: + Shape1349 = value; + break; + case 1350: + Shape1350 = value; + break; + case 1351: + Shape1351 = value; + break; + case 1352: + Shape1352 = value; + break; + case 1353: + Shape1353 = value; + break; + case 1354: + Shape1354 = value; + break; + case 1355: + Shape1355 = value; + break; + case 1356: + Shape1356 = value; + break; + case 1357: + Shape1357 = value; + break; + case 1358: + Shape1358 = value; + break; + case 1359: + Shape1359 = value; + break; + case 1360: + Shape1360 = value; + break; + case 1361: + Shape1361 = value; + break; + case 1362: + Shape1362 = value; + break; + case 1363: + Shape1363 = value; + break; + case 1364: + Shape1364 = value; + break; + case 1365: + Shape1365 = value; + break; + case 1366: + Shape1366 = value; + break; + case 1367: + Shape1367 = value; + break; + case 1368: + Shape1368 = value; + break; + case 1369: + Shape1369 = value; + break; + case 1370: + Shape1370 = value; + break; + case 1371: + Shape1371 = value; + break; + case 1372: + Shape1372 = value; + break; + case 1373: + Shape1373 = value; + break; + case 1374: + Shape1374 = value; + break; + case 1375: + Shape1375 = value; + break; + case 1376: + Shape1376 = value; + break; + case 1377: + Shape1377 = value; + break; + case 1378: + Shape1378 = value; + break; + case 1379: + Shape1379 = value; + break; + case 1380: + Shape1380 = value; + break; + case 1381: + Shape1381 = value; + break; + case 1382: + Shape1382 = value; + break; + case 1383: + Shape1383 = value; + break; + case 1384: + Shape1384 = value; + break; + case 1385: + Shape1385 = value; + break; + case 1386: + Shape1386 = value; + break; + case 1387: + Shape1387 = value; + break; + case 1388: + Shape1388 = value; + break; + case 1389: + Shape1389 = value; + break; + case 1390: + Shape1390 = value; + break; + case 1391: + Shape1391 = value; + break; + case 1392: + Shape1392 = value; + break; + case 1393: + Shape1393 = value; + break; + case 1394: + Shape1394 = value; + break; + case 1395: + Shape1395 = value; + break; + case 1396: + Shape1396 = value; + break; + case 1397: + Shape1397 = value; + break; + case 1398: + Shape1398 = value; + break; + case 1399: + Shape1399 = value; + break; + case 1400: + Shape1400 = value; + break; + case 1401: + Shape1401 = value; + break; + case 1402: + Shape1402 = value; + break; + case 1403: + Shape1403 = value; + break; + case 1404: + Shape1404 = value; + break; + case 1405: + Shape1405 = value; + break; + case 1406: + Shape1406 = value; + break; + case 1407: + Shape1407 = value; + break; + case 1408: + Shape1408 = value; + break; + case 1409: + Shape1409 = value; + break; + case 1410: + Shape1410 = value; + break; + case 1411: + Shape1411 = value; + break; + case 1412: + Shape1412 = value; + break; + case 1413: + Shape1413 = value; + break; + case 1414: + Shape1414 = value; + break; + case 1415: + Shape1415 = value; + break; + case 1416: + Shape1416 = value; + break; + case 1417: + Shape1417 = value; + break; + case 1418: + Shape1418 = value; + break; + case 1419: + Shape1419 = value; + break; + case 1420: + Shape1420 = value; + break; + case 1421: + Shape1421 = value; + break; + case 1422: + Shape1422 = value; + break; + case 1423: + Shape1423 = value; + break; + case 1424: + Shape1424 = value; + break; + case 1425: + Shape1425 = value; + break; + case 1426: + Shape1426 = value; + break; + case 1427: + Shape1427 = value; + break; + case 1428: + Shape1428 = value; + break; + case 1429: + Shape1429 = value; + break; + case 1430: + Shape1430 = value; + break; + case 1431: + Shape1431 = value; + break; + case 1432: + Shape1432 = value; + break; + case 1433: + Shape1433 = value; + break; + case 1434: + Shape1434 = value; + break; + case 1435: + Shape1435 = value; + break; + case 1436: + Shape1436 = value; + break; + case 1437: + Shape1437 = value; + break; + case 1438: + Shape1438 = value; + break; + case 1439: + Shape1439 = value; + break; + case 1440: + Shape1440 = value; + break; + case 1441: + Shape1441 = value; + break; + case 1442: + Shape1442 = value; + break; + case 1443: + Shape1443 = value; + break; + case 1444: + Shape1444 = value; + break; + case 1445: + Shape1445 = value; + break; + case 1446: + Shape1446 = value; + break; + case 1447: + Shape1447 = value; + break; + case 1448: + Shape1448 = value; + break; + case 1449: + Shape1449 = value; + break; + case 1450: + Shape1450 = value; + break; + case 1451: + Shape1451 = value; + break; + case 1452: + Shape1452 = value; + break; + case 1453: + Shape1453 = value; + break; + case 1454: + Shape1454 = value; + break; + case 1455: + Shape1455 = value; + break; + case 1456: + Shape1456 = value; + break; + case 1457: + Shape1457 = value; + break; + case 1458: + Shape1458 = value; + break; + case 1459: + Shape1459 = value; + break; + case 1460: + Shape1460 = value; + break; + case 1461: + Shape1461 = value; + break; + case 1462: + Shape1462 = value; + break; + case 1463: + Shape1463 = value; + break; + case 1464: + Shape1464 = value; + break; + case 1465: + Shape1465 = value; + break; + case 1466: + Shape1466 = value; + break; + case 1467: + Shape1467 = value; + break; + case 1468: + Shape1468 = value; + break; + case 1469: + Shape1469 = value; + break; + case 1470: + Shape1470 = value; + break; + case 1471: + Shape1471 = value; + break; + case 1472: + Shape1472 = value; + break; + case 1473: + Shape1473 = value; + break; + case 1474: + Shape1474 = value; + break; + case 1475: + Shape1475 = value; + break; + case 1476: + Shape1476 = value; + break; + case 1477: + Shape1477 = value; + break; + case 1478: + Shape1478 = value; + break; + case 1479: + Shape1479 = value; + break; + case 1480: + Shape1480 = value; + break; + case 1481: + Shape1481 = value; + break; + case 1482: + Shape1482 = value; + break; + case 1483: + Shape1483 = value; + break; + case 1484: + Shape1484 = value; + break; + case 1485: + Shape1485 = value; + break; + case 1486: + Shape1486 = value; + break; + case 1487: + Shape1487 = value; + break; + case 1488: + Shape1488 = value; + break; + case 1489: + Shape1489 = value; + break; + case 1490: + Shape1490 = value; + break; + case 1491: + Shape1491 = value; + break; + case 1492: + Shape1492 = value; + break; + case 1493: + Shape1493 = value; + break; + case 1494: + Shape1494 = value; + break; + case 1495: + Shape1495 = value; + break; + case 1496: + Shape1496 = value; + break; + case 1497: + Shape1497 = value; + break; + case 1498: + Shape1498 = value; + break; + case 1499: + Shape1499 = value; + break; + case 1500: + Shape1500 = value; + break; + case 1501: + Shape1501 = value; + break; + case 1502: + Shape1502 = value; + break; + case 1503: + Shape1503 = value; + break; + case 1504: + Shape1504 = value; + break; + case 1505: + Shape1505 = value; + break; + case 1506: + Shape1506 = value; + break; + case 1507: + Shape1507 = value; + break; + case 1508: + Shape1508 = value; + break; + case 1509: + Shape1509 = value; + break; + case 1510: + Shape1510 = value; + break; + case 1511: + Shape1511 = value; + break; + case 1512: + Shape1512 = value; + break; + case 1513: + Shape1513 = value; + break; + case 1514: + Shape1514 = value; + break; + case 1515: + Shape1515 = value; + break; + case 1516: + Shape1516 = value; + break; + case 1517: + Shape1517 = value; + break; + case 1518: + Shape1518 = value; + break; + case 1519: + Shape1519 = value; + break; + case 1520: + Shape1520 = value; + break; + case 1521: + Shape1521 = value; + break; + case 1522: + Shape1522 = value; + break; + case 1523: + Shape1523 = value; + break; + case 1524: + Shape1524 = value; + break; + case 1525: + Shape1525 = value; + break; + case 1526: + Shape1526 = value; + break; + case 1527: + Shape1527 = value; + break; + case 1528: + Shape1528 = value; + break; + case 1529: + Shape1529 = value; + break; + case 1530: + Shape1530 = value; + break; + case 1531: + Shape1531 = value; + break; + case 1532: + Shape1532 = value; + break; + case 1533: + Shape1533 = value; + break; + case 1534: + Shape1534 = value; + break; + case 1535: + Shape1535 = value; + break; + case 1536: + Shape1536 = value; + break; + case 1537: + Shape1537 = value; + break; + case 1538: + Shape1538 = value; + break; + case 1539: + Shape1539 = value; + break; + case 1540: + Shape1540 = value; + break; + case 1541: + Shape1541 = value; + break; + case 1542: + Shape1542 = value; + break; + case 1543: + Shape1543 = value; + break; + case 1544: + Shape1544 = value; + break; + case 1545: + Shape1545 = value; + break; + case 1546: + Shape1546 = value; + break; + case 1547: + Shape1547 = value; + break; + case 1548: + Shape1548 = value; + break; + case 1549: + Shape1549 = value; + break; + case 1550: + Shape1550 = value; + break; + case 1551: + Shape1551 = value; + break; + case 1552: + Shape1552 = value; + break; + case 1553: + Shape1553 = value; + break; + case 1554: + Shape1554 = value; + break; + case 1555: + Shape1555 = value; + break; + case 1556: + Shape1556 = value; + break; + case 1557: + Shape1557 = value; + break; + case 1558: + Shape1558 = value; + break; + case 1559: + Shape1559 = value; + break; + case 1560: + Shape1560 = value; + break; + case 1561: + Shape1561 = value; + break; + case 1562: + Shape1562 = value; + break; + case 1563: + Shape1563 = value; + break; + case 1564: + Shape1564 = value; + break; + case 1565: + Shape1565 = value; + break; + case 1566: + Shape1566 = value; + break; + case 1567: + Shape1567 = value; + break; + case 1568: + Shape1568 = value; + break; + case 1569: + Shape1569 = value; + break; + case 1570: + Shape1570 = value; + break; + case 1571: + Shape1571 = value; + break; + case 1572: + Shape1572 = value; + break; + case 1573: + Shape1573 = value; + break; + case 1574: + Shape1574 = value; + break; + case 1575: + Shape1575 = value; + break; + case 1576: + Shape1576 = value; + break; + case 1577: + Shape1577 = value; + break; + case 1578: + Shape1578 = value; + break; + case 1579: + Shape1579 = value; + break; + case 1580: + Shape1580 = value; + break; + case 1581: + Shape1581 = value; + break; + case 1582: + Shape1582 = value; + break; + case 1583: + Shape1583 = value; + break; + case 1584: + Shape1584 = value; + break; + case 1585: + Shape1585 = value; + break; + case 1586: + Shape1586 = value; + break; + case 1587: + Shape1587 = value; + break; + case 1588: + Shape1588 = value; + break; + case 1589: + Shape1589 = value; + break; + case 1590: + Shape1590 = value; + break; + case 1591: + Shape1591 = value; + break; + case 1592: + Shape1592 = value; + break; + case 1593: + Shape1593 = value; + break; + case 1594: + Shape1594 = value; + break; + case 1595: + Shape1595 = value; + break; + case 1596: + Shape1596 = value; + break; + case 1597: + Shape1597 = value; + break; + case 1598: + Shape1598 = value; + break; + case 1599: + Shape1599 = value; + break; + case 1600: + Shape1600 = value; + break; + case 1601: + Shape1601 = value; + break; + case 1602: + Shape1602 = value; + break; + case 1603: + Shape1603 = value; + break; + case 1604: + Shape1604 = value; + break; + case 1605: + Shape1605 = value; + break; + case 1606: + Shape1606 = value; + break; + case 1607: + Shape1607 = value; + break; + case 1608: + Shape1608 = value; + break; + case 1609: + Shape1609 = value; + break; + case 1610: + Shape1610 = value; + break; + case 1611: + Shape1611 = value; + break; + case 1612: + Shape1612 = value; + break; + case 1613: + Shape1613 = value; + break; + case 1614: + Shape1614 = value; + break; + case 1615: + Shape1615 = value; + break; + case 1616: + Shape1616 = value; + break; + case 1617: + Shape1617 = value; + break; + case 1618: + Shape1618 = value; + break; + case 1619: + Shape1619 = value; + break; + case 1620: + Shape1620 = value; + break; + case 1621: + Shape1621 = value; + break; + case 1622: + Shape1622 = value; + break; + case 1623: + Shape1623 = value; + break; + case 1624: + Shape1624 = value; + break; + case 1625: + Shape1625 = value; + break; + case 1626: + Shape1626 = value; + break; + case 1627: + Shape1627 = value; + break; + case 1628: + Shape1628 = value; + break; + case 1629: + Shape1629 = value; + break; + case 1630: + Shape1630 = value; + break; + case 1631: + Shape1631 = value; + break; + case 1632: + Shape1632 = value; + break; + case 1633: + Shape1633 = value; + break; + case 1634: + Shape1634 = value; + break; + case 1635: + Shape1635 = value; + break; + case 1636: + Shape1636 = value; + break; + case 1637: + Shape1637 = value; + break; + case 1638: + Shape1638 = value; + break; + case 1639: + Shape1639 = value; + break; + case 1640: + Shape1640 = value; + break; + case 1641: + Shape1641 = value; + break; + case 1642: + Shape1642 = value; + break; + case 1643: + Shape1643 = value; + break; + case 1644: + Shape1644 = value; + break; + case 1645: + Shape1645 = value; + break; + case 1646: + Shape1646 = value; + break; + case 1647: + Shape1647 = value; + break; + case 1648: + Shape1648 = value; + break; + case 1649: + Shape1649 = value; + break; + case 1650: + Shape1650 = value; + break; + case 1651: + Shape1651 = value; + break; + case 1652: + Shape1652 = value; + break; + case 1653: + Shape1653 = value; + break; + case 1654: + Shape1654 = value; + break; + case 1655: + Shape1655 = value; + break; + case 1656: + Shape1656 = value; + break; + case 1657: + Shape1657 = value; + break; + case 1658: + Shape1658 = value; + break; + case 1659: + Shape1659 = value; + break; + case 1660: + Shape1660 = value; + break; + case 1661: + Shape1661 = value; + break; + case 1662: + Shape1662 = value; + break; + case 1663: + Shape1663 = value; + break; + case 1664: + Shape1664 = value; + break; + case 1665: + Shape1665 = value; + break; + case 1666: + Shape1666 = value; + break; + case 1667: + Shape1667 = value; + break; + case 1668: + Shape1668 = value; + break; + case 1669: + Shape1669 = value; + break; + case 1670: + Shape1670 = value; + break; + case 1671: + Shape1671 = value; + break; + case 1672: + Shape1672 = value; + break; + case 1673: + Shape1673 = value; + break; + case 1674: + Shape1674 = value; + break; + case 1675: + Shape1675 = value; + break; + case 1676: + Shape1676 = value; + break; + case 1677: + Shape1677 = value; + break; + case 1678: + Shape1678 = value; + break; + case 1679: + Shape1679 = value; + break; + case 1680: + Shape1680 = value; + break; + case 1681: + Shape1681 = value; + break; + case 1682: + Shape1682 = value; + break; + case 1683: + Shape1683 = value; + break; + case 1684: + Shape1684 = value; + break; + case 1685: + Shape1685 = value; + break; + case 1686: + Shape1686 = value; + break; + case 1687: + Shape1687 = value; + break; + case 1688: + Shape1688 = value; + break; + case 1689: + Shape1689 = value; + break; + case 1690: + Shape1690 = value; + break; + case 1691: + Shape1691 = value; + break; + case 1692: + Shape1692 = value; + break; + case 1693: + Shape1693 = value; + break; + case 1694: + Shape1694 = value; + break; + case 1695: + Shape1695 = value; + break; + case 1696: + Shape1696 = value; + break; + case 1697: + Shape1697 = value; + break; + case 1698: + Shape1698 = value; + break; + case 1699: + Shape1699 = value; + break; + case 1700: + Shape1700 = value; + break; + case 1701: + Shape1701 = value; + break; + case 1702: + Shape1702 = value; + break; + case 1703: + Shape1703 = value; + break; + case 1704: + Shape1704 = value; + break; + case 1705: + Shape1705 = value; + break; + case 1706: + Shape1706 = value; + break; + case 1707: + Shape1707 = value; + break; + case 1708: + Shape1708 = value; + break; + case 1709: + Shape1709 = value; + break; + case 1710: + Shape1710 = value; + break; + case 1711: + Shape1711 = value; + break; + case 1712: + Shape1712 = value; + break; + case 1713: + Shape1713 = value; + break; + case 1714: + Shape1714 = value; + break; + case 1715: + Shape1715 = value; + break; + case 1716: + Shape1716 = value; + break; + case 1717: + Shape1717 = value; + break; + case 1718: + Shape1718 = value; + break; + case 1719: + Shape1719 = value; + break; + case 1720: + Shape1720 = value; + break; + case 1721: + Shape1721 = value; + break; + case 1722: + Shape1722 = value; + break; + case 1723: + Shape1723 = value; + break; + case 1724: + Shape1724 = value; + break; + case 1725: + Shape1725 = value; + break; + case 1726: + Shape1726 = value; + break; + case 1727: + Shape1727 = value; + break; + case 1728: + Shape1728 = value; + break; + case 1729: + Shape1729 = value; + break; + case 1730: + Shape1730 = value; + break; + case 1731: + Shape1731 = value; + break; + case 1732: + Shape1732 = value; + break; + case 1733: + Shape1733 = value; + break; + case 1734: + Shape1734 = value; + break; + case 1735: + Shape1735 = value; + break; + case 1736: + Shape1736 = value; + break; + case 1737: + Shape1737 = value; + break; + case 1738: + Shape1738 = value; + break; + case 1739: + Shape1739 = value; + break; + case 1740: + Shape1740 = value; + break; + case 1741: + Shape1741 = value; + break; + case 1742: + Shape1742 = value; + break; + case 1743: + Shape1743 = value; + break; + case 1744: + Shape1744 = value; + break; + case 1745: + Shape1745 = value; + break; + case 1746: + Shape1746 = value; + break; + case 1747: + Shape1747 = value; + break; + case 1748: + Shape1748 = value; + break; + case 1749: + Shape1749 = value; + break; + case 1750: + Shape1750 = value; + break; + case 1751: + Shape1751 = value; + break; + case 1752: + Shape1752 = value; + break; + case 1753: + Shape1753 = value; + break; + case 1754: + Shape1754 = value; + break; + case 1755: + Shape1755 = value; + break; + case 1756: + Shape1756 = value; + break; + case 1757: + Shape1757 = value; + break; + case 1758: + Shape1758 = value; + break; + case 1759: + Shape1759 = value; + break; + case 1760: + Shape1760 = value; + break; + case 1761: + Shape1761 = value; + break; + case 1762: + Shape1762 = value; + break; + case 1763: + Shape1763 = value; + break; + case 1764: + Shape1764 = value; + break; + case 1765: + Shape1765 = value; + break; + case 1766: + Shape1766 = value; + break; + case 1767: + Shape1767 = value; + break; + case 1768: + Shape1768 = value; + break; + case 1769: + Shape1769 = value; + break; + case 1770: + Shape1770 = value; + break; + case 1771: + Shape1771 = value; + break; + case 1772: + Shape1772 = value; + break; + case 1773: + Shape1773 = value; + break; + case 1774: + Shape1774 = value; + break; + case 1775: + Shape1775 = value; + break; + case 1776: + Shape1776 = value; + break; + case 1777: + Shape1777 = value; + break; + case 1778: + Shape1778 = value; + break; + case 1779: + Shape1779 = value; + break; + case 1780: + Shape1780 = value; + break; + case 1781: + Shape1781 = value; + break; + case 1782: + Shape1782 = value; + break; + case 1783: + Shape1783 = value; + break; + case 1784: + Shape1784 = value; + break; + case 1785: + Shape1785 = value; + break; + case 1786: + Shape1786 = value; + break; + case 1787: + Shape1787 = value; + break; + case 1788: + Shape1788 = value; + break; + case 1789: + Shape1789 = value; + break; + case 1790: + Shape1790 = value; + break; + case 1791: + Shape1791 = value; + break; + case 1792: + Shape1792 = value; + break; + case 1793: + Shape1793 = value; + break; + case 1794: + Shape1794 = value; + break; + case 1795: + Shape1795 = value; + break; + case 1796: + Shape1796 = value; + break; + case 1797: + Shape1797 = value; + break; + case 1798: + Shape1798 = value; + break; + case 1799: + Shape1799 = value; + break; + case 1800: + Shape1800 = value; + break; + case 1801: + Shape1801 = value; + break; + case 1802: + Shape1802 = value; + break; + case 1803: + Shape1803 = value; + break; + case 1804: + Shape1804 = value; + break; + case 1805: + Shape1805 = value; + break; + case 1806: + Shape1806 = value; + break; + case 1807: + Shape1807 = value; + break; + case 1808: + Shape1808 = value; + break; + case 1809: + Shape1809 = value; + break; + case 1810: + Shape1810 = value; + break; + case 1811: + Shape1811 = value; + break; + case 1812: + Shape1812 = value; + break; + case 1813: + Shape1813 = value; + break; + case 1814: + Shape1814 = value; + break; + case 1815: + Shape1815 = value; + break; + case 1816: + Shape1816 = value; + break; + case 1817: + Shape1817 = value; + break; + case 1818: + Shape1818 = value; + break; + case 1819: + Shape1819 = value; + break; + case 1820: + Shape1820 = value; + break; + case 1821: + Shape1821 = value; + break; + case 1822: + Shape1822 = value; + break; + case 1823: + Shape1823 = value; + break; + case 1824: + Shape1824 = value; + break; + case 1825: + Shape1825 = value; + break; + case 1826: + Shape1826 = value; + break; + case 1827: + Shape1827 = value; + break; + case 1828: + Shape1828 = value; + break; + case 1829: + Shape1829 = value; + break; + case 1830: + Shape1830 = value; + break; + case 1831: + Shape1831 = value; + break; + case 1832: + Shape1832 = value; + break; + case 1833: + Shape1833 = value; + break; + case 1834: + Shape1834 = value; + break; + case 1835: + Shape1835 = value; + break; + case 1836: + Shape1836 = value; + break; + case 1837: + Shape1837 = value; + break; + case 1838: + Shape1838 = value; + break; + case 1839: + Shape1839 = value; + break; + case 1840: + Shape1840 = value; + break; + case 1841: + Shape1841 = value; + break; + case 1842: + Shape1842 = value; + break; + case 1843: + Shape1843 = value; + break; + case 1844: + Shape1844 = value; + break; + case 1845: + Shape1845 = value; + break; + case 1846: + Shape1846 = value; + break; + case 1847: + Shape1847 = value; + break; + case 1848: + Shape1848 = value; + break; + case 1849: + Shape1849 = value; + break; + case 1850: + Shape1850 = value; + break; + case 1851: + Shape1851 = value; + break; + case 1852: + Shape1852 = value; + break; + case 1853: + Shape1853 = value; + break; + case 1854: + Shape1854 = value; + break; + case 1855: + Shape1855 = value; + break; + case 1856: + Shape1856 = value; + break; + case 1857: + Shape1857 = value; + break; + case 1858: + Shape1858 = value; + break; + case 1859: + Shape1859 = value; + break; + case 1860: + Shape1860 = value; + break; + case 1861: + Shape1861 = value; + break; + case 1862: + Shape1862 = value; + break; + case 1863: + Shape1863 = value; + break; + case 1864: + Shape1864 = value; + break; + case 1865: + Shape1865 = value; + break; + case 1866: + Shape1866 = value; + break; + case 1867: + Shape1867 = value; + break; + case 1868: + Shape1868 = value; + break; + case 1869: + Shape1869 = value; + break; + case 1870: + Shape1870 = value; + break; + case 1871: + Shape1871 = value; + break; + case 1872: + Shape1872 = value; + break; + case 1873: + Shape1873 = value; + break; + case 1874: + Shape1874 = value; + break; + case 1875: + Shape1875 = value; + break; + case 1876: + Shape1876 = value; + break; + case 1877: + Shape1877 = value; + break; + case 1878: + Shape1878 = value; + break; + case 1879: + Shape1879 = value; + break; + case 1880: + Shape1880 = value; + break; + case 1881: + Shape1881 = value; + break; + case 1882: + Shape1882 = value; + break; + case 1883: + Shape1883 = value; + break; + case 1884: + Shape1884 = value; + break; + case 1885: + Shape1885 = value; + break; + case 1886: + Shape1886 = value; + break; + case 1887: + Shape1887 = value; + break; + case 1888: + Shape1888 = value; + break; + case 1889: + Shape1889 = value; + break; + case 1890: + Shape1890 = value; + break; + case 1891: + Shape1891 = value; + break; + case 1892: + Shape1892 = value; + break; + case 1893: + Shape1893 = value; + break; + case 1894: + Shape1894 = value; + break; + case 1895: + Shape1895 = value; + break; + case 1896: + Shape1896 = value; + break; + case 1897: + Shape1897 = value; + break; + case 1898: + Shape1898 = value; + break; + case 1899: + Shape1899 = value; + break; + case 1900: + Shape1900 = value; + break; + case 1901: + Shape1901 = value; + break; + case 1902: + Shape1902 = value; + break; + case 1903: + Shape1903 = value; + break; + case 1904: + Shape1904 = value; + break; + case 1905: + Shape1905 = value; + break; + case 1906: + Shape1906 = value; + break; + case 1907: + Shape1907 = value; + break; + case 1908: + Shape1908 = value; + break; + case 1909: + Shape1909 = value; + break; + case 1910: + Shape1910 = value; + break; + case 1911: + Shape1911 = value; + break; + case 1912: + Shape1912 = value; + break; + case 1913: + Shape1913 = value; + break; + case 1914: + Shape1914 = value; + break; + case 1915: + Shape1915 = value; + break; + case 1916: + Shape1916 = value; + break; + case 1917: + Shape1917 = value; + break; + case 1918: + Shape1918 = value; + break; + case 1919: + Shape1919 = value; + break; + case 1920: + Shape1920 = value; + break; + case 1921: + Shape1921 = value; + break; + case 1922: + Shape1922 = value; + break; + case 1923: + Shape1923 = value; + break; + case 1924: + Shape1924 = value; + break; + case 1925: + Shape1925 = value; + break; + case 1926: + Shape1926 = value; + break; + case 1927: + Shape1927 = value; + break; + case 1928: + Shape1928 = value; + break; + case 1929: + Shape1929 = value; + break; + case 1930: + Shape1930 = value; + break; + case 1931: + Shape1931 = value; + break; + case 1932: + Shape1932 = value; + break; + case 1933: + Shape1933 = value; + break; + case 1934: + Shape1934 = value; + break; + case 1935: + Shape1935 = value; + break; + case 1936: + Shape1936 = value; + break; + case 1937: + Shape1937 = value; + break; + case 1938: + Shape1938 = value; + break; + case 1939: + Shape1939 = value; + break; + case 1940: + Shape1940 = value; + break; + case 1941: + Shape1941 = value; + break; + case 1942: + Shape1942 = value; + break; + case 1943: + Shape1943 = value; + break; + case 1944: + Shape1944 = value; + break; + case 1945: + Shape1945 = value; + break; + case 1946: + Shape1946 = value; + break; + case 1947: + Shape1947 = value; + break; + case 1948: + Shape1948 = value; + break; + case 1949: + Shape1949 = value; + break; + case 1950: + Shape1950 = value; + break; + case 1951: + Shape1951 = value; + break; + case 1952: + Shape1952 = value; + break; + case 1953: + Shape1953 = value; + break; + case 1954: + Shape1954 = value; + break; + case 1955: + Shape1955 = value; + break; + case 1956: + Shape1956 = value; + break; + case 1957: + Shape1957 = value; + break; + case 1958: + Shape1958 = value; + break; + case 1959: + Shape1959 = value; + break; + case 1960: + Shape1960 = value; + break; + case 1961: + Shape1961 = value; + break; + case 1962: + Shape1962 = value; + break; + case 1963: + Shape1963 = value; + break; + case 1964: + Shape1964 = value; + break; + case 1965: + Shape1965 = value; + break; + case 1966: + Shape1966 = value; + break; + case 1967: + Shape1967 = value; + break; + case 1968: + Shape1968 = value; + break; + case 1969: + Shape1969 = value; + break; + case 1970: + Shape1970 = value; + break; + case 1971: + Shape1971 = value; + break; + case 1972: + Shape1972 = value; + break; + case 1973: + Shape1973 = value; + break; + case 1974: + Shape1974 = value; + break; + case 1975: + Shape1975 = value; + break; + case 1976: + Shape1976 = value; + break; + case 1977: + Shape1977 = value; + break; + case 1978: + Shape1978 = value; + break; + case 1979: + Shape1979 = value; + break; + case 1980: + Shape1980 = value; + break; + case 1981: + Shape1981 = value; + break; + case 1982: + Shape1982 = value; + break; + case 1983: + Shape1983 = value; + break; + case 1984: + Shape1984 = value; + break; + case 1985: + Shape1985 = value; + break; + case 1986: + Shape1986 = value; + break; + case 1987: + Shape1987 = value; + break; + case 1988: + Shape1988 = value; + break; + case 1989: + Shape1989 = value; + break; + case 1990: + Shape1990 = value; + break; + case 1991: + Shape1991 = value; + break; + case 1992: + Shape1992 = value; + break; + case 1993: + Shape1993 = value; + break; + case 1994: + Shape1994 = value; + break; + case 1995: + Shape1995 = value; + break; + case 1996: + Shape1996 = value; + break; + case 1997: + Shape1997 = value; + break; + case 1998: + Shape1998 = value; + break; + case 1999: + Shape1999 = value; + break; + case 2000: + Shape2000 = value; + break; + case 2001: + Shape2001 = value; + break; + case 2002: + Shape2002 = value; + break; + case 2003: + Shape2003 = value; + break; + case 2004: + Shape2004 = value; + break; + case 2005: + Shape2005 = value; + break; + case 2006: + Shape2006 = value; + break; + case 2007: + Shape2007 = value; + break; + case 2008: + Shape2008 = value; + break; + case 2009: + Shape2009 = value; + break; + case 2010: + Shape2010 = value; + break; + case 2011: + Shape2011 = value; + break; + case 2012: + Shape2012 = value; + break; + case 2013: + Shape2013 = value; + break; + case 2014: + Shape2014 = value; + break; + case 2015: + Shape2015 = value; + break; + case 2016: + Shape2016 = value; + break; + case 2017: + Shape2017 = value; + break; + case 2018: + Shape2018 = value; + break; + case 2019: + Shape2019 = value; + break; + case 2020: + Shape2020 = value; + break; + case 2021: + Shape2021 = value; + break; + case 2022: + Shape2022 = value; + break; + case 2023: + Shape2023 = value; + break; + case 2024: + Shape2024 = value; + break; + case 2025: + Shape2025 = value; + break; + case 2026: + Shape2026 = value; + break; + case 2027: + Shape2027 = value; + break; + case 2028: + Shape2028 = value; + break; + case 2029: + Shape2029 = value; + break; + case 2030: + Shape2030 = value; + break; + case 2031: + Shape2031 = value; + break; + case 2032: + Shape2032 = value; + break; + case 2033: + Shape2033 = value; + break; + case 2034: + Shape2034 = value; + break; + case 2035: + Shape2035 = value; + break; + case 2036: + Shape2036 = value; + break; + case 2037: + Shape2037 = value; + break; + case 2038: + Shape2038 = value; + break; + case 2039: + Shape2039 = value; + break; + case 2040: + Shape2040 = value; + break; + case 2041: + Shape2041 = value; + break; + case 2042: + Shape2042 = value; + break; + case 2043: + Shape2043 = value; + break; + case 2044: + Shape2044 = value; + break; + case 2045: + Shape2045 = value; + break; + case 2046: + Shape2046 = value; + break; + case 2047: + Shape2047 = value; + break; + case 2048: + Shape2048 = value; + break; + } + } + #endregion + + #region name getter + public static string GetPropertyName(int index) + { + switch (index) + { + case 0: + return nameof(Shape0); + case 1: + return nameof(Shape1); + case 2: + return nameof(Shape2); + case 3: + return nameof(Shape3); + case 4: + return nameof(Shape4); + case 5: + return nameof(Shape5); + case 6: + return nameof(Shape6); + case 7: + return nameof(Shape7); + case 8: + return nameof(Shape8); + case 9: + return nameof(Shape9); + case 10: + return nameof(Shape10); + case 11: + return nameof(Shape11); + case 12: + return nameof(Shape12); + case 13: + return nameof(Shape13); + case 14: + return nameof(Shape14); + case 15: + return nameof(Shape15); + case 16: + return nameof(Shape16); + case 17: + return nameof(Shape17); + case 18: + return nameof(Shape18); + case 19: + return nameof(Shape19); + case 20: + return nameof(Shape20); + case 21: + return nameof(Shape21); + case 22: + return nameof(Shape22); + case 23: + return nameof(Shape23); + case 24: + return nameof(Shape24); + case 25: + return nameof(Shape25); + case 26: + return nameof(Shape26); + case 27: + return nameof(Shape27); + case 28: + return nameof(Shape28); + case 29: + return nameof(Shape29); + case 30: + return nameof(Shape30); + case 31: + return nameof(Shape31); + case 32: + return nameof(Shape32); + case 33: + return nameof(Shape33); + case 34: + return nameof(Shape34); + case 35: + return nameof(Shape35); + case 36: + return nameof(Shape36); + case 37: + return nameof(Shape37); + case 38: + return nameof(Shape38); + case 39: + return nameof(Shape39); + case 40: + return nameof(Shape40); + case 41: + return nameof(Shape41); + case 42: + return nameof(Shape42); + case 43: + return nameof(Shape43); + case 44: + return nameof(Shape44); + case 45: + return nameof(Shape45); + case 46: + return nameof(Shape46); + case 47: + return nameof(Shape47); + case 48: + return nameof(Shape48); + case 49: + return nameof(Shape49); + case 50: + return nameof(Shape50); + case 51: + return nameof(Shape51); + case 52: + return nameof(Shape52); + case 53: + return nameof(Shape53); + case 54: + return nameof(Shape54); + case 55: + return nameof(Shape55); + case 56: + return nameof(Shape56); + case 57: + return nameof(Shape57); + case 58: + return nameof(Shape58); + case 59: + return nameof(Shape59); + case 60: + return nameof(Shape60); + case 61: + return nameof(Shape61); + case 62: + return nameof(Shape62); + case 63: + return nameof(Shape63); + case 64: + return nameof(Shape64); + case 65: + return nameof(Shape65); + case 66: + return nameof(Shape66); + case 67: + return nameof(Shape67); + case 68: + return nameof(Shape68); + case 69: + return nameof(Shape69); + case 70: + return nameof(Shape70); + case 71: + return nameof(Shape71); + case 72: + return nameof(Shape72); + case 73: + return nameof(Shape73); + case 74: + return nameof(Shape74); + case 75: + return nameof(Shape75); + case 76: + return nameof(Shape76); + case 77: + return nameof(Shape77); + case 78: + return nameof(Shape78); + case 79: + return nameof(Shape79); + case 80: + return nameof(Shape80); + case 81: + return nameof(Shape81); + case 82: + return nameof(Shape82); + case 83: + return nameof(Shape83); + case 84: + return nameof(Shape84); + case 85: + return nameof(Shape85); + case 86: + return nameof(Shape86); + case 87: + return nameof(Shape87); + case 88: + return nameof(Shape88); + case 89: + return nameof(Shape89); + case 90: + return nameof(Shape90); + case 91: + return nameof(Shape91); + case 92: + return nameof(Shape92); + case 93: + return nameof(Shape93); + case 94: + return nameof(Shape94); + case 95: + return nameof(Shape95); + case 96: + return nameof(Shape96); + case 97: + return nameof(Shape97); + case 98: + return nameof(Shape98); + case 99: + return nameof(Shape99); + case 100: + return nameof(Shape100); + case 101: + return nameof(Shape101); + case 102: + return nameof(Shape102); + case 103: + return nameof(Shape103); + case 104: + return nameof(Shape104); + case 105: + return nameof(Shape105); + case 106: + return nameof(Shape106); + case 107: + return nameof(Shape107); + case 108: + return nameof(Shape108); + case 109: + return nameof(Shape109); + case 110: + return nameof(Shape110); + case 111: + return nameof(Shape111); + case 112: + return nameof(Shape112); + case 113: + return nameof(Shape113); + case 114: + return nameof(Shape114); + case 115: + return nameof(Shape115); + case 116: + return nameof(Shape116); + case 117: + return nameof(Shape117); + case 118: + return nameof(Shape118); + case 119: + return nameof(Shape119); + case 120: + return nameof(Shape120); + case 121: + return nameof(Shape121); + case 122: + return nameof(Shape122); + case 123: + return nameof(Shape123); + case 124: + return nameof(Shape124); + case 125: + return nameof(Shape125); + case 126: + return nameof(Shape126); + case 127: + return nameof(Shape127); + case 128: + return nameof(Shape128); + case 129: + return nameof(Shape129); + case 130: + return nameof(Shape130); + case 131: + return nameof(Shape131); + case 132: + return nameof(Shape132); + case 133: + return nameof(Shape133); + case 134: + return nameof(Shape134); + case 135: + return nameof(Shape135); + case 136: + return nameof(Shape136); + case 137: + return nameof(Shape137); + case 138: + return nameof(Shape138); + case 139: + return nameof(Shape139); + case 140: + return nameof(Shape140); + case 141: + return nameof(Shape141); + case 142: + return nameof(Shape142); + case 143: + return nameof(Shape143); + case 144: + return nameof(Shape144); + case 145: + return nameof(Shape145); + case 146: + return nameof(Shape146); + case 147: + return nameof(Shape147); + case 148: + return nameof(Shape148); + case 149: + return nameof(Shape149); + case 150: + return nameof(Shape150); + case 151: + return nameof(Shape151); + case 152: + return nameof(Shape152); + case 153: + return nameof(Shape153); + case 154: + return nameof(Shape154); + case 155: + return nameof(Shape155); + case 156: + return nameof(Shape156); + case 157: + return nameof(Shape157); + case 158: + return nameof(Shape158); + case 159: + return nameof(Shape159); + case 160: + return nameof(Shape160); + case 161: + return nameof(Shape161); + case 162: + return nameof(Shape162); + case 163: + return nameof(Shape163); + case 164: + return nameof(Shape164); + case 165: + return nameof(Shape165); + case 166: + return nameof(Shape166); + case 167: + return nameof(Shape167); + case 168: + return nameof(Shape168); + case 169: + return nameof(Shape169); + case 170: + return nameof(Shape170); + case 171: + return nameof(Shape171); + case 172: + return nameof(Shape172); + case 173: + return nameof(Shape173); + case 174: + return nameof(Shape174); + case 175: + return nameof(Shape175); + case 176: + return nameof(Shape176); + case 177: + return nameof(Shape177); + case 178: + return nameof(Shape178); + case 179: + return nameof(Shape179); + case 180: + return nameof(Shape180); + case 181: + return nameof(Shape181); + case 182: + return nameof(Shape182); + case 183: + return nameof(Shape183); + case 184: + return nameof(Shape184); + case 185: + return nameof(Shape185); + case 186: + return nameof(Shape186); + case 187: + return nameof(Shape187); + case 188: + return nameof(Shape188); + case 189: + return nameof(Shape189); + case 190: + return nameof(Shape190); + case 191: + return nameof(Shape191); + case 192: + return nameof(Shape192); + case 193: + return nameof(Shape193); + case 194: + return nameof(Shape194); + case 195: + return nameof(Shape195); + case 196: + return nameof(Shape196); + case 197: + return nameof(Shape197); + case 198: + return nameof(Shape198); + case 199: + return nameof(Shape199); + case 200: + return nameof(Shape200); + case 201: + return nameof(Shape201); + case 202: + return nameof(Shape202); + case 203: + return nameof(Shape203); + case 204: + return nameof(Shape204); + case 205: + return nameof(Shape205); + case 206: + return nameof(Shape206); + case 207: + return nameof(Shape207); + case 208: + return nameof(Shape208); + case 209: + return nameof(Shape209); + case 210: + return nameof(Shape210); + case 211: + return nameof(Shape211); + case 212: + return nameof(Shape212); + case 213: + return nameof(Shape213); + case 214: + return nameof(Shape214); + case 215: + return nameof(Shape215); + case 216: + return nameof(Shape216); + case 217: + return nameof(Shape217); + case 218: + return nameof(Shape218); + case 219: + return nameof(Shape219); + case 220: + return nameof(Shape220); + case 221: + return nameof(Shape221); + case 222: + return nameof(Shape222); + case 223: + return nameof(Shape223); + case 224: + return nameof(Shape224); + case 225: + return nameof(Shape225); + case 226: + return nameof(Shape226); + case 227: + return nameof(Shape227); + case 228: + return nameof(Shape228); + case 229: + return nameof(Shape229); + case 230: + return nameof(Shape230); + case 231: + return nameof(Shape231); + case 232: + return nameof(Shape232); + case 233: + return nameof(Shape233); + case 234: + return nameof(Shape234); + case 235: + return nameof(Shape235); + case 236: + return nameof(Shape236); + case 237: + return nameof(Shape237); + case 238: + return nameof(Shape238); + case 239: + return nameof(Shape239); + case 240: + return nameof(Shape240); + case 241: + return nameof(Shape241); + case 242: + return nameof(Shape242); + case 243: + return nameof(Shape243); + case 244: + return nameof(Shape244); + case 245: + return nameof(Shape245); + case 246: + return nameof(Shape246); + case 247: + return nameof(Shape247); + case 248: + return nameof(Shape248); + case 249: + return nameof(Shape249); + case 250: + return nameof(Shape250); + case 251: + return nameof(Shape251); + case 252: + return nameof(Shape252); + case 253: + return nameof(Shape253); + case 254: + return nameof(Shape254); + case 255: + return nameof(Shape255); + case 256: + return nameof(Shape256); + case 257: + return nameof(Shape257); + case 258: + return nameof(Shape258); + case 259: + return nameof(Shape259); + case 260: + return nameof(Shape260); + case 261: + return nameof(Shape261); + case 262: + return nameof(Shape262); + case 263: + return nameof(Shape263); + case 264: + return nameof(Shape264); + case 265: + return nameof(Shape265); + case 266: + return nameof(Shape266); + case 267: + return nameof(Shape267); + case 268: + return nameof(Shape268); + case 269: + return nameof(Shape269); + case 270: + return nameof(Shape270); + case 271: + return nameof(Shape271); + case 272: + return nameof(Shape272); + case 273: + return nameof(Shape273); + case 274: + return nameof(Shape274); + case 275: + return nameof(Shape275); + case 276: + return nameof(Shape276); + case 277: + return nameof(Shape277); + case 278: + return nameof(Shape278); + case 279: + return nameof(Shape279); + case 280: + return nameof(Shape280); + case 281: + return nameof(Shape281); + case 282: + return nameof(Shape282); + case 283: + return nameof(Shape283); + case 284: + return nameof(Shape284); + case 285: + return nameof(Shape285); + case 286: + return nameof(Shape286); + case 287: + return nameof(Shape287); + case 288: + return nameof(Shape288); + case 289: + return nameof(Shape289); + case 290: + return nameof(Shape290); + case 291: + return nameof(Shape291); + case 292: + return nameof(Shape292); + case 293: + return nameof(Shape293); + case 294: + return nameof(Shape294); + case 295: + return nameof(Shape295); + case 296: + return nameof(Shape296); + case 297: + return nameof(Shape297); + case 298: + return nameof(Shape298); + case 299: + return nameof(Shape299); + case 300: + return nameof(Shape300); + case 301: + return nameof(Shape301); + case 302: + return nameof(Shape302); + case 303: + return nameof(Shape303); + case 304: + return nameof(Shape304); + case 305: + return nameof(Shape305); + case 306: + return nameof(Shape306); + case 307: + return nameof(Shape307); + case 308: + return nameof(Shape308); + case 309: + return nameof(Shape309); + case 310: + return nameof(Shape310); + case 311: + return nameof(Shape311); + case 312: + return nameof(Shape312); + case 313: + return nameof(Shape313); + case 314: + return nameof(Shape314); + case 315: + return nameof(Shape315); + case 316: + return nameof(Shape316); + case 317: + return nameof(Shape317); + case 318: + return nameof(Shape318); + case 319: + return nameof(Shape319); + case 320: + return nameof(Shape320); + case 321: + return nameof(Shape321); + case 322: + return nameof(Shape322); + case 323: + return nameof(Shape323); + case 324: + return nameof(Shape324); + case 325: + return nameof(Shape325); + case 326: + return nameof(Shape326); + case 327: + return nameof(Shape327); + case 328: + return nameof(Shape328); + case 329: + return nameof(Shape329); + case 330: + return nameof(Shape330); + case 331: + return nameof(Shape331); + case 332: + return nameof(Shape332); + case 333: + return nameof(Shape333); + case 334: + return nameof(Shape334); + case 335: + return nameof(Shape335); + case 336: + return nameof(Shape336); + case 337: + return nameof(Shape337); + case 338: + return nameof(Shape338); + case 339: + return nameof(Shape339); + case 340: + return nameof(Shape340); + case 341: + return nameof(Shape341); + case 342: + return nameof(Shape342); + case 343: + return nameof(Shape343); + case 344: + return nameof(Shape344); + case 345: + return nameof(Shape345); + case 346: + return nameof(Shape346); + case 347: + return nameof(Shape347); + case 348: + return nameof(Shape348); + case 349: + return nameof(Shape349); + case 350: + return nameof(Shape350); + case 351: + return nameof(Shape351); + case 352: + return nameof(Shape352); + case 353: + return nameof(Shape353); + case 354: + return nameof(Shape354); + case 355: + return nameof(Shape355); + case 356: + return nameof(Shape356); + case 357: + return nameof(Shape357); + case 358: + return nameof(Shape358); + case 359: + return nameof(Shape359); + case 360: + return nameof(Shape360); + case 361: + return nameof(Shape361); + case 362: + return nameof(Shape362); + case 363: + return nameof(Shape363); + case 364: + return nameof(Shape364); + case 365: + return nameof(Shape365); + case 366: + return nameof(Shape366); + case 367: + return nameof(Shape367); + case 368: + return nameof(Shape368); + case 369: + return nameof(Shape369); + case 370: + return nameof(Shape370); + case 371: + return nameof(Shape371); + case 372: + return nameof(Shape372); + case 373: + return nameof(Shape373); + case 374: + return nameof(Shape374); + case 375: + return nameof(Shape375); + case 376: + return nameof(Shape376); + case 377: + return nameof(Shape377); + case 378: + return nameof(Shape378); + case 379: + return nameof(Shape379); + case 380: + return nameof(Shape380); + case 381: + return nameof(Shape381); + case 382: + return nameof(Shape382); + case 383: + return nameof(Shape383); + case 384: + return nameof(Shape384); + case 385: + return nameof(Shape385); + case 386: + return nameof(Shape386); + case 387: + return nameof(Shape387); + case 388: + return nameof(Shape388); + case 389: + return nameof(Shape389); + case 390: + return nameof(Shape390); + case 391: + return nameof(Shape391); + case 392: + return nameof(Shape392); + case 393: + return nameof(Shape393); + case 394: + return nameof(Shape394); + case 395: + return nameof(Shape395); + case 396: + return nameof(Shape396); + case 397: + return nameof(Shape397); + case 398: + return nameof(Shape398); + case 399: + return nameof(Shape399); + case 400: + return nameof(Shape400); + case 401: + return nameof(Shape401); + case 402: + return nameof(Shape402); + case 403: + return nameof(Shape403); + case 404: + return nameof(Shape404); + case 405: + return nameof(Shape405); + case 406: + return nameof(Shape406); + case 407: + return nameof(Shape407); + case 408: + return nameof(Shape408); + case 409: + return nameof(Shape409); + case 410: + return nameof(Shape410); + case 411: + return nameof(Shape411); + case 412: + return nameof(Shape412); + case 413: + return nameof(Shape413); + case 414: + return nameof(Shape414); + case 415: + return nameof(Shape415); + case 416: + return nameof(Shape416); + case 417: + return nameof(Shape417); + case 418: + return nameof(Shape418); + case 419: + return nameof(Shape419); + case 420: + return nameof(Shape420); + case 421: + return nameof(Shape421); + case 422: + return nameof(Shape422); + case 423: + return nameof(Shape423); + case 424: + return nameof(Shape424); + case 425: + return nameof(Shape425); + case 426: + return nameof(Shape426); + case 427: + return nameof(Shape427); + case 428: + return nameof(Shape428); + case 429: + return nameof(Shape429); + case 430: + return nameof(Shape430); + case 431: + return nameof(Shape431); + case 432: + return nameof(Shape432); + case 433: + return nameof(Shape433); + case 434: + return nameof(Shape434); + case 435: + return nameof(Shape435); + case 436: + return nameof(Shape436); + case 437: + return nameof(Shape437); + case 438: + return nameof(Shape438); + case 439: + return nameof(Shape439); + case 440: + return nameof(Shape440); + case 441: + return nameof(Shape441); + case 442: + return nameof(Shape442); + case 443: + return nameof(Shape443); + case 444: + return nameof(Shape444); + case 445: + return nameof(Shape445); + case 446: + return nameof(Shape446); + case 447: + return nameof(Shape447); + case 448: + return nameof(Shape448); + case 449: + return nameof(Shape449); + case 450: + return nameof(Shape450); + case 451: + return nameof(Shape451); + case 452: + return nameof(Shape452); + case 453: + return nameof(Shape453); + case 454: + return nameof(Shape454); + case 455: + return nameof(Shape455); + case 456: + return nameof(Shape456); + case 457: + return nameof(Shape457); + case 458: + return nameof(Shape458); + case 459: + return nameof(Shape459); + case 460: + return nameof(Shape460); + case 461: + return nameof(Shape461); + case 462: + return nameof(Shape462); + case 463: + return nameof(Shape463); + case 464: + return nameof(Shape464); + case 465: + return nameof(Shape465); + case 466: + return nameof(Shape466); + case 467: + return nameof(Shape467); + case 468: + return nameof(Shape468); + case 469: + return nameof(Shape469); + case 470: + return nameof(Shape470); + case 471: + return nameof(Shape471); + case 472: + return nameof(Shape472); + case 473: + return nameof(Shape473); + case 474: + return nameof(Shape474); + case 475: + return nameof(Shape475); + case 476: + return nameof(Shape476); + case 477: + return nameof(Shape477); + case 478: + return nameof(Shape478); + case 479: + return nameof(Shape479); + case 480: + return nameof(Shape480); + case 481: + return nameof(Shape481); + case 482: + return nameof(Shape482); + case 483: + return nameof(Shape483); + case 484: + return nameof(Shape484); + case 485: + return nameof(Shape485); + case 486: + return nameof(Shape486); + case 487: + return nameof(Shape487); + case 488: + return nameof(Shape488); + case 489: + return nameof(Shape489); + case 490: + return nameof(Shape490); + case 491: + return nameof(Shape491); + case 492: + return nameof(Shape492); + case 493: + return nameof(Shape493); + case 494: + return nameof(Shape494); + case 495: + return nameof(Shape495); + case 496: + return nameof(Shape496); + case 497: + return nameof(Shape497); + case 498: + return nameof(Shape498); + case 499: + return nameof(Shape499); + case 500: + return nameof(Shape500); + case 501: + return nameof(Shape501); + case 502: + return nameof(Shape502); + case 503: + return nameof(Shape503); + case 504: + return nameof(Shape504); + case 505: + return nameof(Shape505); + case 506: + return nameof(Shape506); + case 507: + return nameof(Shape507); + case 508: + return nameof(Shape508); + case 509: + return nameof(Shape509); + case 510: + return nameof(Shape510); + case 511: + return nameof(Shape511); + case 512: + return nameof(Shape512); + case 513: + return nameof(Shape513); + case 514: + return nameof(Shape514); + case 515: + return nameof(Shape515); + case 516: + return nameof(Shape516); + case 517: + return nameof(Shape517); + case 518: + return nameof(Shape518); + case 519: + return nameof(Shape519); + case 520: + return nameof(Shape520); + case 521: + return nameof(Shape521); + case 522: + return nameof(Shape522); + case 523: + return nameof(Shape523); + case 524: + return nameof(Shape524); + case 525: + return nameof(Shape525); + case 526: + return nameof(Shape526); + case 527: + return nameof(Shape527); + case 528: + return nameof(Shape528); + case 529: + return nameof(Shape529); + case 530: + return nameof(Shape530); + case 531: + return nameof(Shape531); + case 532: + return nameof(Shape532); + case 533: + return nameof(Shape533); + case 534: + return nameof(Shape534); + case 535: + return nameof(Shape535); + case 536: + return nameof(Shape536); + case 537: + return nameof(Shape537); + case 538: + return nameof(Shape538); + case 539: + return nameof(Shape539); + case 540: + return nameof(Shape540); + case 541: + return nameof(Shape541); + case 542: + return nameof(Shape542); + case 543: + return nameof(Shape543); + case 544: + return nameof(Shape544); + case 545: + return nameof(Shape545); + case 546: + return nameof(Shape546); + case 547: + return nameof(Shape547); + case 548: + return nameof(Shape548); + case 549: + return nameof(Shape549); + case 550: + return nameof(Shape550); + case 551: + return nameof(Shape551); + case 552: + return nameof(Shape552); + case 553: + return nameof(Shape553); + case 554: + return nameof(Shape554); + case 555: + return nameof(Shape555); + case 556: + return nameof(Shape556); + case 557: + return nameof(Shape557); + case 558: + return nameof(Shape558); + case 559: + return nameof(Shape559); + case 560: + return nameof(Shape560); + case 561: + return nameof(Shape561); + case 562: + return nameof(Shape562); + case 563: + return nameof(Shape563); + case 564: + return nameof(Shape564); + case 565: + return nameof(Shape565); + case 566: + return nameof(Shape566); + case 567: + return nameof(Shape567); + case 568: + return nameof(Shape568); + case 569: + return nameof(Shape569); + case 570: + return nameof(Shape570); + case 571: + return nameof(Shape571); + case 572: + return nameof(Shape572); + case 573: + return nameof(Shape573); + case 574: + return nameof(Shape574); + case 575: + return nameof(Shape575); + case 576: + return nameof(Shape576); + case 577: + return nameof(Shape577); + case 578: + return nameof(Shape578); + case 579: + return nameof(Shape579); + case 580: + return nameof(Shape580); + case 581: + return nameof(Shape581); + case 582: + return nameof(Shape582); + case 583: + return nameof(Shape583); + case 584: + return nameof(Shape584); + case 585: + return nameof(Shape585); + case 586: + return nameof(Shape586); + case 587: + return nameof(Shape587); + case 588: + return nameof(Shape588); + case 589: + return nameof(Shape589); + case 590: + return nameof(Shape590); + case 591: + return nameof(Shape591); + case 592: + return nameof(Shape592); + case 593: + return nameof(Shape593); + case 594: + return nameof(Shape594); + case 595: + return nameof(Shape595); + case 596: + return nameof(Shape596); + case 597: + return nameof(Shape597); + case 598: + return nameof(Shape598); + case 599: + return nameof(Shape599); + case 600: + return nameof(Shape600); + case 601: + return nameof(Shape601); + case 602: + return nameof(Shape602); + case 603: + return nameof(Shape603); + case 604: + return nameof(Shape604); + case 605: + return nameof(Shape605); + case 606: + return nameof(Shape606); + case 607: + return nameof(Shape607); + case 608: + return nameof(Shape608); + case 609: + return nameof(Shape609); + case 610: + return nameof(Shape610); + case 611: + return nameof(Shape611); + case 612: + return nameof(Shape612); + case 613: + return nameof(Shape613); + case 614: + return nameof(Shape614); + case 615: + return nameof(Shape615); + case 616: + return nameof(Shape616); + case 617: + return nameof(Shape617); + case 618: + return nameof(Shape618); + case 619: + return nameof(Shape619); + case 620: + return nameof(Shape620); + case 621: + return nameof(Shape621); + case 622: + return nameof(Shape622); + case 623: + return nameof(Shape623); + case 624: + return nameof(Shape624); + case 625: + return nameof(Shape625); + case 626: + return nameof(Shape626); + case 627: + return nameof(Shape627); + case 628: + return nameof(Shape628); + case 629: + return nameof(Shape629); + case 630: + return nameof(Shape630); + case 631: + return nameof(Shape631); + case 632: + return nameof(Shape632); + case 633: + return nameof(Shape633); + case 634: + return nameof(Shape634); + case 635: + return nameof(Shape635); + case 636: + return nameof(Shape636); + case 637: + return nameof(Shape637); + case 638: + return nameof(Shape638); + case 639: + return nameof(Shape639); + case 640: + return nameof(Shape640); + case 641: + return nameof(Shape641); + case 642: + return nameof(Shape642); + case 643: + return nameof(Shape643); + case 644: + return nameof(Shape644); + case 645: + return nameof(Shape645); + case 646: + return nameof(Shape646); + case 647: + return nameof(Shape647); + case 648: + return nameof(Shape648); + case 649: + return nameof(Shape649); + case 650: + return nameof(Shape650); + case 651: + return nameof(Shape651); + case 652: + return nameof(Shape652); + case 653: + return nameof(Shape653); + case 654: + return nameof(Shape654); + case 655: + return nameof(Shape655); + case 656: + return nameof(Shape656); + case 657: + return nameof(Shape657); + case 658: + return nameof(Shape658); + case 659: + return nameof(Shape659); + case 660: + return nameof(Shape660); + case 661: + return nameof(Shape661); + case 662: + return nameof(Shape662); + case 663: + return nameof(Shape663); + case 664: + return nameof(Shape664); + case 665: + return nameof(Shape665); + case 666: + return nameof(Shape666); + case 667: + return nameof(Shape667); + case 668: + return nameof(Shape668); + case 669: + return nameof(Shape669); + case 670: + return nameof(Shape670); + case 671: + return nameof(Shape671); + case 672: + return nameof(Shape672); + case 673: + return nameof(Shape673); + case 674: + return nameof(Shape674); + case 675: + return nameof(Shape675); + case 676: + return nameof(Shape676); + case 677: + return nameof(Shape677); + case 678: + return nameof(Shape678); + case 679: + return nameof(Shape679); + case 680: + return nameof(Shape680); + case 681: + return nameof(Shape681); + case 682: + return nameof(Shape682); + case 683: + return nameof(Shape683); + case 684: + return nameof(Shape684); + case 685: + return nameof(Shape685); + case 686: + return nameof(Shape686); + case 687: + return nameof(Shape687); + case 688: + return nameof(Shape688); + case 689: + return nameof(Shape689); + case 690: + return nameof(Shape690); + case 691: + return nameof(Shape691); + case 692: + return nameof(Shape692); + case 693: + return nameof(Shape693); + case 694: + return nameof(Shape694); + case 695: + return nameof(Shape695); + case 696: + return nameof(Shape696); + case 697: + return nameof(Shape697); + case 698: + return nameof(Shape698); + case 699: + return nameof(Shape699); + case 700: + return nameof(Shape700); + case 701: + return nameof(Shape701); + case 702: + return nameof(Shape702); + case 703: + return nameof(Shape703); + case 704: + return nameof(Shape704); + case 705: + return nameof(Shape705); + case 706: + return nameof(Shape706); + case 707: + return nameof(Shape707); + case 708: + return nameof(Shape708); + case 709: + return nameof(Shape709); + case 710: + return nameof(Shape710); + case 711: + return nameof(Shape711); + case 712: + return nameof(Shape712); + case 713: + return nameof(Shape713); + case 714: + return nameof(Shape714); + case 715: + return nameof(Shape715); + case 716: + return nameof(Shape716); + case 717: + return nameof(Shape717); + case 718: + return nameof(Shape718); + case 719: + return nameof(Shape719); + case 720: + return nameof(Shape720); + case 721: + return nameof(Shape721); + case 722: + return nameof(Shape722); + case 723: + return nameof(Shape723); + case 724: + return nameof(Shape724); + case 725: + return nameof(Shape725); + case 726: + return nameof(Shape726); + case 727: + return nameof(Shape727); + case 728: + return nameof(Shape728); + case 729: + return nameof(Shape729); + case 730: + return nameof(Shape730); + case 731: + return nameof(Shape731); + case 732: + return nameof(Shape732); + case 733: + return nameof(Shape733); + case 734: + return nameof(Shape734); + case 735: + return nameof(Shape735); + case 736: + return nameof(Shape736); + case 737: + return nameof(Shape737); + case 738: + return nameof(Shape738); + case 739: + return nameof(Shape739); + case 740: + return nameof(Shape740); + case 741: + return nameof(Shape741); + case 742: + return nameof(Shape742); + case 743: + return nameof(Shape743); + case 744: + return nameof(Shape744); + case 745: + return nameof(Shape745); + case 746: + return nameof(Shape746); + case 747: + return nameof(Shape747); + case 748: + return nameof(Shape748); + case 749: + return nameof(Shape749); + case 750: + return nameof(Shape750); + case 751: + return nameof(Shape751); + case 752: + return nameof(Shape752); + case 753: + return nameof(Shape753); + case 754: + return nameof(Shape754); + case 755: + return nameof(Shape755); + case 756: + return nameof(Shape756); + case 757: + return nameof(Shape757); + case 758: + return nameof(Shape758); + case 759: + return nameof(Shape759); + case 760: + return nameof(Shape760); + case 761: + return nameof(Shape761); + case 762: + return nameof(Shape762); + case 763: + return nameof(Shape763); + case 764: + return nameof(Shape764); + case 765: + return nameof(Shape765); + case 766: + return nameof(Shape766); + case 767: + return nameof(Shape767); + case 768: + return nameof(Shape768); + case 769: + return nameof(Shape769); + case 770: + return nameof(Shape770); + case 771: + return nameof(Shape771); + case 772: + return nameof(Shape772); + case 773: + return nameof(Shape773); + case 774: + return nameof(Shape774); + case 775: + return nameof(Shape775); + case 776: + return nameof(Shape776); + case 777: + return nameof(Shape777); + case 778: + return nameof(Shape778); + case 779: + return nameof(Shape779); + case 780: + return nameof(Shape780); + case 781: + return nameof(Shape781); + case 782: + return nameof(Shape782); + case 783: + return nameof(Shape783); + case 784: + return nameof(Shape784); + case 785: + return nameof(Shape785); + case 786: + return nameof(Shape786); + case 787: + return nameof(Shape787); + case 788: + return nameof(Shape788); + case 789: + return nameof(Shape789); + case 790: + return nameof(Shape790); + case 791: + return nameof(Shape791); + case 792: + return nameof(Shape792); + case 793: + return nameof(Shape793); + case 794: + return nameof(Shape794); + case 795: + return nameof(Shape795); + case 796: + return nameof(Shape796); + case 797: + return nameof(Shape797); + case 798: + return nameof(Shape798); + case 799: + return nameof(Shape799); + case 800: + return nameof(Shape800); + case 801: + return nameof(Shape801); + case 802: + return nameof(Shape802); + case 803: + return nameof(Shape803); + case 804: + return nameof(Shape804); + case 805: + return nameof(Shape805); + case 806: + return nameof(Shape806); + case 807: + return nameof(Shape807); + case 808: + return nameof(Shape808); + case 809: + return nameof(Shape809); + case 810: + return nameof(Shape810); + case 811: + return nameof(Shape811); + case 812: + return nameof(Shape812); + case 813: + return nameof(Shape813); + case 814: + return nameof(Shape814); + case 815: + return nameof(Shape815); + case 816: + return nameof(Shape816); + case 817: + return nameof(Shape817); + case 818: + return nameof(Shape818); + case 819: + return nameof(Shape819); + case 820: + return nameof(Shape820); + case 821: + return nameof(Shape821); + case 822: + return nameof(Shape822); + case 823: + return nameof(Shape823); + case 824: + return nameof(Shape824); + case 825: + return nameof(Shape825); + case 826: + return nameof(Shape826); + case 827: + return nameof(Shape827); + case 828: + return nameof(Shape828); + case 829: + return nameof(Shape829); + case 830: + return nameof(Shape830); + case 831: + return nameof(Shape831); + case 832: + return nameof(Shape832); + case 833: + return nameof(Shape833); + case 834: + return nameof(Shape834); + case 835: + return nameof(Shape835); + case 836: + return nameof(Shape836); + case 837: + return nameof(Shape837); + case 838: + return nameof(Shape838); + case 839: + return nameof(Shape839); + case 840: + return nameof(Shape840); + case 841: + return nameof(Shape841); + case 842: + return nameof(Shape842); + case 843: + return nameof(Shape843); + case 844: + return nameof(Shape844); + case 845: + return nameof(Shape845); + case 846: + return nameof(Shape846); + case 847: + return nameof(Shape847); + case 848: + return nameof(Shape848); + case 849: + return nameof(Shape849); + case 850: + return nameof(Shape850); + case 851: + return nameof(Shape851); + case 852: + return nameof(Shape852); + case 853: + return nameof(Shape853); + case 854: + return nameof(Shape854); + case 855: + return nameof(Shape855); + case 856: + return nameof(Shape856); + case 857: + return nameof(Shape857); + case 858: + return nameof(Shape858); + case 859: + return nameof(Shape859); + case 860: + return nameof(Shape860); + case 861: + return nameof(Shape861); + case 862: + return nameof(Shape862); + case 863: + return nameof(Shape863); + case 864: + return nameof(Shape864); + case 865: + return nameof(Shape865); + case 866: + return nameof(Shape866); + case 867: + return nameof(Shape867); + case 868: + return nameof(Shape868); + case 869: + return nameof(Shape869); + case 870: + return nameof(Shape870); + case 871: + return nameof(Shape871); + case 872: + return nameof(Shape872); + case 873: + return nameof(Shape873); + case 874: + return nameof(Shape874); + case 875: + return nameof(Shape875); + case 876: + return nameof(Shape876); + case 877: + return nameof(Shape877); + case 878: + return nameof(Shape878); + case 879: + return nameof(Shape879); + case 880: + return nameof(Shape880); + case 881: + return nameof(Shape881); + case 882: + return nameof(Shape882); + case 883: + return nameof(Shape883); + case 884: + return nameof(Shape884); + case 885: + return nameof(Shape885); + case 886: + return nameof(Shape886); + case 887: + return nameof(Shape887); + case 888: + return nameof(Shape888); + case 889: + return nameof(Shape889); + case 890: + return nameof(Shape890); + case 891: + return nameof(Shape891); + case 892: + return nameof(Shape892); + case 893: + return nameof(Shape893); + case 894: + return nameof(Shape894); + case 895: + return nameof(Shape895); + case 896: + return nameof(Shape896); + case 897: + return nameof(Shape897); + case 898: + return nameof(Shape898); + case 899: + return nameof(Shape899); + case 900: + return nameof(Shape900); + case 901: + return nameof(Shape901); + case 902: + return nameof(Shape902); + case 903: + return nameof(Shape903); + case 904: + return nameof(Shape904); + case 905: + return nameof(Shape905); + case 906: + return nameof(Shape906); + case 907: + return nameof(Shape907); + case 908: + return nameof(Shape908); + case 909: + return nameof(Shape909); + case 910: + return nameof(Shape910); + case 911: + return nameof(Shape911); + case 912: + return nameof(Shape912); + case 913: + return nameof(Shape913); + case 914: + return nameof(Shape914); + case 915: + return nameof(Shape915); + case 916: + return nameof(Shape916); + case 917: + return nameof(Shape917); + case 918: + return nameof(Shape918); + case 919: + return nameof(Shape919); + case 920: + return nameof(Shape920); + case 921: + return nameof(Shape921); + case 922: + return nameof(Shape922); + case 923: + return nameof(Shape923); + case 924: + return nameof(Shape924); + case 925: + return nameof(Shape925); + case 926: + return nameof(Shape926); + case 927: + return nameof(Shape927); + case 928: + return nameof(Shape928); + case 929: + return nameof(Shape929); + case 930: + return nameof(Shape930); + case 931: + return nameof(Shape931); + case 932: + return nameof(Shape932); + case 933: + return nameof(Shape933); + case 934: + return nameof(Shape934); + case 935: + return nameof(Shape935); + case 936: + return nameof(Shape936); + case 937: + return nameof(Shape937); + case 938: + return nameof(Shape938); + case 939: + return nameof(Shape939); + case 940: + return nameof(Shape940); + case 941: + return nameof(Shape941); + case 942: + return nameof(Shape942); + case 943: + return nameof(Shape943); + case 944: + return nameof(Shape944); + case 945: + return nameof(Shape945); + case 946: + return nameof(Shape946); + case 947: + return nameof(Shape947); + case 948: + return nameof(Shape948); + case 949: + return nameof(Shape949); + case 950: + return nameof(Shape950); + case 951: + return nameof(Shape951); + case 952: + return nameof(Shape952); + case 953: + return nameof(Shape953); + case 954: + return nameof(Shape954); + case 955: + return nameof(Shape955); + case 956: + return nameof(Shape956); + case 957: + return nameof(Shape957); + case 958: + return nameof(Shape958); + case 959: + return nameof(Shape959); + case 960: + return nameof(Shape960); + case 961: + return nameof(Shape961); + case 962: + return nameof(Shape962); + case 963: + return nameof(Shape963); + case 964: + return nameof(Shape964); + case 965: + return nameof(Shape965); + case 966: + return nameof(Shape966); + case 967: + return nameof(Shape967); + case 968: + return nameof(Shape968); + case 969: + return nameof(Shape969); + case 970: + return nameof(Shape970); + case 971: + return nameof(Shape971); + case 972: + return nameof(Shape972); + case 973: + return nameof(Shape973); + case 974: + return nameof(Shape974); + case 975: + return nameof(Shape975); + case 976: + return nameof(Shape976); + case 977: + return nameof(Shape977); + case 978: + return nameof(Shape978); + case 979: + return nameof(Shape979); + case 980: + return nameof(Shape980); + case 981: + return nameof(Shape981); + case 982: + return nameof(Shape982); + case 983: + return nameof(Shape983); + case 984: + return nameof(Shape984); + case 985: + return nameof(Shape985); + case 986: + return nameof(Shape986); + case 987: + return nameof(Shape987); + case 988: + return nameof(Shape988); + case 989: + return nameof(Shape989); + case 990: + return nameof(Shape990); + case 991: + return nameof(Shape991); + case 992: + return nameof(Shape992); + case 993: + return nameof(Shape993); + case 994: + return nameof(Shape994); + case 995: + return nameof(Shape995); + case 996: + return nameof(Shape996); + case 997: + return nameof(Shape997); + case 998: + return nameof(Shape998); + case 999: + return nameof(Shape999); + case 1000: + return nameof(Shape1000); + case 1001: + return nameof(Shape1001); + case 1002: + return nameof(Shape1002); + case 1003: + return nameof(Shape1003); + case 1004: + return nameof(Shape1004); + case 1005: + return nameof(Shape1005); + case 1006: + return nameof(Shape1006); + case 1007: + return nameof(Shape1007); + case 1008: + return nameof(Shape1008); + case 1009: + return nameof(Shape1009); + case 1010: + return nameof(Shape1010); + case 1011: + return nameof(Shape1011); + case 1012: + return nameof(Shape1012); + case 1013: + return nameof(Shape1013); + case 1014: + return nameof(Shape1014); + case 1015: + return nameof(Shape1015); + case 1016: + return nameof(Shape1016); + case 1017: + return nameof(Shape1017); + case 1018: + return nameof(Shape1018); + case 1019: + return nameof(Shape1019); + case 1020: + return nameof(Shape1020); + case 1021: + return nameof(Shape1021); + case 1022: + return nameof(Shape1022); + case 1023: + return nameof(Shape1023); + case 1024: + return nameof(Shape1024); + case 1025: + return nameof(Shape1025); + case 1026: + return nameof(Shape1026); + case 1027: + return nameof(Shape1027); + case 1028: + return nameof(Shape1028); + case 1029: + return nameof(Shape1029); + case 1030: + return nameof(Shape1030); + case 1031: + return nameof(Shape1031); + case 1032: + return nameof(Shape1032); + case 1033: + return nameof(Shape1033); + case 1034: + return nameof(Shape1034); + case 1035: + return nameof(Shape1035); + case 1036: + return nameof(Shape1036); + case 1037: + return nameof(Shape1037); + case 1038: + return nameof(Shape1038); + case 1039: + return nameof(Shape1039); + case 1040: + return nameof(Shape1040); + case 1041: + return nameof(Shape1041); + case 1042: + return nameof(Shape1042); + case 1043: + return nameof(Shape1043); + case 1044: + return nameof(Shape1044); + case 1045: + return nameof(Shape1045); + case 1046: + return nameof(Shape1046); + case 1047: + return nameof(Shape1047); + case 1048: + return nameof(Shape1048); + case 1049: + return nameof(Shape1049); + case 1050: + return nameof(Shape1050); + case 1051: + return nameof(Shape1051); + case 1052: + return nameof(Shape1052); + case 1053: + return nameof(Shape1053); + case 1054: + return nameof(Shape1054); + case 1055: + return nameof(Shape1055); + case 1056: + return nameof(Shape1056); + case 1057: + return nameof(Shape1057); + case 1058: + return nameof(Shape1058); + case 1059: + return nameof(Shape1059); + case 1060: + return nameof(Shape1060); + case 1061: + return nameof(Shape1061); + case 1062: + return nameof(Shape1062); + case 1063: + return nameof(Shape1063); + case 1064: + return nameof(Shape1064); + case 1065: + return nameof(Shape1065); + case 1066: + return nameof(Shape1066); + case 1067: + return nameof(Shape1067); + case 1068: + return nameof(Shape1068); + case 1069: + return nameof(Shape1069); + case 1070: + return nameof(Shape1070); + case 1071: + return nameof(Shape1071); + case 1072: + return nameof(Shape1072); + case 1073: + return nameof(Shape1073); + case 1074: + return nameof(Shape1074); + case 1075: + return nameof(Shape1075); + case 1076: + return nameof(Shape1076); + case 1077: + return nameof(Shape1077); + case 1078: + return nameof(Shape1078); + case 1079: + return nameof(Shape1079); + case 1080: + return nameof(Shape1080); + case 1081: + return nameof(Shape1081); + case 1082: + return nameof(Shape1082); + case 1083: + return nameof(Shape1083); + case 1084: + return nameof(Shape1084); + case 1085: + return nameof(Shape1085); + case 1086: + return nameof(Shape1086); + case 1087: + return nameof(Shape1087); + case 1088: + return nameof(Shape1088); + case 1089: + return nameof(Shape1089); + case 1090: + return nameof(Shape1090); + case 1091: + return nameof(Shape1091); + case 1092: + return nameof(Shape1092); + case 1093: + return nameof(Shape1093); + case 1094: + return nameof(Shape1094); + case 1095: + return nameof(Shape1095); + case 1096: + return nameof(Shape1096); + case 1097: + return nameof(Shape1097); + case 1098: + return nameof(Shape1098); + case 1099: + return nameof(Shape1099); + case 1100: + return nameof(Shape1100); + case 1101: + return nameof(Shape1101); + case 1102: + return nameof(Shape1102); + case 1103: + return nameof(Shape1103); + case 1104: + return nameof(Shape1104); + case 1105: + return nameof(Shape1105); + case 1106: + return nameof(Shape1106); + case 1107: + return nameof(Shape1107); + case 1108: + return nameof(Shape1108); + case 1109: + return nameof(Shape1109); + case 1110: + return nameof(Shape1110); + case 1111: + return nameof(Shape1111); + case 1112: + return nameof(Shape1112); + case 1113: + return nameof(Shape1113); + case 1114: + return nameof(Shape1114); + case 1115: + return nameof(Shape1115); + case 1116: + return nameof(Shape1116); + case 1117: + return nameof(Shape1117); + case 1118: + return nameof(Shape1118); + case 1119: + return nameof(Shape1119); + case 1120: + return nameof(Shape1120); + case 1121: + return nameof(Shape1121); + case 1122: + return nameof(Shape1122); + case 1123: + return nameof(Shape1123); + case 1124: + return nameof(Shape1124); + case 1125: + return nameof(Shape1125); + case 1126: + return nameof(Shape1126); + case 1127: + return nameof(Shape1127); + case 1128: + return nameof(Shape1128); + case 1129: + return nameof(Shape1129); + case 1130: + return nameof(Shape1130); + case 1131: + return nameof(Shape1131); + case 1132: + return nameof(Shape1132); + case 1133: + return nameof(Shape1133); + case 1134: + return nameof(Shape1134); + case 1135: + return nameof(Shape1135); + case 1136: + return nameof(Shape1136); + case 1137: + return nameof(Shape1137); + case 1138: + return nameof(Shape1138); + case 1139: + return nameof(Shape1139); + case 1140: + return nameof(Shape1140); + case 1141: + return nameof(Shape1141); + case 1142: + return nameof(Shape1142); + case 1143: + return nameof(Shape1143); + case 1144: + return nameof(Shape1144); + case 1145: + return nameof(Shape1145); + case 1146: + return nameof(Shape1146); + case 1147: + return nameof(Shape1147); + case 1148: + return nameof(Shape1148); + case 1149: + return nameof(Shape1149); + case 1150: + return nameof(Shape1150); + case 1151: + return nameof(Shape1151); + case 1152: + return nameof(Shape1152); + case 1153: + return nameof(Shape1153); + case 1154: + return nameof(Shape1154); + case 1155: + return nameof(Shape1155); + case 1156: + return nameof(Shape1156); + case 1157: + return nameof(Shape1157); + case 1158: + return nameof(Shape1158); + case 1159: + return nameof(Shape1159); + case 1160: + return nameof(Shape1160); + case 1161: + return nameof(Shape1161); + case 1162: + return nameof(Shape1162); + case 1163: + return nameof(Shape1163); + case 1164: + return nameof(Shape1164); + case 1165: + return nameof(Shape1165); + case 1166: + return nameof(Shape1166); + case 1167: + return nameof(Shape1167); + case 1168: + return nameof(Shape1168); + case 1169: + return nameof(Shape1169); + case 1170: + return nameof(Shape1170); + case 1171: + return nameof(Shape1171); + case 1172: + return nameof(Shape1172); + case 1173: + return nameof(Shape1173); + case 1174: + return nameof(Shape1174); + case 1175: + return nameof(Shape1175); + case 1176: + return nameof(Shape1176); + case 1177: + return nameof(Shape1177); + case 1178: + return nameof(Shape1178); + case 1179: + return nameof(Shape1179); + case 1180: + return nameof(Shape1180); + case 1181: + return nameof(Shape1181); + case 1182: + return nameof(Shape1182); + case 1183: + return nameof(Shape1183); + case 1184: + return nameof(Shape1184); + case 1185: + return nameof(Shape1185); + case 1186: + return nameof(Shape1186); + case 1187: + return nameof(Shape1187); + case 1188: + return nameof(Shape1188); + case 1189: + return nameof(Shape1189); + case 1190: + return nameof(Shape1190); + case 1191: + return nameof(Shape1191); + case 1192: + return nameof(Shape1192); + case 1193: + return nameof(Shape1193); + case 1194: + return nameof(Shape1194); + case 1195: + return nameof(Shape1195); + case 1196: + return nameof(Shape1196); + case 1197: + return nameof(Shape1197); + case 1198: + return nameof(Shape1198); + case 1199: + return nameof(Shape1199); + case 1200: + return nameof(Shape1200); + case 1201: + return nameof(Shape1201); + case 1202: + return nameof(Shape1202); + case 1203: + return nameof(Shape1203); + case 1204: + return nameof(Shape1204); + case 1205: + return nameof(Shape1205); + case 1206: + return nameof(Shape1206); + case 1207: + return nameof(Shape1207); + case 1208: + return nameof(Shape1208); + case 1209: + return nameof(Shape1209); + case 1210: + return nameof(Shape1210); + case 1211: + return nameof(Shape1211); + case 1212: + return nameof(Shape1212); + case 1213: + return nameof(Shape1213); + case 1214: + return nameof(Shape1214); + case 1215: + return nameof(Shape1215); + case 1216: + return nameof(Shape1216); + case 1217: + return nameof(Shape1217); + case 1218: + return nameof(Shape1218); + case 1219: + return nameof(Shape1219); + case 1220: + return nameof(Shape1220); + case 1221: + return nameof(Shape1221); + case 1222: + return nameof(Shape1222); + case 1223: + return nameof(Shape1223); + case 1224: + return nameof(Shape1224); + case 1225: + return nameof(Shape1225); + case 1226: + return nameof(Shape1226); + case 1227: + return nameof(Shape1227); + case 1228: + return nameof(Shape1228); + case 1229: + return nameof(Shape1229); + case 1230: + return nameof(Shape1230); + case 1231: + return nameof(Shape1231); + case 1232: + return nameof(Shape1232); + case 1233: + return nameof(Shape1233); + case 1234: + return nameof(Shape1234); + case 1235: + return nameof(Shape1235); + case 1236: + return nameof(Shape1236); + case 1237: + return nameof(Shape1237); + case 1238: + return nameof(Shape1238); + case 1239: + return nameof(Shape1239); + case 1240: + return nameof(Shape1240); + case 1241: + return nameof(Shape1241); + case 1242: + return nameof(Shape1242); + case 1243: + return nameof(Shape1243); + case 1244: + return nameof(Shape1244); + case 1245: + return nameof(Shape1245); + case 1246: + return nameof(Shape1246); + case 1247: + return nameof(Shape1247); + case 1248: + return nameof(Shape1248); + case 1249: + return nameof(Shape1249); + case 1250: + return nameof(Shape1250); + case 1251: + return nameof(Shape1251); + case 1252: + return nameof(Shape1252); + case 1253: + return nameof(Shape1253); + case 1254: + return nameof(Shape1254); + case 1255: + return nameof(Shape1255); + case 1256: + return nameof(Shape1256); + case 1257: + return nameof(Shape1257); + case 1258: + return nameof(Shape1258); + case 1259: + return nameof(Shape1259); + case 1260: + return nameof(Shape1260); + case 1261: + return nameof(Shape1261); + case 1262: + return nameof(Shape1262); + case 1263: + return nameof(Shape1263); + case 1264: + return nameof(Shape1264); + case 1265: + return nameof(Shape1265); + case 1266: + return nameof(Shape1266); + case 1267: + return nameof(Shape1267); + case 1268: + return nameof(Shape1268); + case 1269: + return nameof(Shape1269); + case 1270: + return nameof(Shape1270); + case 1271: + return nameof(Shape1271); + case 1272: + return nameof(Shape1272); + case 1273: + return nameof(Shape1273); + case 1274: + return nameof(Shape1274); + case 1275: + return nameof(Shape1275); + case 1276: + return nameof(Shape1276); + case 1277: + return nameof(Shape1277); + case 1278: + return nameof(Shape1278); + case 1279: + return nameof(Shape1279); + case 1280: + return nameof(Shape1280); + case 1281: + return nameof(Shape1281); + case 1282: + return nameof(Shape1282); + case 1283: + return nameof(Shape1283); + case 1284: + return nameof(Shape1284); + case 1285: + return nameof(Shape1285); + case 1286: + return nameof(Shape1286); + case 1287: + return nameof(Shape1287); + case 1288: + return nameof(Shape1288); + case 1289: + return nameof(Shape1289); + case 1290: + return nameof(Shape1290); + case 1291: + return nameof(Shape1291); + case 1292: + return nameof(Shape1292); + case 1293: + return nameof(Shape1293); + case 1294: + return nameof(Shape1294); + case 1295: + return nameof(Shape1295); + case 1296: + return nameof(Shape1296); + case 1297: + return nameof(Shape1297); + case 1298: + return nameof(Shape1298); + case 1299: + return nameof(Shape1299); + case 1300: + return nameof(Shape1300); + case 1301: + return nameof(Shape1301); + case 1302: + return nameof(Shape1302); + case 1303: + return nameof(Shape1303); + case 1304: + return nameof(Shape1304); + case 1305: + return nameof(Shape1305); + case 1306: + return nameof(Shape1306); + case 1307: + return nameof(Shape1307); + case 1308: + return nameof(Shape1308); + case 1309: + return nameof(Shape1309); + case 1310: + return nameof(Shape1310); + case 1311: + return nameof(Shape1311); + case 1312: + return nameof(Shape1312); + case 1313: + return nameof(Shape1313); + case 1314: + return nameof(Shape1314); + case 1315: + return nameof(Shape1315); + case 1316: + return nameof(Shape1316); + case 1317: + return nameof(Shape1317); + case 1318: + return nameof(Shape1318); + case 1319: + return nameof(Shape1319); + case 1320: + return nameof(Shape1320); + case 1321: + return nameof(Shape1321); + case 1322: + return nameof(Shape1322); + case 1323: + return nameof(Shape1323); + case 1324: + return nameof(Shape1324); + case 1325: + return nameof(Shape1325); + case 1326: + return nameof(Shape1326); + case 1327: + return nameof(Shape1327); + case 1328: + return nameof(Shape1328); + case 1329: + return nameof(Shape1329); + case 1330: + return nameof(Shape1330); + case 1331: + return nameof(Shape1331); + case 1332: + return nameof(Shape1332); + case 1333: + return nameof(Shape1333); + case 1334: + return nameof(Shape1334); + case 1335: + return nameof(Shape1335); + case 1336: + return nameof(Shape1336); + case 1337: + return nameof(Shape1337); + case 1338: + return nameof(Shape1338); + case 1339: + return nameof(Shape1339); + case 1340: + return nameof(Shape1340); + case 1341: + return nameof(Shape1341); + case 1342: + return nameof(Shape1342); + case 1343: + return nameof(Shape1343); + case 1344: + return nameof(Shape1344); + case 1345: + return nameof(Shape1345); + case 1346: + return nameof(Shape1346); + case 1347: + return nameof(Shape1347); + case 1348: + return nameof(Shape1348); + case 1349: + return nameof(Shape1349); + case 1350: + return nameof(Shape1350); + case 1351: + return nameof(Shape1351); + case 1352: + return nameof(Shape1352); + case 1353: + return nameof(Shape1353); + case 1354: + return nameof(Shape1354); + case 1355: + return nameof(Shape1355); + case 1356: + return nameof(Shape1356); + case 1357: + return nameof(Shape1357); + case 1358: + return nameof(Shape1358); + case 1359: + return nameof(Shape1359); + case 1360: + return nameof(Shape1360); + case 1361: + return nameof(Shape1361); + case 1362: + return nameof(Shape1362); + case 1363: + return nameof(Shape1363); + case 1364: + return nameof(Shape1364); + case 1365: + return nameof(Shape1365); + case 1366: + return nameof(Shape1366); + case 1367: + return nameof(Shape1367); + case 1368: + return nameof(Shape1368); + case 1369: + return nameof(Shape1369); + case 1370: + return nameof(Shape1370); + case 1371: + return nameof(Shape1371); + case 1372: + return nameof(Shape1372); + case 1373: + return nameof(Shape1373); + case 1374: + return nameof(Shape1374); + case 1375: + return nameof(Shape1375); + case 1376: + return nameof(Shape1376); + case 1377: + return nameof(Shape1377); + case 1378: + return nameof(Shape1378); + case 1379: + return nameof(Shape1379); + case 1380: + return nameof(Shape1380); + case 1381: + return nameof(Shape1381); + case 1382: + return nameof(Shape1382); + case 1383: + return nameof(Shape1383); + case 1384: + return nameof(Shape1384); + case 1385: + return nameof(Shape1385); + case 1386: + return nameof(Shape1386); + case 1387: + return nameof(Shape1387); + case 1388: + return nameof(Shape1388); + case 1389: + return nameof(Shape1389); + case 1390: + return nameof(Shape1390); + case 1391: + return nameof(Shape1391); + case 1392: + return nameof(Shape1392); + case 1393: + return nameof(Shape1393); + case 1394: + return nameof(Shape1394); + case 1395: + return nameof(Shape1395); + case 1396: + return nameof(Shape1396); + case 1397: + return nameof(Shape1397); + case 1398: + return nameof(Shape1398); + case 1399: + return nameof(Shape1399); + case 1400: + return nameof(Shape1400); + case 1401: + return nameof(Shape1401); + case 1402: + return nameof(Shape1402); + case 1403: + return nameof(Shape1403); + case 1404: + return nameof(Shape1404); + case 1405: + return nameof(Shape1405); + case 1406: + return nameof(Shape1406); + case 1407: + return nameof(Shape1407); + case 1408: + return nameof(Shape1408); + case 1409: + return nameof(Shape1409); + case 1410: + return nameof(Shape1410); + case 1411: + return nameof(Shape1411); + case 1412: + return nameof(Shape1412); + case 1413: + return nameof(Shape1413); + case 1414: + return nameof(Shape1414); + case 1415: + return nameof(Shape1415); + case 1416: + return nameof(Shape1416); + case 1417: + return nameof(Shape1417); + case 1418: + return nameof(Shape1418); + case 1419: + return nameof(Shape1419); + case 1420: + return nameof(Shape1420); + case 1421: + return nameof(Shape1421); + case 1422: + return nameof(Shape1422); + case 1423: + return nameof(Shape1423); + case 1424: + return nameof(Shape1424); + case 1425: + return nameof(Shape1425); + case 1426: + return nameof(Shape1426); + case 1427: + return nameof(Shape1427); + case 1428: + return nameof(Shape1428); + case 1429: + return nameof(Shape1429); + case 1430: + return nameof(Shape1430); + case 1431: + return nameof(Shape1431); + case 1432: + return nameof(Shape1432); + case 1433: + return nameof(Shape1433); + case 1434: + return nameof(Shape1434); + case 1435: + return nameof(Shape1435); + case 1436: + return nameof(Shape1436); + case 1437: + return nameof(Shape1437); + case 1438: + return nameof(Shape1438); + case 1439: + return nameof(Shape1439); + case 1440: + return nameof(Shape1440); + case 1441: + return nameof(Shape1441); + case 1442: + return nameof(Shape1442); + case 1443: + return nameof(Shape1443); + case 1444: + return nameof(Shape1444); + case 1445: + return nameof(Shape1445); + case 1446: + return nameof(Shape1446); + case 1447: + return nameof(Shape1447); + case 1448: + return nameof(Shape1448); + case 1449: + return nameof(Shape1449); + case 1450: + return nameof(Shape1450); + case 1451: + return nameof(Shape1451); + case 1452: + return nameof(Shape1452); + case 1453: + return nameof(Shape1453); + case 1454: + return nameof(Shape1454); + case 1455: + return nameof(Shape1455); + case 1456: + return nameof(Shape1456); + case 1457: + return nameof(Shape1457); + case 1458: + return nameof(Shape1458); + case 1459: + return nameof(Shape1459); + case 1460: + return nameof(Shape1460); + case 1461: + return nameof(Shape1461); + case 1462: + return nameof(Shape1462); + case 1463: + return nameof(Shape1463); + case 1464: + return nameof(Shape1464); + case 1465: + return nameof(Shape1465); + case 1466: + return nameof(Shape1466); + case 1467: + return nameof(Shape1467); + case 1468: + return nameof(Shape1468); + case 1469: + return nameof(Shape1469); + case 1470: + return nameof(Shape1470); + case 1471: + return nameof(Shape1471); + case 1472: + return nameof(Shape1472); + case 1473: + return nameof(Shape1473); + case 1474: + return nameof(Shape1474); + case 1475: + return nameof(Shape1475); + case 1476: + return nameof(Shape1476); + case 1477: + return nameof(Shape1477); + case 1478: + return nameof(Shape1478); + case 1479: + return nameof(Shape1479); + case 1480: + return nameof(Shape1480); + case 1481: + return nameof(Shape1481); + case 1482: + return nameof(Shape1482); + case 1483: + return nameof(Shape1483); + case 1484: + return nameof(Shape1484); + case 1485: + return nameof(Shape1485); + case 1486: + return nameof(Shape1486); + case 1487: + return nameof(Shape1487); + case 1488: + return nameof(Shape1488); + case 1489: + return nameof(Shape1489); + case 1490: + return nameof(Shape1490); + case 1491: + return nameof(Shape1491); + case 1492: + return nameof(Shape1492); + case 1493: + return nameof(Shape1493); + case 1494: + return nameof(Shape1494); + case 1495: + return nameof(Shape1495); + case 1496: + return nameof(Shape1496); + case 1497: + return nameof(Shape1497); + case 1498: + return nameof(Shape1498); + case 1499: + return nameof(Shape1499); + case 1500: + return nameof(Shape1500); + case 1501: + return nameof(Shape1501); + case 1502: + return nameof(Shape1502); + case 1503: + return nameof(Shape1503); + case 1504: + return nameof(Shape1504); + case 1505: + return nameof(Shape1505); + case 1506: + return nameof(Shape1506); + case 1507: + return nameof(Shape1507); + case 1508: + return nameof(Shape1508); + case 1509: + return nameof(Shape1509); + case 1510: + return nameof(Shape1510); + case 1511: + return nameof(Shape1511); + case 1512: + return nameof(Shape1512); + case 1513: + return nameof(Shape1513); + case 1514: + return nameof(Shape1514); + case 1515: + return nameof(Shape1515); + case 1516: + return nameof(Shape1516); + case 1517: + return nameof(Shape1517); + case 1518: + return nameof(Shape1518); + case 1519: + return nameof(Shape1519); + case 1520: + return nameof(Shape1520); + case 1521: + return nameof(Shape1521); + case 1522: + return nameof(Shape1522); + case 1523: + return nameof(Shape1523); + case 1524: + return nameof(Shape1524); + case 1525: + return nameof(Shape1525); + case 1526: + return nameof(Shape1526); + case 1527: + return nameof(Shape1527); + case 1528: + return nameof(Shape1528); + case 1529: + return nameof(Shape1529); + case 1530: + return nameof(Shape1530); + case 1531: + return nameof(Shape1531); + case 1532: + return nameof(Shape1532); + case 1533: + return nameof(Shape1533); + case 1534: + return nameof(Shape1534); + case 1535: + return nameof(Shape1535); + case 1536: + return nameof(Shape1536); + case 1537: + return nameof(Shape1537); + case 1538: + return nameof(Shape1538); + case 1539: + return nameof(Shape1539); + case 1540: + return nameof(Shape1540); + case 1541: + return nameof(Shape1541); + case 1542: + return nameof(Shape1542); + case 1543: + return nameof(Shape1543); + case 1544: + return nameof(Shape1544); + case 1545: + return nameof(Shape1545); + case 1546: + return nameof(Shape1546); + case 1547: + return nameof(Shape1547); + case 1548: + return nameof(Shape1548); + case 1549: + return nameof(Shape1549); + case 1550: + return nameof(Shape1550); + case 1551: + return nameof(Shape1551); + case 1552: + return nameof(Shape1552); + case 1553: + return nameof(Shape1553); + case 1554: + return nameof(Shape1554); + case 1555: + return nameof(Shape1555); + case 1556: + return nameof(Shape1556); + case 1557: + return nameof(Shape1557); + case 1558: + return nameof(Shape1558); + case 1559: + return nameof(Shape1559); + case 1560: + return nameof(Shape1560); + case 1561: + return nameof(Shape1561); + case 1562: + return nameof(Shape1562); + case 1563: + return nameof(Shape1563); + case 1564: + return nameof(Shape1564); + case 1565: + return nameof(Shape1565); + case 1566: + return nameof(Shape1566); + case 1567: + return nameof(Shape1567); + case 1568: + return nameof(Shape1568); + case 1569: + return nameof(Shape1569); + case 1570: + return nameof(Shape1570); + case 1571: + return nameof(Shape1571); + case 1572: + return nameof(Shape1572); + case 1573: + return nameof(Shape1573); + case 1574: + return nameof(Shape1574); + case 1575: + return nameof(Shape1575); + case 1576: + return nameof(Shape1576); + case 1577: + return nameof(Shape1577); + case 1578: + return nameof(Shape1578); + case 1579: + return nameof(Shape1579); + case 1580: + return nameof(Shape1580); + case 1581: + return nameof(Shape1581); + case 1582: + return nameof(Shape1582); + case 1583: + return nameof(Shape1583); + case 1584: + return nameof(Shape1584); + case 1585: + return nameof(Shape1585); + case 1586: + return nameof(Shape1586); + case 1587: + return nameof(Shape1587); + case 1588: + return nameof(Shape1588); + case 1589: + return nameof(Shape1589); + case 1590: + return nameof(Shape1590); + case 1591: + return nameof(Shape1591); + case 1592: + return nameof(Shape1592); + case 1593: + return nameof(Shape1593); + case 1594: + return nameof(Shape1594); + case 1595: + return nameof(Shape1595); + case 1596: + return nameof(Shape1596); + case 1597: + return nameof(Shape1597); + case 1598: + return nameof(Shape1598); + case 1599: + return nameof(Shape1599); + case 1600: + return nameof(Shape1600); + case 1601: + return nameof(Shape1601); + case 1602: + return nameof(Shape1602); + case 1603: + return nameof(Shape1603); + case 1604: + return nameof(Shape1604); + case 1605: + return nameof(Shape1605); + case 1606: + return nameof(Shape1606); + case 1607: + return nameof(Shape1607); + case 1608: + return nameof(Shape1608); + case 1609: + return nameof(Shape1609); + case 1610: + return nameof(Shape1610); + case 1611: + return nameof(Shape1611); + case 1612: + return nameof(Shape1612); + case 1613: + return nameof(Shape1613); + case 1614: + return nameof(Shape1614); + case 1615: + return nameof(Shape1615); + case 1616: + return nameof(Shape1616); + case 1617: + return nameof(Shape1617); + case 1618: + return nameof(Shape1618); + case 1619: + return nameof(Shape1619); + case 1620: + return nameof(Shape1620); + case 1621: + return nameof(Shape1621); + case 1622: + return nameof(Shape1622); + case 1623: + return nameof(Shape1623); + case 1624: + return nameof(Shape1624); + case 1625: + return nameof(Shape1625); + case 1626: + return nameof(Shape1626); + case 1627: + return nameof(Shape1627); + case 1628: + return nameof(Shape1628); + case 1629: + return nameof(Shape1629); + case 1630: + return nameof(Shape1630); + case 1631: + return nameof(Shape1631); + case 1632: + return nameof(Shape1632); + case 1633: + return nameof(Shape1633); + case 1634: + return nameof(Shape1634); + case 1635: + return nameof(Shape1635); + case 1636: + return nameof(Shape1636); + case 1637: + return nameof(Shape1637); + case 1638: + return nameof(Shape1638); + case 1639: + return nameof(Shape1639); + case 1640: + return nameof(Shape1640); + case 1641: + return nameof(Shape1641); + case 1642: + return nameof(Shape1642); + case 1643: + return nameof(Shape1643); + case 1644: + return nameof(Shape1644); + case 1645: + return nameof(Shape1645); + case 1646: + return nameof(Shape1646); + case 1647: + return nameof(Shape1647); + case 1648: + return nameof(Shape1648); + case 1649: + return nameof(Shape1649); + case 1650: + return nameof(Shape1650); + case 1651: + return nameof(Shape1651); + case 1652: + return nameof(Shape1652); + case 1653: + return nameof(Shape1653); + case 1654: + return nameof(Shape1654); + case 1655: + return nameof(Shape1655); + case 1656: + return nameof(Shape1656); + case 1657: + return nameof(Shape1657); + case 1658: + return nameof(Shape1658); + case 1659: + return nameof(Shape1659); + case 1660: + return nameof(Shape1660); + case 1661: + return nameof(Shape1661); + case 1662: + return nameof(Shape1662); + case 1663: + return nameof(Shape1663); + case 1664: + return nameof(Shape1664); + case 1665: + return nameof(Shape1665); + case 1666: + return nameof(Shape1666); + case 1667: + return nameof(Shape1667); + case 1668: + return nameof(Shape1668); + case 1669: + return nameof(Shape1669); + case 1670: + return nameof(Shape1670); + case 1671: + return nameof(Shape1671); + case 1672: + return nameof(Shape1672); + case 1673: + return nameof(Shape1673); + case 1674: + return nameof(Shape1674); + case 1675: + return nameof(Shape1675); + case 1676: + return nameof(Shape1676); + case 1677: + return nameof(Shape1677); + case 1678: + return nameof(Shape1678); + case 1679: + return nameof(Shape1679); + case 1680: + return nameof(Shape1680); + case 1681: + return nameof(Shape1681); + case 1682: + return nameof(Shape1682); + case 1683: + return nameof(Shape1683); + case 1684: + return nameof(Shape1684); + case 1685: + return nameof(Shape1685); + case 1686: + return nameof(Shape1686); + case 1687: + return nameof(Shape1687); + case 1688: + return nameof(Shape1688); + case 1689: + return nameof(Shape1689); + case 1690: + return nameof(Shape1690); + case 1691: + return nameof(Shape1691); + case 1692: + return nameof(Shape1692); + case 1693: + return nameof(Shape1693); + case 1694: + return nameof(Shape1694); + case 1695: + return nameof(Shape1695); + case 1696: + return nameof(Shape1696); + case 1697: + return nameof(Shape1697); + case 1698: + return nameof(Shape1698); + case 1699: + return nameof(Shape1699); + case 1700: + return nameof(Shape1700); + case 1701: + return nameof(Shape1701); + case 1702: + return nameof(Shape1702); + case 1703: + return nameof(Shape1703); + case 1704: + return nameof(Shape1704); + case 1705: + return nameof(Shape1705); + case 1706: + return nameof(Shape1706); + case 1707: + return nameof(Shape1707); + case 1708: + return nameof(Shape1708); + case 1709: + return nameof(Shape1709); + case 1710: + return nameof(Shape1710); + case 1711: + return nameof(Shape1711); + case 1712: + return nameof(Shape1712); + case 1713: + return nameof(Shape1713); + case 1714: + return nameof(Shape1714); + case 1715: + return nameof(Shape1715); + case 1716: + return nameof(Shape1716); + case 1717: + return nameof(Shape1717); + case 1718: + return nameof(Shape1718); + case 1719: + return nameof(Shape1719); + case 1720: + return nameof(Shape1720); + case 1721: + return nameof(Shape1721); + case 1722: + return nameof(Shape1722); + case 1723: + return nameof(Shape1723); + case 1724: + return nameof(Shape1724); + case 1725: + return nameof(Shape1725); + case 1726: + return nameof(Shape1726); + case 1727: + return nameof(Shape1727); + case 1728: + return nameof(Shape1728); + case 1729: + return nameof(Shape1729); + case 1730: + return nameof(Shape1730); + case 1731: + return nameof(Shape1731); + case 1732: + return nameof(Shape1732); + case 1733: + return nameof(Shape1733); + case 1734: + return nameof(Shape1734); + case 1735: + return nameof(Shape1735); + case 1736: + return nameof(Shape1736); + case 1737: + return nameof(Shape1737); + case 1738: + return nameof(Shape1738); + case 1739: + return nameof(Shape1739); + case 1740: + return nameof(Shape1740); + case 1741: + return nameof(Shape1741); + case 1742: + return nameof(Shape1742); + case 1743: + return nameof(Shape1743); + case 1744: + return nameof(Shape1744); + case 1745: + return nameof(Shape1745); + case 1746: + return nameof(Shape1746); + case 1747: + return nameof(Shape1747); + case 1748: + return nameof(Shape1748); + case 1749: + return nameof(Shape1749); + case 1750: + return nameof(Shape1750); + case 1751: + return nameof(Shape1751); + case 1752: + return nameof(Shape1752); + case 1753: + return nameof(Shape1753); + case 1754: + return nameof(Shape1754); + case 1755: + return nameof(Shape1755); + case 1756: + return nameof(Shape1756); + case 1757: + return nameof(Shape1757); + case 1758: + return nameof(Shape1758); + case 1759: + return nameof(Shape1759); + case 1760: + return nameof(Shape1760); + case 1761: + return nameof(Shape1761); + case 1762: + return nameof(Shape1762); + case 1763: + return nameof(Shape1763); + case 1764: + return nameof(Shape1764); + case 1765: + return nameof(Shape1765); + case 1766: + return nameof(Shape1766); + case 1767: + return nameof(Shape1767); + case 1768: + return nameof(Shape1768); + case 1769: + return nameof(Shape1769); + case 1770: + return nameof(Shape1770); + case 1771: + return nameof(Shape1771); + case 1772: + return nameof(Shape1772); + case 1773: + return nameof(Shape1773); + case 1774: + return nameof(Shape1774); + case 1775: + return nameof(Shape1775); + case 1776: + return nameof(Shape1776); + case 1777: + return nameof(Shape1777); + case 1778: + return nameof(Shape1778); + case 1779: + return nameof(Shape1779); + case 1780: + return nameof(Shape1780); + case 1781: + return nameof(Shape1781); + case 1782: + return nameof(Shape1782); + case 1783: + return nameof(Shape1783); + case 1784: + return nameof(Shape1784); + case 1785: + return nameof(Shape1785); + case 1786: + return nameof(Shape1786); + case 1787: + return nameof(Shape1787); + case 1788: + return nameof(Shape1788); + case 1789: + return nameof(Shape1789); + case 1790: + return nameof(Shape1790); + case 1791: + return nameof(Shape1791); + case 1792: + return nameof(Shape1792); + case 1793: + return nameof(Shape1793); + case 1794: + return nameof(Shape1794); + case 1795: + return nameof(Shape1795); + case 1796: + return nameof(Shape1796); + case 1797: + return nameof(Shape1797); + case 1798: + return nameof(Shape1798); + case 1799: + return nameof(Shape1799); + case 1800: + return nameof(Shape1800); + case 1801: + return nameof(Shape1801); + case 1802: + return nameof(Shape1802); + case 1803: + return nameof(Shape1803); + case 1804: + return nameof(Shape1804); + case 1805: + return nameof(Shape1805); + case 1806: + return nameof(Shape1806); + case 1807: + return nameof(Shape1807); + case 1808: + return nameof(Shape1808); + case 1809: + return nameof(Shape1809); + case 1810: + return nameof(Shape1810); + case 1811: + return nameof(Shape1811); + case 1812: + return nameof(Shape1812); + case 1813: + return nameof(Shape1813); + case 1814: + return nameof(Shape1814); + case 1815: + return nameof(Shape1815); + case 1816: + return nameof(Shape1816); + case 1817: + return nameof(Shape1817); + case 1818: + return nameof(Shape1818); + case 1819: + return nameof(Shape1819); + case 1820: + return nameof(Shape1820); + case 1821: + return nameof(Shape1821); + case 1822: + return nameof(Shape1822); + case 1823: + return nameof(Shape1823); + case 1824: + return nameof(Shape1824); + case 1825: + return nameof(Shape1825); + case 1826: + return nameof(Shape1826); + case 1827: + return nameof(Shape1827); + case 1828: + return nameof(Shape1828); + case 1829: + return nameof(Shape1829); + case 1830: + return nameof(Shape1830); + case 1831: + return nameof(Shape1831); + case 1832: + return nameof(Shape1832); + case 1833: + return nameof(Shape1833); + case 1834: + return nameof(Shape1834); + case 1835: + return nameof(Shape1835); + case 1836: + return nameof(Shape1836); + case 1837: + return nameof(Shape1837); + case 1838: + return nameof(Shape1838); + case 1839: + return nameof(Shape1839); + case 1840: + return nameof(Shape1840); + case 1841: + return nameof(Shape1841); + case 1842: + return nameof(Shape1842); + case 1843: + return nameof(Shape1843); + case 1844: + return nameof(Shape1844); + case 1845: + return nameof(Shape1845); + case 1846: + return nameof(Shape1846); + case 1847: + return nameof(Shape1847); + case 1848: + return nameof(Shape1848); + case 1849: + return nameof(Shape1849); + case 1850: + return nameof(Shape1850); + case 1851: + return nameof(Shape1851); + case 1852: + return nameof(Shape1852); + case 1853: + return nameof(Shape1853); + case 1854: + return nameof(Shape1854); + case 1855: + return nameof(Shape1855); + case 1856: + return nameof(Shape1856); + case 1857: + return nameof(Shape1857); + case 1858: + return nameof(Shape1858); + case 1859: + return nameof(Shape1859); + case 1860: + return nameof(Shape1860); + case 1861: + return nameof(Shape1861); + case 1862: + return nameof(Shape1862); + case 1863: + return nameof(Shape1863); + case 1864: + return nameof(Shape1864); + case 1865: + return nameof(Shape1865); + case 1866: + return nameof(Shape1866); + case 1867: + return nameof(Shape1867); + case 1868: + return nameof(Shape1868); + case 1869: + return nameof(Shape1869); + case 1870: + return nameof(Shape1870); + case 1871: + return nameof(Shape1871); + case 1872: + return nameof(Shape1872); + case 1873: + return nameof(Shape1873); + case 1874: + return nameof(Shape1874); + case 1875: + return nameof(Shape1875); + case 1876: + return nameof(Shape1876); + case 1877: + return nameof(Shape1877); + case 1878: + return nameof(Shape1878); + case 1879: + return nameof(Shape1879); + case 1880: + return nameof(Shape1880); + case 1881: + return nameof(Shape1881); + case 1882: + return nameof(Shape1882); + case 1883: + return nameof(Shape1883); + case 1884: + return nameof(Shape1884); + case 1885: + return nameof(Shape1885); + case 1886: + return nameof(Shape1886); + case 1887: + return nameof(Shape1887); + case 1888: + return nameof(Shape1888); + case 1889: + return nameof(Shape1889); + case 1890: + return nameof(Shape1890); + case 1891: + return nameof(Shape1891); + case 1892: + return nameof(Shape1892); + case 1893: + return nameof(Shape1893); + case 1894: + return nameof(Shape1894); + case 1895: + return nameof(Shape1895); + case 1896: + return nameof(Shape1896); + case 1897: + return nameof(Shape1897); + case 1898: + return nameof(Shape1898); + case 1899: + return nameof(Shape1899); + case 1900: + return nameof(Shape1900); + case 1901: + return nameof(Shape1901); + case 1902: + return nameof(Shape1902); + case 1903: + return nameof(Shape1903); + case 1904: + return nameof(Shape1904); + case 1905: + return nameof(Shape1905); + case 1906: + return nameof(Shape1906); + case 1907: + return nameof(Shape1907); + case 1908: + return nameof(Shape1908); + case 1909: + return nameof(Shape1909); + case 1910: + return nameof(Shape1910); + case 1911: + return nameof(Shape1911); + case 1912: + return nameof(Shape1912); + case 1913: + return nameof(Shape1913); + case 1914: + return nameof(Shape1914); + case 1915: + return nameof(Shape1915); + case 1916: + return nameof(Shape1916); + case 1917: + return nameof(Shape1917); + case 1918: + return nameof(Shape1918); + case 1919: + return nameof(Shape1919); + case 1920: + return nameof(Shape1920); + case 1921: + return nameof(Shape1921); + case 1922: + return nameof(Shape1922); + case 1923: + return nameof(Shape1923); + case 1924: + return nameof(Shape1924); + case 1925: + return nameof(Shape1925); + case 1926: + return nameof(Shape1926); + case 1927: + return nameof(Shape1927); + case 1928: + return nameof(Shape1928); + case 1929: + return nameof(Shape1929); + case 1930: + return nameof(Shape1930); + case 1931: + return nameof(Shape1931); + case 1932: + return nameof(Shape1932); + case 1933: + return nameof(Shape1933); + case 1934: + return nameof(Shape1934); + case 1935: + return nameof(Shape1935); + case 1936: + return nameof(Shape1936); + case 1937: + return nameof(Shape1937); + case 1938: + return nameof(Shape1938); + case 1939: + return nameof(Shape1939); + case 1940: + return nameof(Shape1940); + case 1941: + return nameof(Shape1941); + case 1942: + return nameof(Shape1942); + case 1943: + return nameof(Shape1943); + case 1944: + return nameof(Shape1944); + case 1945: + return nameof(Shape1945); + case 1946: + return nameof(Shape1946); + case 1947: + return nameof(Shape1947); + case 1948: + return nameof(Shape1948); + case 1949: + return nameof(Shape1949); + case 1950: + return nameof(Shape1950); + case 1951: + return nameof(Shape1951); + case 1952: + return nameof(Shape1952); + case 1953: + return nameof(Shape1953); + case 1954: + return nameof(Shape1954); + case 1955: + return nameof(Shape1955); + case 1956: + return nameof(Shape1956); + case 1957: + return nameof(Shape1957); + case 1958: + return nameof(Shape1958); + case 1959: + return nameof(Shape1959); + case 1960: + return nameof(Shape1960); + case 1961: + return nameof(Shape1961); + case 1962: + return nameof(Shape1962); + case 1963: + return nameof(Shape1963); + case 1964: + return nameof(Shape1964); + case 1965: + return nameof(Shape1965); + case 1966: + return nameof(Shape1966); + case 1967: + return nameof(Shape1967); + case 1968: + return nameof(Shape1968); + case 1969: + return nameof(Shape1969); + case 1970: + return nameof(Shape1970); + case 1971: + return nameof(Shape1971); + case 1972: + return nameof(Shape1972); + case 1973: + return nameof(Shape1973); + case 1974: + return nameof(Shape1974); + case 1975: + return nameof(Shape1975); + case 1976: + return nameof(Shape1976); + case 1977: + return nameof(Shape1977); + case 1978: + return nameof(Shape1978); + case 1979: + return nameof(Shape1979); + case 1980: + return nameof(Shape1980); + case 1981: + return nameof(Shape1981); + case 1982: + return nameof(Shape1982); + case 1983: + return nameof(Shape1983); + case 1984: + return nameof(Shape1984); + case 1985: + return nameof(Shape1985); + case 1986: + return nameof(Shape1986); + case 1987: + return nameof(Shape1987); + case 1988: + return nameof(Shape1988); + case 1989: + return nameof(Shape1989); + case 1990: + return nameof(Shape1990); + case 1991: + return nameof(Shape1991); + case 1992: + return nameof(Shape1992); + case 1993: + return nameof(Shape1993); + case 1994: + return nameof(Shape1994); + case 1995: + return nameof(Shape1995); + case 1996: + return nameof(Shape1996); + case 1997: + return nameof(Shape1997); + case 1998: + return nameof(Shape1998); + case 1999: + return nameof(Shape1999); + case 2000: + return nameof(Shape2000); + case 2001: + return nameof(Shape2001); + case 2002: + return nameof(Shape2002); + case 2003: + return nameof(Shape2003); + case 2004: + return nameof(Shape2004); + case 2005: + return nameof(Shape2005); + case 2006: + return nameof(Shape2006); + case 2007: + return nameof(Shape2007); + case 2008: + return nameof(Shape2008); + case 2009: + return nameof(Shape2009); + case 2010: + return nameof(Shape2010); + case 2011: + return nameof(Shape2011); + case 2012: + return nameof(Shape2012); + case 2013: + return nameof(Shape2013); + case 2014: + return nameof(Shape2014); + case 2015: + return nameof(Shape2015); + case 2016: + return nameof(Shape2016); + case 2017: + return nameof(Shape2017); + case 2018: + return nameof(Shape2018); + case 2019: + return nameof(Shape2019); + case 2020: + return nameof(Shape2020); + case 2021: + return nameof(Shape2021); + case 2022: + return nameof(Shape2022); + case 2023: + return nameof(Shape2023); + case 2024: + return nameof(Shape2024); + case 2025: + return nameof(Shape2025); + case 2026: + return nameof(Shape2026); + case 2027: + return nameof(Shape2027); + case 2028: + return nameof(Shape2028); + case 2029: + return nameof(Shape2029); + case 2030: + return nameof(Shape2030); + case 2031: + return nameof(Shape2031); + case 2032: + return nameof(Shape2032); + case 2033: + return nameof(Shape2033); + case 2034: + return nameof(Shape2034); + case 2035: + return nameof(Shape2035); + case 2036: + return nameof(Shape2036); + case 2037: + return nameof(Shape2037); + case 2038: + return nameof(Shape2038); + case 2039: + return nameof(Shape2039); + case 2040: + return nameof(Shape2040); + case 2041: + return nameof(Shape2041); + case 2042: + return nameof(Shape2042); + case 2043: + return nameof(Shape2043); + case 2044: + return nameof(Shape2044); + case 2045: + return nameof(Shape2045); + case 2046: + return nameof(Shape2046); + case 2047: + return nameof(Shape2047); + case 2048: + return nameof(Shape2048); + } + throw new IndexOutOfRangeException(); + } + #endregion + + #region private + private Mesh _mesh; + private JobHandle _jobHandle; + private NativeArray _blendShapeVertices; + private NativeArray _originalVertices; + private NativeArray _modifiedVertices; + private NativeArray _weights; + private NativeArray _frameWeights; + #endregion + + /// + /// Creates the internal player structures based on the given GeometryGroup and BlendShapeKeys passed in. + /// + /// The GeometryGroup containing the BlendShapeKeys. + /// The BlendShapeKeys. + public void Setup(IGeometryGroup geometryGroup, List blendShapeKeys) + { + if (blendShapeKeys.Count > MaxBlendShapes) + { + throw new IndexOutOfRangeException(); + } + _mesh = geometryGroup.Mesh; + _weights = new NativeArray(blendShapeKeys.Count, Allocator.Persistent); + _frameWeights = new NativeArray(blendShapeKeys.Count, Allocator.Persistent); + _blendShapeVertices = new NativeArray(blendShapeKeys.Count * geometryGroup.VerticesDataCount, Allocator.Persistent); + var positionIndex = 0; + for (var i = 0; i < blendShapeKeys.Count; i++) + { + var blendShapeKey = blendShapeKeys[i]; + foreach (var originalVertexIndex in geometryGroup.OriginalVertexIndices) + { + if (blendShapeKey.IndexMap.TryGetValue(originalVertexIndex, out var index)) + { + _blendShapeVertices[positionIndex] = blendShapeKey.Vertices[index]; + } + positionIndex++; + } + _frameWeights[i] = blendShapeKey.FrameWeight; + } + _originalVertices = new NativeArray(geometryGroup.VerticesDataCount, Allocator.Persistent); + for (var i = 0; i < geometryGroup.VerticesDataCount; i++) + { + _originalVertices[i] = geometryGroup.Positions[i]; + } + _modifiedVertices = new NativeArray(geometryGroup.VerticesDataCount, Allocator.Persistent); + } + + private void OnDestroy() + { + _weights.Dispose(); + _frameWeights.Dispose(); + _blendShapeVertices.Dispose(); + _originalVertices.Dispose(); + _modifiedVertices.Dispose(); + } + + private void Update() + { + _jobHandle = new BlendShapePlayerJob(_blendShapeVertices, _originalVertices, _modifiedVertices, _weights, _frameWeights).Schedule(_modifiedVertices.Length, 4); + _jobHandle.Complete(); + for (var i = 0; i < _weights.Length; i++) + { + _weights[i] = GetFieldValue(i); + } + _mesh.SetVertices(_modifiedVertices); + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayer.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayer.cs.meta new file mode 100644 index 00000000..3b23c364 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayer.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: f51fddb76e3c859469ed7825dd67402c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayer.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerJob.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerJob.cs new file mode 100644 index 00000000..4c900e3a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerJob.cs @@ -0,0 +1,59 @@ +using Unity.Collections; +using Unity.Jobs; +using UnityEngine; + +namespace TriLibCore.BlendShapePlayer +{ + /// + /// Represents a Job that plays BlendShapeKeys efficiently. + /// + public struct BlendShapePlayerJob : IJobParallelFor + { + [ReadOnly] + private NativeArray _blendShapeVertices; + [ReadOnly] + private NativeArray _originalVertices; + [ReadOnly] + private NativeArray _weights; + [ReadOnly] + private NativeArray _frameWeights; + private NativeArray _modifiedVertices; + + /// + /// Creates the BlendShapePlayer job. + /// + /// The list of all BlendShapeKey vertices. + /// The list of the source Mesh original vertices. + /// The list of the source Mesh modified vertices. + /// The list of BlendShapeKey current weights. + /// The list of BlendShapeKey maximum weights. + public BlendShapePlayerJob(NativeArray blendShapeVertices, NativeArray originalVertices, NativeArray modifiedVertices, NativeArray weights, NativeArray frameWeights) + { + _blendShapeVertices = blendShapeVertices; + _originalVertices = originalVertices; + _modifiedVertices = modifiedVertices; + _weights = weights; + _frameWeights = frameWeights; + } + + /// + /// Processes the BlendShapeKeys and applies the results to the modified vertices list. + /// + /// + public void Execute(int index) + { + _modifiedVertices[index] = _originalVertices[index]; + for (var weightIndex = 0; weightIndex < _weights.Length; weightIndex++) + { + var weight = _weights[weightIndex]; + if (weight == 0f) + { + continue; + } + var frameWeight = _frameWeights[weightIndex]; + weight = frameWeight == 0f ? 0f : weight / frameWeight; + _modifiedVertices[index] += _blendShapeVertices[weightIndex * _originalVertices.Length + index] * weight; + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerJob.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerJob.cs.meta new file mode 100644 index 00000000..31bcc073 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerJob.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 43e0b43d9deddfe47b0adcc048fbe5c1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerJob.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerMapper.cs new file mode 100644 index 00000000..2130ca49 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerMapper.cs @@ -0,0 +1,46 @@ +using UnityEngine; +using System; +using System.Collections.Generic; +using TriLibCore.Interfaces; +using TriLibCore.Mappers; + +namespace TriLibCore.BlendShapePlayer +{ + /// + /// A specialized that creates and configures a + /// component for the specified GameObject. + /// The assigns blend shape keys and sets up animation curve mapping + /// for blend shapes based on their index. + /// + [CreateAssetMenu(menuName = "TriLib/Mappers/BlendShape/BlendShape Player Mapper", fileName = "BlendShapePlayerMapper")] + public class BlendShapePlayerMapper : BlendShapeMapper + { + /// + /// + /// This method adds a component to the provided , + /// and calls its method to initialize it with + /// the given and . + /// + public override void Setup(AssetLoaderContext assetLoaderContext, IGeometryGroup geometryGroup, GameObject meshGameObject, List blendShapeKeys) + { + var blendShapePlayer = meshGameObject.AddComponent(); + blendShapePlayer.Setup(geometryGroup, blendShapeKeys); + } + + /// + /// + /// Maps a blend shape key index to an animation curve property name by delegating the lookup + /// to . + /// + public override string MapAnimationCurve(AssetLoaderContext assetLoaderContext, int blendShapeIndex) + { + return BlendShapePlayer.GetPropertyName(blendShapeIndex); + } + + /// + /// + /// Returns the of the source component used for animation curve mapping, which is . + /// + public override Type AnimationCurveSourceType => typeof(BlendShapePlayer); + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerMapper.cs.meta new file mode 100644 index 00000000..552bc79d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerMapper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ecaea67d88087cb4f917bf27fdd0ebd3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibBlendShapePlayer/Scripts/BlendShapePlayerMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/KnownIssues.txt b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/KnownIssues.txt index 8443a151..f258b5a7 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/KnownIssues.txt +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/KnownIssues.txt @@ -1,12 +1,13 @@ -- TriLib is not a Model exporter. -- The FBX Importer does not import multiple texture layers yet. -- The FBX Importer can't load models created before FBX SDK 2012. -- FBX physical cameras aren't fully supported yet. -- 3MF Beam Lattice format is not supported yet. +- TriLib is not a model exporter. +- TriLib cannot import generic or humanoid animations. It only supports legacy animation clips +- The FBX importer does not support multiple texture layers yet. +- The FBX importer cannot load models created before FBX SDK 2012. +- The glTF2 importer does not support the EXT_meshopt_compression extension. +- The glTF2 Draco importer does not support skinned meshes. +- The 3MF importer does not support the Production extension. +- The DAE importer has object transform issues. +- FBX physical cameras are not fully supported yet. +- The 3MF Beam Lattice format is not supported yet. - 3MF PBR Specular materials are not supported yet. -- Blend-shape normals and tangents are not imported yet. They are instead, calculated. -- The AssetViewer normals debug view has issues when the model has no normal textures. -- TriLib can't import generic or humanoid animations. It only supports legacy animation clips. -Regression issues (working on a fix): -- glTF2 Draco importer has issues -- DAE importer has issues \ No newline at end of file +- Blend-shape normals and tangents are not imported yet; they are calculated instead. +- The AssetViewer normals debug view has issues when the model lacks normal textures. \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/KnownIssues.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/KnownIssues.txt.meta index 80a40cf7..9ec88bc8 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/KnownIssues.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/KnownIssues.txt.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/KnownIssues.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/AndroidNativeFilePicker.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/AndroidNativeFilePicker.txt.meta index c8df9c70..73f68ade 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/AndroidNativeFilePicker.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/AndroidNativeFilePicker.txt.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/AndroidNativeFilePicker.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/IxMilia.ThreeMf.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/IxMilia.ThreeMf.txt.meta index aca23aeb..143ae060 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/IxMilia.ThreeMf.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/IxMilia.ThreeMf.txt.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/IxMilia.ThreeMf.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/LibTessDotNet.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/LibTessDotNet.txt.meta index 253b8d4b..b7c68d24 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/LibTessDotNet.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/LibTessDotNet.txt.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/LibTessDotNet.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/OpenSans.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/OpenSans.txt.meta index 81e3b0d3..ba213e4e 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/OpenSans.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/OpenSans.txt.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/OpenSans.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/PCX.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/PCX.txt.meta index 64a4c97c..a1e2efb8 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/PCX.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/PCX.txt.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/PCX.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/SharpZipLib.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/SharpZipLib.txt.meta index 50712b8c..b7db279c 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/SharpZipLib.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/SharpZipLib.txt.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/SharpZipLib.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/StandaloneFileBrowser.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/StandaloneFileBrowser.txt.meta index e7941e85..9c610182 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/StandaloneFileBrowser.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/StandaloneFileBrowser.txt.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/StandaloneFileBrowser.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/draco.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/draco.txt.meta index 00681c9e..bdc72c22 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/draco.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/draco.txt.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Licenses/draco.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/AnimationClip/ByNameAnimatorOverrideAnimationClipMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/AnimationClip/ByNameAnimatorOverrideAnimationClipMapper.asset.meta index 513589b6..368edd38 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/AnimationClip/ByNameAnimatorOverrideAnimationClipMapper.asset.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/AnimationClip/ByNameAnimatorOverrideAnimationClipMapper.asset.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/AnimationClip/ByNameAnimatorOverrideAnimationClipMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/AnimationClip/SimpleAnimationPlayerAnimationClipMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/AnimationClip/SimpleAnimationPlayerAnimationClipMapper.asset.meta index 10e05d6e..5815d631 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/AnimationClip/SimpleAnimationPlayerAnimationClipMapper.asset.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/AnimationClip/SimpleAnimationPlayerAnimationClipMapper.asset.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/AnimationClip/SimpleAnimationPlayerAnimationClipMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Avatar/MixamoAndBipedByNameHumanoidAvatarMapper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Avatar/MixamoAndBipedByNameHumanoidAvatarMapper.asset index a615a96a..640b98bb 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Avatar/MixamoAndBipedByNameHumanoidAvatarMapper.asset +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Avatar/MixamoAndBipedByNameHumanoidAvatarMapper.asset @@ -65,6 +65,7 @@ MonoBehaviour: axisLength: 0 BoneNames: - Spine + - Spine_01 - HumanBone: 0 HumanLimit: useDefaultValues: 1 @@ -87,6 +88,7 @@ MonoBehaviour: - LeftShoulder - L Clavicle - L_Clavicle + - Clavicle_L - HumanBone: 13 HumanLimit: useDefaultValues: 1 @@ -98,6 +100,7 @@ MonoBehaviour: - LeftArm - L UpperArm - L_UpperArm + - UpperArm_L - HumanBone: 15 HumanLimit: useDefaultValues: 1 @@ -109,6 +112,7 @@ MonoBehaviour: - LeftForeArm - L Forearm - L_Forearm + - LowerArm_L - HumanBone: 17 HumanLimit: useDefaultValues: 1 @@ -121,6 +125,7 @@ MonoBehaviour: - L Hand - L_Hand - LeftWrist + - Hand_L - HumanBone: 12 HumanLimit: useDefaultValues: 1 @@ -132,6 +137,7 @@ MonoBehaviour: - RightShoulder - R Clavicle - R_Clavicle + - Clavicle_R - HumanBone: 14 HumanLimit: useDefaultValues: 1 @@ -143,6 +149,7 @@ MonoBehaviour: - RightArm - R UpperArm - R_UpperArm + - UpperArm_R - HumanBone: 16 HumanLimit: useDefaultValues: 1 @@ -154,6 +161,7 @@ MonoBehaviour: - RightForeArm - R Forearm - R_Forearm + - LowerArm_R - HumanBone: 18 HumanLimit: useDefaultValues: 1 @@ -166,6 +174,7 @@ MonoBehaviour: - R Hand - R_Hand - RightWrist + - Hand_R - HumanBone: 1 HumanLimit: useDefaultValues: 1 @@ -177,6 +186,7 @@ MonoBehaviour: - LeftUpLeg - L Thigh - L_Thigh + - Thigh_L - HumanBone: 3 HumanLimit: useDefaultValues: 1 @@ -188,6 +198,7 @@ MonoBehaviour: - LeftLeg - L Calf - L_Calf + - Calf_L - HumanBone: 5 HumanLimit: useDefaultValues: 1 @@ -199,6 +210,7 @@ MonoBehaviour: - LeftFoot - L Foot - L_Foot + - Foot_L - HumanBone: 19 HumanLimit: useDefaultValues: 1 @@ -221,6 +233,7 @@ MonoBehaviour: - RightUpLeg - R Thigh - R_Thigh + - Thigh_R - HumanBone: 4 HumanLimit: useDefaultValues: 1 @@ -232,6 +245,7 @@ MonoBehaviour: - RightLeg - R Calf - R_Calf + - Calf_R - HumanBone: 6 HumanLimit: useDefaultValues: 1 @@ -243,6 +257,7 @@ MonoBehaviour: - RightFoot - R Foot - R_Foot + - Foot_R - HumanBone: 20 HumanLimit: useDefaultValues: 1 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Avatar/MixamoAndBipedByNameHumanoidAvatarMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Avatar/MixamoAndBipedByNameHumanoidAvatarMapper.asset.meta index 2b5cc7f2..caca7223 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Avatar/MixamoAndBipedByNameHumanoidAvatarMapper.asset.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Avatar/MixamoAndBipedByNameHumanoidAvatarMapper.asset.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Avatar/MixamoAndBipedByNameHumanoidAvatarMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/LipSync/PhonemeAndVisemeByNameLipSyncMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/LipSync/PhonemeAndVisemeByNameLipSyncMapper.asset.meta index 885dfb45..69ab95b4 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/LipSync/PhonemeAndVisemeByNameLipSyncMapper.asset.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/LipSync/PhonemeAndVisemeByNameLipSyncMapper.asset.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/LipSync/PhonemeAndVisemeByNameLipSyncMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/HDRPMaterialMapper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/HDRPMaterialMapper.asset index fe92c761..d04c70b4 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/HDRPMaterialMapper.asset +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/HDRPMaterialMapper.asset @@ -13,4 +13,5 @@ MonoBehaviour: m_Name: HDRPMaterialMapper m_EditorClassIdentifier: CheckingOrder: 0 - ForceStandardMaterial: 0 + DisableAlpha: 0 + ForceShaderVariantCollection: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/HDRPMaterialMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/HDRPMaterialMapper.asset.meta index 498d03ad..ed77ee03 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/HDRPMaterialMapper.asset.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/HDRPMaterialMapper.asset.meta @@ -1,8 +1,15 @@ fileFormatVersion: 2 -guid: 83e5a79530cae7742884998f463e4c01 +guid: b578004a685591f468a0682a9d305877 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 0 + mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/HDRPMaterialMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/StandardMaterialMapper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/StandardMaterialMapper.asset index 58566b6f..98748c31 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/StandardMaterialMapper.asset +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/StandardMaterialMapper.asset @@ -13,4 +13,5 @@ MonoBehaviour: m_Name: StandardMaterialMapper m_EditorClassIdentifier: CheckingOrder: 0 - ForceStandardMaterial: 0 + DisableAlpha: 0 + ForceShaderVariantCollection: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/StandardMaterialMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/StandardMaterialMapper.asset.meta index cca3b90d..c342a213 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/StandardMaterialMapper.asset.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/StandardMaterialMapper.asset.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/StandardMaterialMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/UniversalRPMaterialMapper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/UniversalRPMaterialMapper.asset index c03fc696..dcc8b747 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/UniversalRPMaterialMapper.asset +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/UniversalRPMaterialMapper.asset @@ -13,4 +13,4 @@ MonoBehaviour: m_Name: UniversalRPMaterialMapper m_EditorClassIdentifier: CheckingOrder: 0 - ForceStandardMaterial: 0 + DisableAlpha: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/UniversalRPMaterialMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/UniversalRPMaterialMapper.asset.meta index 0d357453..f6bcf461 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/UniversalRPMaterialMapper.asset.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/UniversalRPMaterialMapper.asset.meta @@ -1,8 +1,15 @@ fileFormatVersion: 2 -guid: 1b753b3b79b6a1a4c978d548a1194f2c +guid: 40b3613c1902e9948b5e9cd66a224971 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 0 + mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/Material/UniversalRPMaterialMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/RootBone/ByBonesRootBoneMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/RootBone/ByBonesRootBoneMapper.asset.meta index 56cd9d0e..1953f4b3 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/RootBone/ByBonesRootBoneMapper.asset.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/RootBone/ByBonesRootBoneMapper.asset.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/RootBone/ByBonesRootBoneMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/RootBone/ByNameRootBoneMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/RootBone/ByNameRootBoneMapper.asset.meta index a0883127..f6bb0ccf 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/RootBone/ByNameRootBoneMapper.asset.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/RootBone/ByNameRootBoneMapper.asset.meta @@ -6,3 +6,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/RootBone/ByNameRootBoneMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/TriLibMappersPlaceholder.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/TriLibMappersPlaceholder.meta index 8114e9f4..62198ea5 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/TriLibMappersPlaceholder.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/TriLibMappersPlaceholder.meta @@ -5,3 +5,10 @@ DefaultImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Mappers/TriLibMappersPlaceholder + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/StandardShaderVariantCollection.shadervariants b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/StandardShaderVariantCollection.shadervariants new file mode 100644 index 00000000..00e980f4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/StandardShaderVariantCollection.shadervariants @@ -0,0 +1,37 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!200 &20000000 +ShaderVariantCollection: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: StandardShaderVariantCollection + m_Shaders: + - first: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + second: + variants: + - keywords: DIRECTIONAL DYNAMICLIGHTMAP_ON LIGHTMAP_ON LIGHTMAP_SHADOW_MIXING + _ALPHABLEND_ON _METALLICGLOSSMAP _NORMALMAP _PARALLAXMAP + passType: 4 + - keywords: DIRECTIONAL DYNAMICLIGHTMAP_ON LIGHTMAP_ON _ALPHABLEND_ON _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP + passType: 4 + - keywords: DIRECTIONAL DYNAMICLIGHTMAP_ON _ALPHABLEND_ON _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTMAP_ON LIGHTMAP_SHADOW_MIXING _ALPHABLEND_ON _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTMAP_ON LIGHTPROBE_SH _ALPHABLEND_ON _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTMAP_ON _ALPHABLEND_ON _METALLICGLOSSMAP _NORMALMAP + _PARALLAXMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTPROBE_SH SHADOWS_SHADOWMASK _ALPHABLEND_ON _METALLICGLOSSMAP + _NORMALMAP _PARALLAXMAP + passType: 4 + - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHABLEND_ON _METALLICGLOSSMAP _NORMALMAP + _PARALLAXMAP + passType: 4 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/StandardShaderVariantCollection.shadervariants.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/StandardShaderVariantCollection.shadervariants.meta new file mode 100644 index 00000000..e7ecd56d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/StandardShaderVariantCollection.shadervariants.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 4e605f9193fbf224aa3a74fae17b5fe9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 20000000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/StandardShaderVariantCollection.shadervariants + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/TriLibStandardLoading.mat b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/TriLibStandardLoading.mat index 81e39701..1d7005c5 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/TriLibStandardLoading.mat +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/TriLibStandardLoading.mat @@ -2,24 +2,20 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TriLibStandardLoading m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] + m_ShaderKeywords: m_LightmapFlags: 4 - m_EnableInstancingVariants: 1 + m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} disabledShaderPasses: [] - m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -59,7 +55,6 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - _BumpScale: 1 - _Cutoff: 0.5 @@ -80,5 +75,3 @@ Material: m_Colors: - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/TriLibStandardLoading.mat.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/TriLibStandardLoading.mat.meta index 7f001f41..7f545d87 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/TriLibStandardLoading.mat.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/TriLibStandardLoading.mat.meta @@ -8,3 +8,10 @@ NativeFormatImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Materials/Standard/TriLibStandardLoading.mat + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Extras.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Extras.meta new file mode 100644 index 00000000..50352109 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Extras.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bdaf8d2c4217eb846a6cbef7250ed9d4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Extras/PointRenderer.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Extras/PointRenderer.shader new file mode 100644 index 00000000..5ec9798e --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Extras/PointRenderer.shader @@ -0,0 +1,98 @@ +Shader "Hidden/TriLib/PointRenderer" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + Cull Off + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float2 id : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float4 color : TEXCOORD0; + }; + + Texture2D _ColorTex; + Texture2D _PositionTex; + uint _TextureResolution; + float _PointSize; + float _AspectRatio; + + static float2 _Offsets[4] = { + {-1, -1 }, + {-1, 1 }, + {1, 1 }, + {1, -1 } + }; + + v2f vert (appdata v) + { + uint vertexID = floor(v.id.x); + + uint baseVertexID; + uint cornerVertexID; + if (vertexID == 0) + { + baseVertexID = 0; + cornerVertexID = 0; + } + else + { + baseVertexID = vertexID / 4; + cornerVertexID = vertexID % 4; + } + + uint3 dataCoordinate = 0; + if (baseVertexID == 0) + { + dataCoordinate = 0; + } + else + { + dataCoordinate.x = baseVertexID % _TextureResolution; + dataCoordinate.y = baseVertexID / _TextureResolution; + } + + float3 sourcePosition = _PositionTex.Load(dataCoordinate).xyz; + + float4 clipPosition = UnityObjectToClipPos(sourcePosition); + + float2 adjustedOffset = _Offsets[cornerVertexID]; + adjustedOffset.x *= _PointSize / _AspectRatio; + adjustedOffset.y *= _PointSize; + + clipPosition.xy += adjustedOffset; + + float4 color = _ColorTex.Load(dataCoordinate); + + v2f o; + o.vertex = clipPosition; + o.color = color; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + return i.color; + } + ENDCG + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Extras/PointRenderer.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Extras/PointRenderer.shader.meta new file mode 100644 index 00000000..b6c161d2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Extras/PointRenderer.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 9333d7c29895ddf4c9a8c94b3304347b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Extras/PointRenderer.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/StandardAlpha.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/StandardAlpha.shader.meta index eb2e19e1..229c1b2b 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/StandardAlpha.shader.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/StandardAlpha.shader.meta @@ -7,3 +7,10 @@ ShaderImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/StandardAlpha.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/ApplyTransparency.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/ApplyTransparency.shader.meta index 62752177..2f2f17c2 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/ApplyTransparency.shader.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/ApplyTransparency.shader.meta @@ -7,3 +7,10 @@ ShaderImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/ApplyTransparency.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/BuildMetallicTexture.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/BuildMetallicTexture.shader index eb3b9439..7bd7446c 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/BuildMetallicTexture.shader +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/BuildMetallicTexture.shader @@ -111,7 +111,8 @@ glossiness *= GetGlossiness(); } } - else { + else + { glossiness = GetGlossiness(); } diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/BuildMetallicTexture.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/BuildMetallicTexture.shader.meta index db2e70b3..17e7cc6e 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/BuildMetallicTexture.shader.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/BuildMetallicTexture.shader.meta @@ -7,3 +7,10 @@ ShaderImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/BuildMetallicTexture.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/ExtractChannelData.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/ExtractChannelData.shader.meta index b598ea11..8a172561 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/ExtractChannelData.shader.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/ExtractChannelData.shader.meta @@ -7,3 +7,10 @@ ShaderImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/ExtractChannelData.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/FixNormalMap.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/FixNormalMap.shader.meta index bc58928c..389d7698 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/FixNormalMap.shader.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/FixNormalMap.shader.meta @@ -7,3 +7,10 @@ ShaderImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/FixNormalMap.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/InvertChannelData.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/InvertChannelData.shader.meta index 260ebfeb..6ae222e8 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/InvertChannelData.shader.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/InvertChannelData.shader.meta @@ -7,3 +7,10 @@ ShaderImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/InvertChannelData.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/InvertChannels.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/InvertChannels.shader.meta index 4c49fd0b..11e92302 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/InvertChannels.shader.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/InvertChannels.shader.meta @@ -7,3 +7,10 @@ ShaderImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/InvertChannels.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SpecularDiffuseToAlbedo.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SpecularDiffuseToAlbedo.shader index 37955353..68377fd1 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SpecularDiffuseToAlbedo.shader +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SpecularDiffuseToAlbedo.shader @@ -35,47 +35,50 @@ sampler2D _DiffuseTexture; sampler2D _SpecularTexture; + float4 _DiffuseColor; + float4 _SpecularColor; + float _Glossiness; + int _OutputBaseColor; - float getPerceivedBrightness(float3 linearColor) + void specularToMetalness(float4 diffuseBase, float3 specularBase, out float4 baseColor, out float metalness) { - float r = linearColor.x; - float b = linearColor.y; - float g = linearColor.z; - return sqrt(0.299 * r * r + 0.587 * g * g + 0.114 * b * b); - } - - float solveMetallic(float diffuseBrightness, float specularBrightness, float oneMinusSpecularStrength) { - const float3 dielectricSpecular = float3(0.04, 0.04, 0.04); - const float epsilon = 1e-6; - specularBrightness = max(specularBrightness, dielectricSpecular.x); - float a = dielectricSpecular.x; - float b = diffuseBrightness * oneMinusSpecularStrength / (1.0 - dielectricSpecular.x) + specularBrightness - 2.0 * dielectricSpecular.x; - float c = dielectricSpecular.x - specularBrightness; - float D = b * b - 4.0 * a * c; - return clamp((-b + sqrt(D)) / (2.0 * a), 0.0, 1.0); + float3 dielectricSpecular = 0.04; + float epsilon = 1e-5; + float diffuseBrightness = dot(diffuseBase.xyz, float3(0.2126, 0.7152, 0.0722)); + float specularBrightness = dot(specularBase, float3(0.2126, 0.7152, 0.0722)); + float oneMinusSpecularStrength = 1.0 - max(max(specularBase.r, specularBase.g), specularBase.b); + if (specularBrightness < dielectricSpecular.r) + { + metalness = 0.0; + } + else + { + float a = dielectricSpecular.r; + float b = diffuseBrightness * oneMinusSpecularStrength / (1.0 - dielectricSpecular.r) + specularBrightness - 2.0 * dielectricSpecular.r; + float c = dielectricSpecular.r - specularBrightness; + float D = b * b - 4.0 * a * c; + metalness = saturate((-b + sqrt(D)) / (2.0 * a)); + } + float3 baseColorFromDiffuse = diffuseBase.xyz * (oneMinusSpecularStrength / (1.0 - dielectricSpecular.r) / max(1.0 - metalness, epsilon)); + float3 baseColorFromSpecular = (specularBase - dielectricSpecular * (1.0 - metalness)) / max(metalness, epsilon); + baseColor = float4(lerp(baseColorFromDiffuse, baseColorFromSpecular, metalness * metalness), diffuseBase.a); + baseColor = saturate(baseColor); } float4 frag(v2f i) : SV_Target { - const float3 dielectricSpecular = float3(0.04,0.04,0.04); - const float epsilon = 1e-6; - - float4 diffuse = tex2D(_DiffuseTexture, i.uv); - float3 specular = tex2D(_SpecularTexture, i.uv).xyz; - - float diffuseBrightness = getPerceivedBrightness(diffuse); - float specularBrightness = getPerceivedBrightness(specular); - - float specularStrength = max(max(specular.x, specular.y), specular.z); - float oneMinusSpecularStrength = 1.0 - specularStrength; - - float metallic = solveMetallic(diffuseBrightness, specularBrightness, oneMinusSpecularStrength); - - float3 baseColorFromDiffuse = diffuse * oneMinusSpecularStrength / ((1.0 - dielectricSpecular.x) * max(1.0 - metallic, epsilon)); - float3 baseColorFromSpecular = (specular - dielectricSpecular * (1.0 - metallic)) / max(metallic, epsilon); - float3 baseColor = clamp(lerp(baseColorFromDiffuse, baseColorFromSpecular, metallic * metallic), 0.0, 1.0); - - return float4(baseColor, diffuse.w); + float4 diffuseBase = tex2D(_DiffuseTexture, i.uv) * _DiffuseColor; + float4 specularAndGlossiness = tex2D(_SpecularTexture, i.uv); + float3 specularBase = specularAndGlossiness.xyz * _SpecularColor.xyz; + float glossiness = max(_Glossiness, specularAndGlossiness.w); + float4 baseColor; + float metalness; + specularToMetalness(diffuseBase, specularBase, baseColor, metalness); + if (_OutputBaseColor) + { + return baseColor; + } + return float4(metalness, metalness, metalness, glossiness); } ENDCG } diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SpecularDiffuseToAlbedo.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SpecularDiffuseToAlbedo.shader.meta index bbee0911..889954c7 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SpecularDiffuseToAlbedo.shader.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SpecularDiffuseToAlbedo.shader.meta @@ -7,3 +7,10 @@ ShaderImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SpecularDiffuseToAlbedo.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SwapChannelData.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SwapChannelData.shader.meta index 1b9cc0ef..e8ea9240 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SwapChannelData.shader.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SwapChannelData.shader.meta @@ -7,3 +7,10 @@ ShaderImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Shaders/Utility/SwapChannelData.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibBlack.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibBlack.png.meta index c3095438..d22ed61a 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibBlack.png.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibBlack.png.meta @@ -138,3 +138,10 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibBlack.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibBump.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibBump.png.meta index e59da159..cadeb1ec 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibBump.png.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibBump.png.meta @@ -138,3 +138,10 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibBump.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGreen.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGreen.png new file mode 100644 index 00000000..f83950bc Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGreen.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGreen.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGreen.png.meta new file mode 100644 index 00000000..6631affb --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGreen.png.meta @@ -0,0 +1,166 @@ +fileFormatVersion: 2 +guid: c1216029cbe3c1b4cb44aacf4f5759f3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGreen.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGrey.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGrey.png.meta index 1de7d739..af61577b 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGrey.png.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGrey.png.meta @@ -138,3 +138,10 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibGrey.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibTransparent.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibTransparent.png.meta index ef6a96ba..ed1d6c9b 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibTransparent.png.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibTransparent.png.meta @@ -138,3 +138,10 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibTransparent.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibTransparentWhite.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibTransparentWhite.png.meta index 5255c5f8..4a64ad86 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibTransparentWhite.png.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibTransparentWhite.png.meta @@ -106,3 +106,10 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibTransparentWhite.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibWhite.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibWhite.png.meta index 2a2b01e1..ed993819 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibWhite.png.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibWhite.png.meta @@ -138,3 +138,10 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/Textures/TriLibWhite.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/TriLibMainFolderPlaceholder.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/TriLibMainFolderPlaceholder.meta index b9e574fe..9a2911cf 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/TriLibMainFolderPlaceholder.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/TriLibMainFolderPlaceholder.meta @@ -5,3 +5,10 @@ DefaultImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/TriLibMainFolderPlaceholder + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/TriLibSettings.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/TriLibSettings.asset index 56b5f929..ffdb3cf8 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/TriLibSettings.asset +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Resources/TriLibSettings.asset @@ -14,6 +14,7 @@ MonoBehaviour: m_EditorClassIdentifier: _dictionaryBoolKeys: - StandardMaterialMapper + - UniversalRPMaterialMapper - - - @@ -76,6 +77,5 @@ MonoBehaviour: - - - - - - _dictionaryBoolValues: 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - _settingsCount: 1 + _dictionaryBoolValues: 00010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + _settingsCount: 2 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloader.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloader.cs index f6c8b8ba..29d9af91 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloader.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloader.cs @@ -4,76 +4,190 @@ using UnityEngine.Networking; namespace TriLibCore { - /// Represents a class to download and load Models. + /// + /// Provides functionality for downloading 3D model data from a specified URI and loading + /// it into Unity. This class supports various HTTP methods (GET, POST, PUT, DELETE, HEAD) + /// and offers optional asynchronous behavior. The downloaded model can be placed within + /// a specified hierarchy, and can handle .zip archives if requested. + /// public class AssetDownloader { - /// Represents an HTTP Request method. + /// + /// Represents the HTTP request methods supported by . + /// public enum HttpRequestMethod { - /// The HTTP GET method. + /// + /// The HTTP GET method, used to request data from a specified resource. + /// Get, - /// The HTTP POST method. + + /// + /// The HTTP POST method, used to submit data to be processed to a specified resource. + /// Post, - /// The HTTP PUT method. + + /// + /// The HTTP PUT method, used to upload or replace a resource on the server. + /// Put, - /// The HTTP DELETE method. + + /// + /// The HTTP DELETE method, used to delete the specified resource. + /// Delete, - /// The HTTP HEAD method. + + /// + /// The HTTP HEAD method, used to request only the headers from the server for a resource. + /// Head } - /// Creates a Unity Web Request from the given parameters. - /// The Request URI (URL). - /// The HTTP Request method to use. - /// The Custom Data that was sent along the Request. - /// The Request timeout in seconds). - /// The created unity web request. - public static UnityWebRequest CreateWebRequest(string uri, HttpRequestMethod httpRequestMethod = HttpRequestMethod.Get, string data = null, int timeout = 2000) + /// + /// Creates a new based on the specified parameters, allowing + /// you to configure the request method, data, and timeout. The returned request can be used + /// to download or upload data via HTTP. + /// + /// The URI (URL) to which the request is sent. + /// + /// The HTTP method to use (e.g., , , etc.). + /// Defaults to . + /// + /// + /// Optional data or parameters to include in the request. For example, in a GET request, + /// this data will be appended as query parameters. + /// + /// + /// The request timeout in seconds. Defaults to 2000 seconds. + /// + /// + /// A configured instance with the specified method, data, + /// and timeout settings. + /// + public static UnityWebRequest CreateWebRequest( + string uri, + HttpRequestMethod httpRequestMethod = HttpRequestMethod.Get, + string data = null, + int timeout = 2000) { UnityWebRequest unityWebRequest; switch (httpRequestMethod) { case HttpRequestMethod.Post: -#if UNITY_2023_1_OR_NEWER - unityWebRequest = UnityWebRequest.PostWwwForm(uri, data); -#else +#if UNITY_2022_2_OR_NEWER unityWebRequest = UnityWebRequest.PostWwwForm(uri, data); +#else + unityWebRequest = UnityWebRequest.Post(uri, data); #endif break; case HttpRequestMethod.Put: unityWebRequest = UnityWebRequest.Put(uri, data); break; case HttpRequestMethod.Delete: - unityWebRequest = UnityWebRequest.Delete(data != null ? $"{uri}?{data}" : uri); + unityWebRequest = UnityWebRequest.Delete( + data != null ? $"{uri}?{data}" : uri + ); break; case HttpRequestMethod.Head: - unityWebRequest = UnityWebRequest.Head(data != null ? $"{uri}?{data}" : uri); + unityWebRequest = UnityWebRequest.Head( + data != null ? $"{uri}?{data}" : uri + ); break; default: - unityWebRequest = UnityWebRequest.Get(data != null ? $"{uri}?{data}" : uri); + unityWebRequest = UnityWebRequest.Get( + data != null ? $"{uri}?{data}" : uri + ); break; } unityWebRequest.timeout = timeout; return unityWebRequest; } - /// Loads a Model from the given URI Asynchronously (Accepts zip files). - /// The Unity Web Request used to load the Model. You can use the CreateWebRequest method to create a new Unity Web Request or pass your instance. - /// The Method to call on the Main Thread when the Model is loaded but resources may still pending. - /// The Method to call on the Main Thread when the Model and resources are loaded. - /// The Method to call when the Model loading progress changes. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The options to use when loading the Model. - /// The Custom Data that will be passed along the Context. - /// The extension of the URI Model or the Model inside the Zip file. - /// Pass true if your file is a Zip file. - /// Turn on this field to avoid loading the model immediately and chain the Tasks. - /// The AssetLoaderContext used to load the model. - public static Coroutine LoadModelFromUri(UnityWebRequest unityWebRequest, Action onLoad, Action onMaterialsLoad, Action onProgress, Action onError = null, GameObject wrapperGameObject = null, AssetLoaderOptions assetLoaderOptions = null, object customContextData = null, string fileExtension = null, bool? isZipFile = null, bool haltTask = false) + /// + /// Initiates an asynchronous download of 3D model data from the specified , + /// then loads the model (optionally including .zip extraction). The method returns a + /// which you can yield on or allow to run in the background. + /// Once the model is downloaded, TriLib’s will process the data + /// and create corresponding s, materials, and other resources. + /// + /// + /// The configured to download the model. You can create this request + /// using or provide a custom request. + /// + /// + /// A callback invoked on the main Unity thread once the model data has been read, + /// but before materials are fully loaded. This is useful for performing actions + /// immediately after the base model structure is available. + /// + /// + /// A callback invoked on the main Unity thread once all resources (textures, shaders, etc.) + /// have been loaded. This indicates the final stage of model loading. + /// + /// + /// A callback invoked whenever the loading progress updates, with a float parameter + /// indicating progress (0 to 1). + /// + /// + /// A callback invoked on the main Unity thread if any error occurs during the download + /// or loading process. + /// + /// + /// An optional parent under which the loaded model's + /// will be placed. If null, the model is created at the root level. + /// + /// + /// The controlling how the model is processed, + /// including material, animation, and texture loading behaviors. + /// + /// + /// Optional custom data passed to the for use in the loading pipeline. + /// + /// + /// If known, specify the model file extension (e.g., ".fbx"). + /// If the file is within a .zip, this should be the extension of the internal file. + /// + /// + /// Pass true if the file is a .zip, allowing TriLib to extract and process + /// the contained model. If null, TriLib will try to guess based on the . + /// + /// + /// If true, the loading tasks are created but not started immediately. + /// Use this to chain multiple tasks or delay the loading process. + /// + /// + /// A reference that represents the ongoing download and model loading + /// process. You can yield on it in a Unity coroutine or let it run asynchronously. + /// + public static Coroutine LoadModelFromUri( + UnityWebRequest unityWebRequest, + Action onLoad, + Action onMaterialsLoad, + Action onProgress, + Action onError = null, + GameObject wrapperGameObject = null, + AssetLoaderOptions assetLoaderOptions = null, + object customContextData = null, + string fileExtension = null, + bool? isZipFile = null, + bool haltTask = false) { + // Create a temporary GameObject with an attached AssetDownloaderBehaviour + // to manage the coroutine lifecycle. var assetDownloader = new GameObject("Asset Downloader").AddComponent(); - return assetDownloader.StartCoroutine(assetDownloader.DownloadAsset(unityWebRequest, onLoad, onMaterialsLoad, onProgress, wrapperGameObject, onError, assetLoaderOptions, customContextData, fileExtension, isZipFile)); + return assetDownloader.StartCoroutine( + assetDownloader.DownloadAsset( + unityWebRequest, + onLoad, + onMaterialsLoad, + onProgress, + wrapperGameObject, + onError, + assetLoaderOptions, + customContextData, + fileExtension, + isZipFile + ) + ); } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloader.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloader.cs.meta index 8cf7c38f..28aee3de 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloader.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloader.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: f292082f03644d86bfd09849913c6598 -timeCreated: 1574628768 \ No newline at end of file +timeCreated: 1574628768 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloader.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloaderBehaviour.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloaderBehaviour.cs index 0652cfa0..f7e67c27 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloaderBehaviour.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloaderBehaviour.cs @@ -8,80 +8,185 @@ using UnityEngine.Networking; namespace TriLibCore { - /// Represents a class used to download Models with Coroutines used by the Asset Downloader. + /// + /// Provides coroutines for asynchronously downloading model data from a remote source, + /// then passing that data to TriLib’s or + /// for actual model loading. This component is spawned at runtime by + /// and automatically destroyed once + /// the download and loading processes finish. + /// public class AssetDownloaderBehaviour : MonoBehaviour { /// - /// Unity web request instance used on this script. + /// Stores the used to download the model data. /// private UnityWebRequest _unityWebRequest; /// - /// Method to call when the model downloading progress changes. + /// References the callback method that is invoked to report loading progress. + /// The callback receives an and a + /// representing the current download or loading progress. /// private Action _onProgress; /// - /// Context used to load the model. + /// Holds the created after the model begins loading, + /// allowing further tracking or modification of the load state. /// private AssetLoaderContext _assetLoaderContext; - /// Downloads the Model using the given Request and options. - /// The Unity Web Request used to load the Model. You can use the CreateWebRequest method to create a new Unity Web Request or pass your instance. - /// The Method to call on the Main Thread when the Model is loaded but resources may still pending. - /// The Method to call on the Main Thread when the Model and resources are loaded. - /// The Method to call when the Model loading progress changes. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The Method to call on the Main Thread when any error occurs. - /// The options to use when loading the Model. - /// The Custom Data that will be passed along the Context. - /// The extension of the URI Model. - /// Pass true if your file is a Zip file. - /// The download coroutine enumerator. - public IEnumerator DownloadAsset(UnityWebRequest unityWebRequest, Action onLoad, Action onMaterialsLoad, Action onProgress, GameObject wrapperGameObject, Action onError, AssetLoaderOptions assetLoaderOptions, object customContextData, string fileExtension, bool? isZipFile = null) + /// + /// Downloads the model data via the given , then + /// hands off the data to the appropriate loading method ( + /// or ) based on file extension or + /// content type. Once completed, this is destroyed. + /// + /// + /// The object prepared for downloading the model data. + /// + /// + /// A callback invoked on the main thread once the core model data has been processed + /// (but before materials are fully loaded). + /// + /// + /// A callback invoked on the main thread once the model’s materials (textures, shaders, etc.) + /// have finished loading. + /// + /// + /// A callback invoked throughout the download and loading process, indicating progress + /// with a float in the range [0, 1]. + /// + /// + /// An optional parent under which the loaded model's + /// is placed. Can be null for a root-level object. + /// + /// + /// A callback invoked if any error occurs during download or loading. Called on the main thread. + /// + /// + /// The controlling how the model is loaded (e.g., materials, textures, animations). + /// + /// + /// Optional custom data that can be stored in the + /// for reference in the loading pipeline. + /// + /// + /// The file extension for the model (e.g., ".fbx"), if known. If the file is + /// recognized as a .zip, this may be used for the internal file within the archive. + /// + /// + /// A boolean (or null) indicating whether the file is a .zip archive. If null, + /// the method infers this based on the Content-Type header or . + /// + /// + /// An that can be yielded in a Unity coroutine, controlling + /// the download process. Once the download completes and loading is triggered, this + /// object destroys itself via . + /// + public IEnumerator DownloadAsset( + UnityWebRequest unityWebRequest, + Action onLoad, + Action onMaterialsLoad, + Action onProgress, + GameObject wrapperGameObject, + Action onError, + AssetLoaderOptions assetLoaderOptions, + object customContextData, + string fileExtension, + bool? isZipFile = null) { _unityWebRequest = unityWebRequest; _onProgress = onProgress; + + // Begin the download request and wait for it to finish yield return unityWebRequest.SendWebRequest(); + try { + // Check if the HTTP response indicates success if (unityWebRequest.responseCode < 400) { + // Convert the downloaded data to a MemoryStream for model loading var memoryStream = new MemoryStream(_unityWebRequest.downloadHandler.data); - var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData(new UriLoadCustomContextData - { - UnityWebRequest = _unityWebRequest - }); + + // Create a custom data dictionary with the UnityWebRequest context + var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData( + new UriLoadCustomContextData + { + UnityWebRequest = _unityWebRequest + } + ); + + // Merge any user-provided custom context data if (customContextData != null) { CustomDataHelper.SetCustomData(ref customDataDic, customContextData); } + + // Attempt to infer .zip status from the Content-Type header var contentType = unityWebRequest.GetResponseHeader("Content-Type"); if (contentType != null && isZipFile == null) { - isZipFile = contentType.Contains("application/zip") || contentType.Contains("application/x-zip-compressed") || contentType.Contains("multipart/x-zip"); + isZipFile = contentType.Contains("application/zip") + || contentType.Contains("application/x-zip-compressed") + || contentType.Contains("multipart/x-zip"); } + + // Infer file extension if not given if (!isZipFile.GetValueOrDefault() && string.IsNullOrWhiteSpace(fileExtension)) { fileExtension = FileUtils.GetFileExtension(unityWebRequest.url); } + + // Load from .zip or from a regular file stream if (isZipFile.GetValueOrDefault()) { - _assetLoaderContext = AssetLoaderZip.LoadModelFromZipStream(memoryStream, onLoad, onMaterialsLoad, delegate (AssetLoaderContext assetLoaderContext, float progress) { onProgress?.Invoke(assetLoaderContext, 0.5f + progress * 0.5f); }, onError, wrapperGameObject, assetLoaderOptions, customDataDic, fileExtension); + _assetLoaderContext = AssetLoaderZip.LoadModelFromZipStream( + memoryStream, + onLoad, + onMaterialsLoad, + delegate (AssetLoaderContext assetLoaderContext, float progressValue) + { + onProgress?.Invoke(assetLoaderContext, 0.5f + progressValue * 0.5f); + }, + onError, + wrapperGameObject, + assetLoaderOptions, + customDataDic, + fileExtension + ); } else { - _assetLoaderContext = AssetLoader.LoadModelFromStream(memoryStream, null, fileExtension, onLoad, onMaterialsLoad, delegate (AssetLoaderContext assetLoaderContext, float progress) { onProgress?.Invoke(assetLoaderContext, 0.5f + progress * 0.5f); }, onError, wrapperGameObject, assetLoaderOptions, customDataDic); + _assetLoaderContext = AssetLoader.LoadModelFromStream( + memoryStream, + null, + fileExtension, + onLoad, + onMaterialsLoad, + delegate (AssetLoaderContext assetLoaderContext, float progressValue) + { + onProgress?.Invoke(assetLoaderContext, 0.5f + progressValue * 0.5f); + }, + onError, + wrapperGameObject, + assetLoaderOptions, + customDataDic + ); } } else { - var exception = new Exception($"UnityWebRequest error:{unityWebRequest.error}, code:{unityWebRequest.responseCode}"); + // Construct an exception with the error message and response code + var exception = new Exception( + $"UnityWebRequest error: {unityWebRequest.error}, code: {unityWebRequest.responseCode}" + ); throw exception; } } catch (Exception exception) { + // If an error callback is provided, wrap or forward the exception if (onError != null) { var contextualizedError = exception as IContextualizedError; @@ -89,16 +194,23 @@ namespace TriLibCore } else { + // Otherwise, rethrow the exception throw; } } + + // Destroy the temporary GameObject once loading is complete or has failed Destroy(gameObject); } - /// Updates the download progress. + /// + /// Called once per frame by Unity. Updates the current download progress in real time. + /// The progress value here represents the download portion (0–50% of overall loading), + /// while the remaining 50% is tracked as the model is parsed and processed by TriLib. + /// private void Update() { _onProgress?.Invoke(_assetLoaderContext, _unityWebRequest.downloadProgress * 0.5F); } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloaderBehaviour.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloaderBehaviour.cs.meta index 10c7add8..514e0a8d 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloaderBehaviour.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloaderBehaviour.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: 18056423bcc840dbafa1c54d82120b83 -timeCreated: 1574628651 \ No newline at end of file +timeCreated: 1574628651 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetDownloaderBehaviour.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoader.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoader.cs index d48be8fd..118202c7 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoader.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoader.cs @@ -11,6 +11,7 @@ using FileMode = System.IO.FileMode; using HumanDescription = UnityEngine.HumanDescription; using Object = UnityEngine.Object; using System.Collections; +using System.Runtime; using TriLibCore.Extensions; using TriLibCore.General; using TriLibCore.Interfaces; @@ -26,285 +27,49 @@ using UnityEditor; #endif namespace TriLibCore { - /// Represents the main class containing methods to load the Models. - public static partial class AssetLoader + /// + /// Provides static methods for loading 3D models and related assets into Unity. This class includes + /// functionality for reading various file types or streams, creating mesh and material data, setting + /// up animations, configuring LODs, and more. + /// + public static class AssetLoader { /// - /// Asset Loader Options validation message. - /// - private const string ValidationMessage = "You can disable these validations in the Edit->Project Settings->TriLib menu."; - - /// - /// Constant that defines the namespace used by TriLib Mappers. + /// The namespace used internally by TriLib Mappers. /// private const string TriLibMappersNamespace = "TriLibCore.Mappers"; - /// Loads a Model from the given path asynchronously. - /// The Model file path. - /// The Method to call on the Main Thread when the Model is loaded but resources may still pending. - /// The Method to call on the Main Thread when the Model and resources are loaded. - /// The Method to call when the Model loading progress changes. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The options to use when loading the Model. - /// The Custom Data that will be passed along the Context. - /// Turn on this field to avoid loading the model immediately and chain the Tasks. - /// The method to call on the parallel Thread before the Unity objects are created. - /// Indicates whether to load from a Zip file. - /// The Asset Loader Context, containing Model loading information and the output Game Object. - public static AssetLoaderContext LoadModelFromFile(string path, - Action onLoad = null, - Action onMaterialsLoad = null, - Action onProgress = null, - Action onError = null, - GameObject wrapperGameObject = null, - AssetLoaderOptions assetLoaderOptions = null, - object customContextData = null, - bool haltTask = false, - Action onPreLoad = null, - bool isZipFile = false) - { - var assetLoaderContext = new AssetLoaderContext - { - Options = assetLoaderOptions ? assetLoaderOptions : CreateDefaultLoaderOptions(), - Filename = path, - BasePath = FileUtils.GetFileDirectory(path), - WrapperGameObject = wrapperGameObject, - OnMaterialsLoad = onMaterialsLoad, - OnLoad = onLoad, - OnProgress = onProgress, - HandleError = HandleError, - OnError = onError, - OnPreLoad = onPreLoad, - CustomData = customContextData, - HaltTasks = haltTask, -#if (UNITY_WEBGL && !TRILIB_ENABLE_WEBGL_THREADS) || (UNITY_WSA && !TRILIB_ENABLE_UWP_THREADS) || TRILIB_FORCE_SYNC - Async = false, -#else - Async = true, -#endif - IsZipFile = isZipFile, - PersistentDataPath = Application.persistentDataPath - }; - assetLoaderContext.Setup(); - LoadModelInternal(assetLoaderContext); - return assetLoaderContext; - } - - /// Loads a Model from the given Stream asynchronously. - /// The Stream containing the Model data. - /// The Model filename. - /// The Model file extension. (Eg.: fbx) - /// The Method to call on the Main Thread when the Model is loaded but resources may still pending. - /// The Method to call on the Main Thread when the Model and resources are loaded. - /// The Method to call when the Model loading progress changes. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The options to use when loading the Model. - /// The Custom Data that will be passed along the Context. - /// Turn on this field to avoid loading the model immediately and chain the Tasks. - /// The method to call on the parallel Thread before the Unity objects are created. - /// Indicates whether to load from a Zip file. - /// The Asset Loader Context, containing Model loading information and the output Game Object. - public static AssetLoaderContext LoadModelFromStream(Stream stream, - string filename = null, - string fileExtension = null, - Action onLoad = null, - Action onMaterialsLoad = null, - Action onProgress = null, - Action onError = null, - GameObject wrapperGameObject = null, - AssetLoaderOptions assetLoaderOptions = null, - object customContextData = null, - bool haltTask = false, - Action onPreLoad = null, - bool isZipFile = false) - { - var assetLoaderContext = new AssetLoaderContext - { - Options = assetLoaderOptions ? assetLoaderOptions : CreateDefaultLoaderOptions(), - Stream = stream, - Filename = filename, - FileExtension = fileExtension ?? FileUtils.GetFileExtension(filename, false), - BasePath = FileUtils.GetFileDirectory(filename), - WrapperGameObject = wrapperGameObject, - OnMaterialsLoad = onMaterialsLoad, - OnLoad = onLoad, - OnProgress = onProgress, - HandleError = HandleError, - OnError = onError, - OnPreLoad = onPreLoad, - CustomData = customContextData, - HaltTasks = haltTask, -#if (UNITY_WEBGL && !TRILIB_ENABLE_WEBGL_THREADS) || (UNITY_WSA && !TRILIB_ENABLE_UWP_THREADS) || TRILIB_FORCE_SYNC - Async = false, -#else - Async = true, -#endif - IsZipFile = isZipFile, - PersistentDataPath = Application.persistentDataPath - }; - assetLoaderContext.Setup(); - LoadModelInternal(assetLoaderContext); - return assetLoaderContext; - } - - /// Loads a Model from the given path synchronously. - /// The Model file path. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The options to use when loading the Model. - /// The Custom Data that will be passed along the Context. - /// Indicates whether to load from a Zip file. - /// The Asset Loader Context, containing Model loading information and the output Game Object. - public static AssetLoaderContext LoadModelFromFileNoThread(string path, - Action onError = null, - GameObject wrapperGameObject = null, - AssetLoaderOptions assetLoaderOptions = null, - object customContextData = null, - bool isZipFile = false) - { - var assetLoaderContext = new AssetLoaderContext - { - Options = assetLoaderOptions ? assetLoaderOptions : CreateDefaultLoaderOptions(), - Filename = path, - BasePath = FileUtils.GetFileDirectory(path), - CustomData = customContextData, - HandleError = HandleError, - OnError = onError, - WrapperGameObject = wrapperGameObject, - Async = false, - IsZipFile = isZipFile, - PersistentDataPath = Application.persistentDataPath - }; - assetLoaderContext.Setup(); - LoadModelInternal(assetLoaderContext); - return assetLoaderContext; - } - - /// Loads a Model from the given Stream synchronously. - /// The Stream containing the Model data. - /// The Model filename. - /// The Model file extension. (Eg.: fbx) - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The options to use when loading the Model. - /// The Custom Data that will be passed along the Context. - /// Indicates whether to load from a Zip file. - /// The Asset Loader Context, containing Model loading information and the output Game Object. - public static AssetLoaderContext LoadModelFromStreamNoThread(Stream stream, - string filename = null, - string fileExtension = null, - Action onError = null, - GameObject wrapperGameObject = null, - AssetLoaderOptions assetLoaderOptions = null, - object customContextData = null, - bool isZipFile = false) - { - var assetLoaderContext = new AssetLoaderContext - { - Options = assetLoaderOptions ? assetLoaderOptions : CreateDefaultLoaderOptions(), - Stream = stream, - Filename = filename, - FileExtension = fileExtension ?? FileUtils.GetFileExtension(filename, false), - BasePath = FileUtils.GetFileDirectory(filename), - CustomData = customContextData, - HandleError = HandleError, - OnError = onError, - WrapperGameObject = wrapperGameObject, - Async = false, - IsZipFile = isZipFile, - PersistentDataPath = Application.persistentDataPath - }; - assetLoaderContext.Setup(); - LoadModelInternal(assetLoaderContext); - return assetLoaderContext; - } - - /// Begins the model loading process. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - private static void LoadModelInternal(AssetLoaderContext assetLoaderContext) - { -#if !TRILIB_DISABLE_VALIDATIONS - ValidateAssetLoaderOptions(assetLoaderContext.Options); -#endif -#if TRILIB_USE_THREAD_NAMES && !UNITY_WSA - var threadName = "TriLib_LoadModelFromStream"; -#else - string threadName = null; -#endif - var fileExtension = assetLoaderContext.FileExtension; - if (fileExtension == null && assetLoaderContext.Filename != null) - { - fileExtension = FileUtils.GetFileExtension(assetLoaderContext.Filename, false); - } - if (fileExtension == "zip") - { - AssetLoaderZip.LoadModelFromZipFile(assetLoaderContext.Filename, - assetLoaderContext.OnLoad, - assetLoaderContext.OnMaterialsLoad, - assetLoaderContext.OnProgress, - assetLoaderContext.OnError, - assetLoaderContext.WrapperGameObject, - assetLoaderContext.Options, - assetLoaderContext.CustomData, - assetLoaderContext.FileExtension, - assetLoaderContext.HaltTasks, - assetLoaderContext.OnPreLoad); - } - else - { - ThreadUtils.RequestNewThreadFor( - assetLoaderContext, - LoadModel, - ProcessRootModel, - HandleError, - assetLoaderContext.Options.Timeout, - threadName, - !assetLoaderContext.HaltTasks, - assetLoaderContext.OnPreLoad - ); - } - } /// - /// Validates the given AssetLoaderOptions. + /// The default message displayed when validating Asset Loader Options. + /// You can disable these validations in the 'Edit -> Project Settings -> TriLib' menu. /// - /// The options to use when loading the Model. - private static void ValidateAssetLoaderOptions(AssetLoaderOptions assetLoaderOptions) - { -#if ENABLE_IL2CPP - if (assetLoaderOptions.EnableProfiler) { - assetLoaderOptions.EnableProfiler = false; - Debug.LogWarning("TriLib: The built in profiler has been disabled as it does not work with IL2CPP builds."); - Debug.LogWarning(ValidationMessage); - } -#endif - if (GraphicsSettingsUtils.IsUsingUniversalPipeline && assetLoaderOptions.LoadTexturesAsSRGB) - { - Debug.LogWarning("TriLib: Textures must be loaded as Linear on the UniversalRP."); - Debug.LogWarning(ValidationMessage); - assetLoaderOptions.LoadTexturesAsSRGB = false; - } - if (!assetLoaderOptions.UseUnityNativeTextureLoader) - { - Debug.LogWarning("Please consider enabling your \"AssetLoaderOptions.UseUnityNativeTextureLoader\" field. That will narrow down the accepted image file formats to PNG and JPG, but this method is faster than the default TriLib StbImage."); - Debug.LogWarning(ValidationMessage); - } - if (!assetLoaderOptions.UseUnityNativeNormalCalculator) - { - Debug.LogWarning("Please consider enabling your \"AssetLoaderOptions.UseUnityNativeNormalCalculator\" field. That will simplify the normal calculation algorithm but is faster than the default TriLib normal calculator."); - Debug.LogWarning(ValidationMessage); - } -#if UNITY_WEBGL - if (!assetLoaderOptions.UseCoroutines) - { - Debug.LogWarning("Please consider enabling your \"AssetLoaderOptions.UseCoroutines\" field. That might prevent your browser from showing \"The page is not responding\" messages."); - Debug.LogWarning(ValidationMessage); - } -#endif - } + private const string ValidationMessage = "You can disable these validations in the 'Edit->Project Settings->TriLib' menu."; #if UNITY_EDITOR + /// + /// Attempts to load a asset of the specified from the Unity project. + /// If it cannot be found, the method creates a new instance of that and saves it + /// as an asset at a generated path under the TriLib mappers folder. + /// + /// + /// The name of the class (e.g., "ByBonesRootBoneMapper"). + /// The file name of the asset is derived from this parameter. + /// + /// + /// The namespace in which the resides. + /// This is used to fully qualify the class when creating a new instance. + /// + /// + /// The subfolder name under the TriLib mappers directory where the asset should be located or created. + /// + /// + /// A reference to the loaded or newly created . + /// Returns null if the creation fails (e.g., if the type could not be found). + /// + /// + /// Thrown if the TriLib mappers placeholder file cannot be located, indicating + /// an issue with the TriLib package import. + /// private static Object LoadOrCreateScriptableObject(string type, string @namespace, string subFolder) { string mappersFilePath; @@ -315,16 +80,22 @@ namespace TriLibCore } else { - throw new Exception("Could not find \"TriLibMappersPlaceholder\" file. Please re-import TriLib package."); + throw new Exception("Could not find \"TriLibMappersPlaceholder\" file. Please re-import the TriLib package."); } + var mappersDirectory = $"{FileUtils.GetFileDirectory(mappersFilePath)}"; var assetDirectory = $"{mappersDirectory}/{subFolder}"; + + // Ensure the target folder exists; create it if necessary. if (!AssetDatabase.IsValidFolder(assetDirectory)) { AssetDatabase.CreateFolder(mappersDirectory, subFolder); } + var assetPath = $"{assetDirectory}/{type}.asset"; var scriptableObject = AssetDatabase.LoadAssetAtPath(assetPath, typeof(Object)); + + // If the asset doesn't exist, create a new ScriptableObject and save it. if (scriptableObject == null) { scriptableObject = CreateScriptableObjectSafe(type, @namespace); @@ -333,19 +104,32 @@ namespace TriLibCore AssetDatabase.CreateAsset(scriptableObject, assetPath); } } + return scriptableObject; } #endif - /// Creates an Asset Loader Options with the default settings and Mappers. - /// Indicates whether created Scriptable Objects will be saved as assets. - /// Pass `true `if you are caching your AssetLoaderOptions instance. - /// The Asset Loader Options containing the default settings. + /// + /// Creates an instance with TriLib's default settings and + /// registers mappers such as and all valid instances. + /// + /// If is true (in the Unity Editor), the scriptable objects + /// will be created as assets; otherwise, they will be created in memory only. + /// + /// If true, newly created ScriptableObject instances will be saved as assets. + /// + /// If true, suppresses the warning about creating a new instance. + /// Pass true if you are caching the instance to avoid repeated warnings. + /// + /// + /// A new object initialized with default TriLib settings and + /// the available mappers. + /// public static AssetLoaderOptions CreateDefaultLoaderOptions(bool generateAssets = false, bool supressWarning = false) { if (!supressWarning) { - Debug.LogWarning("TriLib: You are creating a new AssetLoaderOptions instance. If you are caching this instance and don't want this message to be displayed again, pass `false` to the `supressWarning` parameter of `CreateDefaultLoaderOptions` call."); + Debug.LogWarning("TriLib: You are creating a new AssetLoaderOptions instance. If you are caching this instance and don't want this message to be displayed again, pass `true` to the `supressWarning` parameter of `CreateDefaultLoaderOptions` call."); } var assetLoaderOptions = ScriptableObject.CreateInstance(); ByBonesRootBoneMapper byBonesRootBoneMapper; @@ -359,7 +143,7 @@ namespace TriLibCore byBonesRootBoneMapper = ScriptableObject.CreateInstance(); } #else - byBonesRootBoneMapper = ScriptableObject.CreateInstance(); + byBonesRootBoneMapper = ScriptableObject.CreateInstance(); #endif byBonesRootBoneMapper.name = "ByBonesRootBoneMapper"; assetLoaderOptions.RootBoneMapper = byBonesRootBoneMapper; @@ -384,10 +168,10 @@ namespace TriLibCore } else { - materialMapper = CreateScriptableObjectSafe(materialMapperName, materialMapperNamespace) as MaterialMapper; + materialMapper = LoadOrCreateScriptableObjectSafe(materialMapperName, materialMapperNamespace, "Mappers/Material", true) as MaterialMapper; } #else - materialMapper = CreateScriptableObjectSafe(materialMapperName, materialMapperNamespace) as MaterialMapper; + materialMapper = LoadOrCreateScriptableObjectSafe(materialMapperName, materialMapperNamespace, "Mappers/Material", true) as MaterialMapper; #endif } catch @@ -411,14 +195,15 @@ namespace TriLibCore Object.DestroyImmediate(materialMapper); } #else - Object.Destroy(materialMapper); + Object.Destroy(materialMapper); #endif } } } + if (materialMappers.Count == 0) { - Debug.LogWarning("TriLib could not find any suitable MaterialMapper on the project."); + Debug.LogWarning("TriLib could not find any suitable MaterialMapper in the project."); } else { @@ -428,443 +213,581 @@ namespace TriLibCore } /// - /// Tries to create a ScriptableObject with the given parameters, without throwing an internal Exception. + /// Determines and returns the name of a compatible implementation + /// based on the currently active render pipeline (HDRP, URP, or built-in/Standard). /// - /// The ScriptableObject type name. - /// The ScriptableObject type namespace. - /// The created ScriptableObject, or null. - private static ScriptableObject CreateScriptableObjectSafe(string typeName, string @namespace) + /// + /// The name of the best suited for the active render pipeline. + /// If HDRP is active, returns HDRPMaterialMapper. If URP is active, returns + /// UniversalRPMaterialMapper. Otherwise, returns StandardMaterialMapper. + /// + public static string GetCompatibleMaterialMapperName() { - var type = System.Type.GetType($"{@namespace}.{typeName}"); - return type != null ? ScriptableObject.CreateInstance(typeName) : null; + string materialMapper; + if (GraphicsSettingsUtils.IsUsingHDRPPipeline) + { + materialMapper = "HDRPMaterialMapper"; + } + else if (GraphicsSettingsUtils.IsUsingUniversalPipeline) + { + materialMapper = "UniversalRPMaterialMapper"; + } + else + { + materialMapper = "StandardMaterialMapper"; + } + return materialMapper; } - private static IEnumerator CreateRootModel(AssetLoaderContext assetLoaderContext) + /// + /// Retrieves the project-wide selected based on TriLib settings. + /// If a matching mapper is found and is true, this method + /// will create a new instance of that mapper. + /// + /// + /// If true, creates a new instance of the selected . + /// If false, returns the prefab/reference directly. + /// + /// + /// The selected , or null if no mapper is selected in the TriLib settings. + /// + public static MaterialMapper GetSelectedMaterialMapper(bool instantiate) { - var transform = assetLoaderContext.WrapperGameObject != null ? assetLoaderContext.WrapperGameObject.transform : null; - var rootModel = assetLoaderContext.RootModel; - foreach (var item in CreateModel(assetLoaderContext, transform, rootModel, rootModel, true)) + for (var i = 0; i < MaterialMapper.RegisteredMappers.Count; i++) { - yield return item; - } - PostProcessModels(assetLoaderContext); - foreach (var item in ProcessMaterials(assetLoaderContext)) - { - yield return item; - } - } - - private static void PostProcessModels(AssetLoaderContext assetLoaderContext) - { - if (assetLoaderContext.RootGameObject.transform.localScale.sqrMagnitude == 0f) - { - assetLoaderContext.RootGameObject.transform.localScale = Vector3.one; - } - SetupModelLod(assetLoaderContext, assetLoaderContext.RootModel); - if (assetLoaderContext.Options.AnimationType != AnimationType.None || assetLoaderContext.Options.ImportBlendShapes) - { - SetupModelBones(assetLoaderContext, assetLoaderContext.RootModel); - BuildGameObjectsPaths(assetLoaderContext); - SetupRig(assetLoaderContext); - } - assetLoaderContext.RootGameObject.isStatic = assetLoaderContext.Options.Static; - assetLoaderContext.OnLoad?.Invoke(assetLoaderContext); - } - - /// Configures the context Model LODs (levels-of-detail) if there are any. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - /// The Model containing the LOD data. - - private static void SetupModelLod(AssetLoaderContext assetLoaderContext, IModel model) - { - if (model.Children != null && model.Children.Count > 0) - { - var lodModels = new Dictionary>(model.Children.Count); - var minLod = int.MaxValue; - var maxLod = 0; - for (var i = 0; i < model.Children.Count; i++) + var materialMapperName = MaterialMapper.RegisteredMappers[i]; + var materialMapperNamespace = MaterialMapper.RegisteredMapperNamespaces[i]; + if (TriLibSettings.GetBool(materialMapperName)) { - var child = model.Children[i]; - var match = Regex.Match(child.Name, "_LOD(?[0-9]+)|LOD_(?[0-9]+)"); - if (match.Success) + return LoadOrCreateScriptableObjectSafe(materialMapperName, materialMapperNamespace, "Mappers/Materials", instantiate) as MaterialMapper; + } + } + return null; + } + + /// + /// Configures the specified for optimal loading performance. + /// This method attempts to load the Autodesk Interactive and glTF2 material helpers (if they exist), + /// sets default references (e.g., blend shape mapper), and tweaks various settings for faster loading. + /// + /// + /// A reference to the instance to configure with the fastest possible settings. + /// + public static void LoadFastestSettings(ref AssetLoaderOptions assetLoaderOptions) + { + // Looks for the GLTF and Autodesk Interactive material helpers and use them to setup additional material mappers, if found. + var autodeskInteractiveMaterialsHelper = Resources.Load("MaterialHelpers/AutodeskInteractiveMaterialsHelper"); + if (autodeskInteractiveMaterialsHelper != null) + { + autodeskInteractiveMaterialsHelper.Setup(ref assetLoaderOptions); + } + else + { + Debug.LogWarning("TriLib could not find the AutodeskInteractive Material Mapper. The default TriLib Material Mappers will be deprecated soon."); + } + + var gltfMaterialsHelper = Resources.Load("MaterialHelpers/GltfMaterialsHelper"); + if (gltfMaterialsHelper != null) + { + gltfMaterialsHelper.Setup(ref assetLoaderOptions); + } + else + { + Debug.LogWarning("TriLib could not find the glTF2 Material Mapper. The default TriLib Material Mappers will be deprecated soon."); + } + + // Looks for the BlendShapePlayerMapper and use it as the blend shape mapper, if found. + var blendShapePlayerMapper = Resources.Load("Mappers/BlendShapePlayerMapper"); + if (blendShapePlayerMapper != null) + { + assetLoaderOptions.BlendShapeMapper = blendShapePlayerMapper; + } + + // Enable warnings for better debugging and use faster native calculation/loading methods: + assetLoaderOptions.ShowLoadingWarnings = true; + assetLoaderOptions.UseUnityNativeNormalCalculator = true; + assetLoaderOptions.UseUnityNativeTextureLoader = true; + + // Disable mesh optimization for faster loading: + assetLoaderOptions.OptimizeMeshes = false; + + // Additional relevant texture settings: + assetLoaderOptions.GetCompatibleTextureFormat = false; + assetLoaderOptions.EnforceAlphaChannelTextures = false; + } + + /// + /// Loads a model from the specified asynchronously, returning an + /// that contains information about the loading process and + /// the resulting hierarchy. + /// + /// This method creates or uses an existing if none is provided. + /// It attempts to load the model in a background thread where possible (depending on platform/thread settings), + /// and calls back on the Unity main thread (unless otherwise noted). + /// + /// The absolute or relative file path to the model. + /// + /// Callback invoked on the main thread once the model is loaded (but materials may still be pending). + /// Use this to perform any setup/initialization right after the base model data is available. + /// + /// + /// Callback invoked on the main thread after the model’s materials (textures, shaders, etc.) have finished loading. + /// This is the final stage of the loading process. + /// + /// + /// Callback invoked (potentially on a background thread) whenever the loading progress changes. + /// The float parameter represents a value from 0 to 1 indicating progress completion. + /// + /// + /// Callback invoked on the main thread if an error occurs at any point during the loading process. + /// + /// + /// An optional parent under which the newly loaded model + /// will be placed. If null, the model will be loaded at the root level. + /// + /// + /// The controlling how the model is loaded. If null, + /// this method will create and use a default set of loading options. + /// + /// + /// Any custom data you want to pass along to the for use within the loading pipeline. + /// + /// + /// If true, loading tasks are created but not started immediately. This can be used to queue or chain multiple tasks. + /// + /// + /// Callback invoked on a background thread before Unity objects are created. Use this for any setup tasks + /// that need to run ahead of object instantiation. + /// + /// Indicates whether the specified points to a Zip file containing model data. + /// + /// The that tracks all loading information, including references to the + /// loaded hierarchy and any associated data or errors. + /// + public static AssetLoaderContext LoadModelFromFile( + string path, + Action onLoad = null, + Action onMaterialsLoad = null, + Action onProgress = null, + Action onError = null, + GameObject wrapperGameObject = null, + AssetLoaderOptions assetLoaderOptions = null, + object customContextData = null, + bool haltTask = false, + Action onPreLoad = null, + bool isZipFile = false) + { + var assetLoaderContext = new AssetLoaderContext + { + Options = assetLoaderOptions ? assetLoaderOptions : CreateDefaultLoaderOptions(), + Filename = path, + BasePath = FileUtils.GetFileDirectory(path), + WrapperGameObject = wrapperGameObject, + OnMaterialsLoad = onMaterialsLoad, + OnLoad = onLoad, + OnProgress = onProgress, + HandleError = HandleError, + OnError = onError, + OnPreLoad = onPreLoad, + CustomData = customContextData, + HaltTasks = haltTask, +#if (UNITY_WEBGL && !TRILIB_ENABLE_WEBGL_THREADS) || (UNITY_WSA && !TRILIB_ENABLE_UWP_THREADS) || TRILIB_FORCE_SYNC + Async = false, +#else + Async = true, +#endif + IsZipFile = isZipFile, + PersistentDataPath = Application.persistentDataPath + }; + assetLoaderContext.Setup(); + LoadModelInternal(assetLoaderContext); + return assetLoaderContext; + } + + /// + /// Loads a model from the specified synchronously on the main thread, + /// returning an with the resulting hierarchy. + /// + /// This method does not utilize background threads, which may be required on certain platforms + /// or situations where multithreading is unsupported or disabled. + /// + /// The absolute or relative file path to the model. + /// + /// Callback invoked on the main thread if an error occurs at any point during loading. + /// + /// + /// An optional parent under which the newly loaded model + /// will be placed. If null, the model will be loaded at the root level. + /// + /// + /// The controlling how the model is loaded. If null, + /// this method will create and use a default set of loading options. + /// + /// + /// Any custom data you want to pass along to the for use within the loading pipeline. + /// + /// Indicates whether the specified points to a Zip file containing model data. + /// + /// The containing information about the load, including references to the + /// loaded hierarchy and any encountered errors. + /// + public static AssetLoaderContext LoadModelFromFileNoThread( + string path, + Action onError = null, + GameObject wrapperGameObject = null, + AssetLoaderOptions assetLoaderOptions = null, + object customContextData = null, + bool isZipFile = false) + { + var assetLoaderContext = new AssetLoaderContext + { + Options = assetLoaderOptions ? assetLoaderOptions : CreateDefaultLoaderOptions(), + Filename = path, + BasePath = FileUtils.GetFileDirectory(path), + CustomData = customContextData, + HandleError = HandleError, + OnError = onError, + WrapperGameObject = wrapperGameObject, + Async = false, + IsZipFile = isZipFile, + PersistentDataPath = Application.persistentDataPath + }; + assetLoaderContext.Setup(); + LoadModelInternal(assetLoaderContext); + return assetLoaderContext; + } + + /// + /// Loads a model from the given asynchronously, returning an + /// with the resulting hierarchy. + /// + /// Use this overload when the model data is not located in a file but is provided via a . + /// For instance, loading from memory or from a custom data source. + /// + /// A containing the model data to load. + /// + /// The model’s filename (if known). This is primarily used to determine the base directory or metadata. + /// + /// + /// The file extension (e.g., "fbx"). If null, this will be automatically determined + /// using based on . + /// + /// + /// Callback invoked on the main thread once the model is loaded (but materials may still be pending). + /// + /// + /// Callback invoked on the main thread after the model’s materials have finished loading. + /// + /// + /// Callback invoked (potentially on a background thread) whenever the loading progress changes. + /// The float parameter represents a value from 0 to 1 indicating progress. + /// + /// + /// Callback invoked on the main thread if an error occurs at any point during the loading process. + /// + /// + /// An optional parent under which the newly loaded model + /// will be placed. If null, the model will be loaded at the root level. + /// + /// + /// The controlling how the model is loaded. If null, + /// this method will create and use a default set of loading options. + /// + /// + /// Any custom data you want to pass along to the for use within the loading pipeline. + /// + /// + /// If true, loading tasks are created but not started immediately. This can be used to queue or chain multiple tasks. + /// + /// + /// Callback invoked on a background thread before Unity objects are created. Useful for any pre-instantiation preparation. + /// + /// Indicates whether the provided refers to a Zip file containing model data. + /// + /// The tracking all relevant loading data, including the resulting + /// hierarchy and any progress or errors. + /// + public static AssetLoaderContext LoadModelFromStream( + Stream stream, + string filename = null, + string fileExtension = null, + Action onLoad = null, + Action onMaterialsLoad = null, + Action onProgress = null, + Action onError = null, + GameObject wrapperGameObject = null, + AssetLoaderOptions assetLoaderOptions = null, + object customContextData = null, + bool haltTask = false, + Action onPreLoad = null, + bool isZipFile = false) + { + var assetLoaderContext = new AssetLoaderContext + { + Options = assetLoaderOptions ? assetLoaderOptions : CreateDefaultLoaderOptions(), + Stream = stream, + Filename = filename, + FileExtension = fileExtension ?? FileUtils.GetFileExtension(filename, false), + BasePath = FileUtils.GetFileDirectory(filename), + WrapperGameObject = wrapperGameObject, + OnMaterialsLoad = onMaterialsLoad, + OnLoad = onLoad, + OnProgress = onProgress, + HandleError = HandleError, + OnError = onError, + OnPreLoad = onPreLoad, + CustomData = customContextData, + HaltTasks = haltTask, +#if (UNITY_WEBGL && !TRILIB_ENABLE_WEBGL_THREADS) || (UNITY_WSA && !TRILIB_ENABLE_UWP_THREADS) || TRILIB_FORCE_SYNC + Async = false, +#else + Async = true, +#endif + IsZipFile = isZipFile, + PersistentDataPath = Application.persistentDataPath + }; + assetLoaderContext.Setup(); + LoadModelInternal(assetLoaderContext); + return assetLoaderContext; + } + + /// + /// Loads a model from the given synchronously on the main thread, + /// returning an with the resulting hierarchy. + /// + /// This method does not utilize background threads, suitable for environments or platforms + /// where asynchronous/parallel loading is not available or desired. + /// + /// A containing the model data to load. + /// + /// The model’s filename (if known). Used to determine the base directory or any other relevant metadata. + /// + /// + /// The file extension (e.g., "fbx"). If null, this will be automatically determined + /// using based on . + /// + /// + /// Callback invoked on the main thread if an error occurs at any point during loading. + /// + /// + /// An optional parent under which the newly loaded model + /// will be placed. If null, the model will be loaded at the root level. + /// + /// + /// The controlling how the model is loaded. If null, + /// a default configuration will be created and used. + /// + /// + /// Any custom data you want to pass along to the for use within the loading pipeline. + /// + /// Indicates whether the provided refers to a Zip file containing model data. + /// + /// The containing information about the load, including references to + /// the loaded hierarchy and any encountered errors. + /// + public static AssetLoaderContext LoadModelFromStreamNoThread( + Stream stream, + string filename = null, + string fileExtension = null, + Action onError = null, + GameObject wrapperGameObject = null, + AssetLoaderOptions assetLoaderOptions = null, + object customContextData = null, + bool isZipFile = false) + { + var assetLoaderContext = new AssetLoaderContext + { + Options = assetLoaderOptions ? assetLoaderOptions : CreateDefaultLoaderOptions(), + Stream = stream, + Filename = filename, + FileExtension = fileExtension ?? FileUtils.GetFileExtension(filename, false), + BasePath = FileUtils.GetFileDirectory(filename), + CustomData = customContextData, + HandleError = HandleError, + OnError = onError, + WrapperGameObject = wrapperGameObject, + Async = false, + IsZipFile = isZipFile, + PersistentDataPath = Application.persistentDataPath + }; + assetLoaderContext.Setup(); + LoadModelInternal(assetLoaderContext); + return assetLoaderContext; + } + + /// + /// Attempts to load a from the specified . + /// If not found, creates a new instance using and . + /// + /// The class name of the to load or create. + /// The namespace in which resides. + /// + /// The Resources directory path where the might be located. + /// For example, if you have a Resource at "Assets/Resources/Mappers/Material/CustomMaterialMapper.asset", + /// then could be "Mappers/Material". + /// + /// + /// If true, returns a cloned instance (via ). + /// If false, returns the original reference. + /// + /// + /// A reference to the loaded or newly created , or null + /// if the specified type or resource could not be found. + /// + public static ScriptableObject LoadOrCreateScriptableObjectSafe( + string typeName, + string typeNamespace, + string directory, + bool instantiate) + { + var scriptableObject = Resources.Load($"{directory}/{typeName}"); + if (scriptableObject == null) + { + var type = Type.GetType($"{typeNamespace}.{typeName}"); + return type != null ? ScriptableObject.CreateInstance(typeName) : null; + } + return instantiate ? Object.Instantiate(scriptableObject) : scriptableObject; + } + + /// + /// Applies a from the specified + /// to all corresponding components in the scene hierarchy. + /// + /// + /// A that holds both the original virtual material and + /// the resulting Unity . + /// + private static void ApplyMaterialToRenderers(MaterialMapperContext materialMapperContext) + { + materialMapperContext.Completed = false; + if (materialMapperContext.Context.MaterialRenderers.TryGetValue(materialMapperContext.Material, out var materialRendererList)) + { + for (var i = 0; i < materialRendererList.Count; i++) + { + var materialRendererContext = materialRendererList[i]; + materialRendererContext.MaterialMapperContext = materialMapperContext; + var meshFilter = materialRendererContext.Renderer.GetComponentInChildren(); + var skinnedMeshRenderer = materialRendererContext.Renderer.GetComponentInChildren(); + if (meshFilter != null) { - var lodNumber = Convert.ToInt32(match.Groups["number"].Value); - minLod = Mathf.Min(lodNumber, minLod); - maxLod = Mathf.Max(lodNumber, maxLod); - if (!lodModels.TryGetValue(lodNumber, out var renderers)) - { - renderers = new List(); - lodModels.Add(lodNumber, renderers); - } - renderers.AddRange(assetLoaderContext.GameObjects[child].GetComponentsInChildren()); + materialRendererContext.Mesh = materialMapperContext.Context.Options.UseSharedMeshes + ? meshFilter.sharedMesh + : meshFilter.mesh; } - - } - if (lodModels.Count > 1) - { - var newGameObject = assetLoaderContext.GameObjects[model]; - var lods = new List(lodModels.Count + 1); - var lodGroup = newGameObject.AddComponent(); - var lastPosition = assetLoaderContext.Options.LODScreenRelativeTransitionHeightBase; - for (var i = minLod; i <= maxLod; i++) + else { - if (lodModels.TryGetValue(i, out var renderers)) - { - lods.Add(new LOD(lastPosition, renderers.ToArray())); - lastPosition *= 0.5f; - } + materialRendererContext.Mesh = skinnedMeshRenderer != null ? skinnedMeshRenderer.sharedMesh : null; } - lodGroup.SetLODs(lods.ToArray()); - } - for (var i = 0; i < model.Children.Count; i++) - { - var child = model.Children[i]; - SetupModelLod(assetLoaderContext, child); + materialMapperContext.MaterialMapper.ApplyMaterialToRenderer(materialRendererContext); } } + materialMapperContext.Completed = true; } - /// Builds the Game Object Converts hierarchy paths. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - + /// + /// Builds hierarchy paths for each within the . + /// These paths can be used for tracking, referencing, or debugging the loaded hierarchy. + /// + /// + /// The containing the loaded references. + /// private static void BuildGameObjectsPaths(AssetLoaderContext assetLoaderContext) { foreach (var value in assetLoaderContext.GameObjects.Values) { assetLoaderContext.GameObjectPaths.Add(value, value.transform.BuildPath(assetLoaderContext.RootGameObject.transform)); - - } - } - - /// Configures the context Model rigging if there is any. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - - private static void SetupRig(AssetLoaderContext assetLoaderContext) - { - var animations = assetLoaderContext.RootModel.AllAnimations; - AnimationClip[] animationClips = null; - if (assetLoaderContext.Options.AnimationType == AnimationType.Humanoid || animations != null && animations.Count > 0) - { - switch (assetLoaderContext.Options.AnimationType) - { - case AnimationType.Legacy: - { - SetupAnimationComponents(assetLoaderContext, animations, out animationClips, out var animator, out var unityAnimation); - break; - } - case AnimationType.Generic: - { - SetupAnimationComponents(assetLoaderContext, animations, out animationClips, out var animator, out var unityAnimation); - if (assetLoaderContext.Options.AvatarDefinition == AvatarDefinitionType.CopyFromOtherAvatar) - { - animator.avatar = assetLoaderContext.Options.Avatar; - } - else - { - SetupGenericAvatar(assetLoaderContext, animator); - } - break; - } - case AnimationType.Humanoid: - { - SetupAnimationComponents(assetLoaderContext, animations, out animationClips, out var animator, out var unityAnimation); - if (assetLoaderContext.Options.AvatarDefinition == AvatarDefinitionType.CopyFromOtherAvatar) - { - animator.avatar = assetLoaderContext.Options.Avatar; - } - else if (assetLoaderContext.Options.HumanoidAvatarMapper != null) - { - SetupHumanoidAvatar(assetLoaderContext, animator); - } - break; - } - } - - if (animationClips != null) - { - if (assetLoaderContext.Options.AnimationClipMappers != null) - { - Array.Sort(assetLoaderContext.Options.AnimationClipMappers, (a, b) => a.CheckingOrder > b.CheckingOrder ? -1 : 1); - foreach (var animationClipMapper in assetLoaderContext.Options.AnimationClipMappers) - { - animationClips = animationClipMapper.MapArray(assetLoaderContext, animationClips); - - if (animationClips != null && animationClips.Length > 0) - { - break; - } - } - } - for (var i = 0; i < animationClips.Length; i++) - { - var animationClip = animationClips[i]; - assetLoaderContext.Allocations.Add(animationClip); - } - } } } /// - /// Creates animation components for the given context. + /// Performs final cleanup after model loading. If + /// is enabled, this method attempts to close and dispose of the used to load the model. + /// Additionally, if is enabled, it forces .NET garbage collection, + /// which can be useful to reclaim memory after large model loads. /// - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - /// The Animations loaded for the Model. - /// The AnimationClips that will be created for the Model. - /// The Animator that will be created for the Model. - /// The Animation Component that will be created for the Model. - private static void SetupAnimationComponents(AssetLoaderContext assetLoaderContext, IList animations, out AnimationClip[] animationClips, out Animator animator, out Animation unityAnimation) + /// + /// The containing information about the loaded model, + /// including its and . + /// + private static void Cleanup(AssetLoaderContext assetLoaderContext) { - if (assetLoaderContext.Options.AnimationType == AnimationType.Legacy && assetLoaderContext.Options.EnforceAnimatorWithLegacyAnimations || assetLoaderContext.Options.AnimationType != AnimationType.Legacy) + if (assetLoaderContext.Stream != null && assetLoaderContext.Options.CloseStreamAutomatically) { - animator = assetLoaderContext.RootGameObject.AddComponent(); + assetLoaderContext.Stream.TryToDispose(); } - else + if (assetLoaderContext.Options.CollectCG) { - animator = null; - } - unityAnimation = assetLoaderContext.RootGameObject.AddComponent(); - unityAnimation.playAutomatically = assetLoaderContext.Options.AutomaticallyPlayLegacyAnimations; - unityAnimation.wrapMode = assetLoaderContext.Options.AnimationWrapMode; - if (animations != null) - { - animationClips = new AnimationClip[animations.Count]; - for (var i = 0; i < animations.Count; i++) - { - var triLibAnimation = animations[i]; - var animationClip = CreateAnimation(assetLoaderContext, triLibAnimation); - unityAnimation.AddClip(animationClip, animationClip.name); - animationClips[i] = animationClip; - assetLoaderContext.Reader.UpdateLoadingPercentage(i, assetLoaderContext.Reader.LoadingStepsCount + (int)ReaderBase.PostLoadingSteps.PostProcessAnimationClips, animations.Count); - } - if (assetLoaderContext.Options.AutomaticallyPlayLegacyAnimations && animationClips.Length > 0) - { - unityAnimation.clip = animationClips[0]; - unityAnimation.Play(animationClips[0].name); - } - } - else - { - animationClips = null; + // Forces garbage collection, which can help free memory after loading large models. + GC.Collect(); + GC.WaitForPendingFinalizers(); + GC.Collect(); } } - /// Creates a Skeleton Bone for the given Transform. - /// The bone Transform to use on the Skeleton Bone. - /// The created Skeleton Bone. - private static SkeletonBone CreateSkeletonBone(Transform boneTransform) + /// + /// Converts the given instance into a Unity . + /// The method assigns animation curves to the relevant transforms + /// (based on the paths stored in the ), respecting any + /// required quaternion continuity setting. + /// + /// + /// The providing references to the loaded s + /// and paths where the animation curves will be applied. + /// + /// The source animation data to convert. + /// + /// A newly created (marked as legacy) with populated animation curves. + /// + private static AnimationClip CreateAnimation(AssetLoaderContext assetLoaderContext, IAnimation animation) { - var skeletonBone = new SkeletonBone + var animationClip = new AnimationClip { name = animation.Name, legacy = true, frameRate = animation.FrameRate }; + var animationCurveBindings = animation.AnimationCurveBindings; + if (animationCurveBindings == null) { - name = boneTransform.name, - position = boneTransform.localPosition, - rotation = boneTransform.localRotation, - scale = boneTransform.localScale - }; - return skeletonBone; - } - - /// Creates a Human Bone for the given Bone Mapping, containing the relationship between the Transform and Bone. - /// The Bone Mapping used to create the Human Bone, containing the information used to search for bones. - /// The bone name to use on the created Human Bone. - /// The created Human Bone. - private static HumanBone CreateHumanBone(BoneMapping boneMapping, string boneName) - { - var humanBone = new HumanBone - { - boneName = boneName, - humanName = GetHumanBodyName(boneMapping.HumanBone), - limit = - { - useDefaultValues = boneMapping.HumanLimit.useDefaultValues, - axisLength = boneMapping.HumanLimit.axisLength, - center = boneMapping.HumanLimit.center, - max = boneMapping.HumanLimit.max, - min = boneMapping.HumanLimit.min - } - }; - return humanBone; - } - - /// Returns the given Human Body Bones name as String. - /// The Human Body Bones to get the name from. - /// The Human Body Bones name. - private static string GetHumanBodyName(HumanBodyBones humanBodyBones) - { - return HumanTrait.BoneName[(int)humanBodyBones]; - } - - /// Creates a Generic Avatar to the given context Model. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - /// The Animator assigned to the given Context Root Game Object. - private static void SetupGenericAvatar(AssetLoaderContext assetLoaderContext, Animator animator) - { - var parent = assetLoaderContext.RootGameObject.transform.parent; - assetLoaderContext.RootGameObject.transform.SetParent(null, true); - var bones = new List(); - assetLoaderContext.RootModel.GetBones(assetLoaderContext, bones); - var rootBone = assetLoaderContext.Options.RootBoneMapper.Map(assetLoaderContext, bones); - var avatar = AvatarBuilder.BuildGenericAvatar(assetLoaderContext.RootGameObject, rootBone != null ? rootBone.name : ""); - avatar.name = $"{assetLoaderContext.RootGameObject.name}Avatar"; - animator.avatar = avatar; - assetLoaderContext.RootGameObject.transform.SetParent(parent, true); - } - - /// Creates a Humanoid Avatar to the given context Model. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - /// The Animator assigned to the given Context Root Game Object. - private static void SetupHumanoidAvatar(AssetLoaderContext assetLoaderContext, Animator animator) - { - var valid = false; - var mapping = assetLoaderContext.Options.HumanoidAvatarMapper.Map(assetLoaderContext); - if (mapping.Count > 0) - { - var parent = assetLoaderContext.RootGameObject.transform.parent; - var rootGameObjectPosition = assetLoaderContext.RootGameObject.transform.position; - assetLoaderContext.RootGameObject.transform.SetParent(null, false); - assetLoaderContext.Options.HumanoidAvatarMapper.PostSetup(assetLoaderContext, mapping); - Transform hipsTransform = null; - var humanBones = new HumanBone[mapping.Count]; - var boneIndex = 0; - foreach (var kvp in mapping) - { - if (kvp.Key.HumanBone == HumanBodyBones.Hips) - { - hipsTransform = kvp.Value; - } - humanBones[boneIndex++] = CreateHumanBone(kvp.Key, kvp.Value.name); - } - if (hipsTransform != null) - { - var skeletonBones = new Dictionary(); - var bounds = assetLoaderContext.RootGameObject.CalculateBounds(); - var toBottom = bounds.min.y; - if (toBottom < 0f) - { - var hipsTransformPosition = hipsTransform.position; - hipsTransformPosition.y -= toBottom; - hipsTransform.position = hipsTransformPosition; - } - var toCenter = Vector3.zero - bounds.center; - toCenter.y = 0f; - if (toCenter.sqrMagnitude > 0.01f) - { - var hipsTransformPosition = hipsTransform.position; - hipsTransformPosition += toCenter; - hipsTransform.position = hipsTransformPosition; - } - foreach (var kvp in assetLoaderContext.GameObjects) - { - if (!skeletonBones.ContainsKey(kvp.Value.transform)) - { - skeletonBones.Add(kvp.Value.transform, CreateSkeletonBone(kvp.Value.transform)); - } - } - var triLibHumanDescription = assetLoaderContext.Options.HumanDescription ?? new General.HumanDescription(); - var humanDescription = new HumanDescription - { - armStretch = triLibHumanDescription.armStretch, - feetSpacing = triLibHumanDescription.feetSpacing, - hasTranslationDoF = triLibHumanDescription.hasTranslationDof, - legStretch = triLibHumanDescription.legStretch, - lowerArmTwist = triLibHumanDescription.lowerArmTwist, - lowerLegTwist = triLibHumanDescription.lowerLegTwist, - upperArmTwist = triLibHumanDescription.upperArmTwist, - upperLegTwist = triLibHumanDescription.upperLegTwist, - skeleton = skeletonBones.Values.ToArray(), - human = humanBones - }; - var avatar = AvatarBuilder.BuildHumanAvatar(assetLoaderContext.RootGameObject, humanDescription); - avatar.name = $"{assetLoaderContext.RootGameObject.name}Avatar"; - animator.avatar = avatar; - } - assetLoaderContext.RootGameObject.transform.SetParent(parent, false); - assetLoaderContext.RootGameObject.transform.position = rootGameObjectPosition; - valid = animator.avatar.isValid || !assetLoaderContext.Options.ShowLoadingWarnings; + return animationClip; } - if (!valid) - { - Debug.LogWarning($"Could not create an Avatar for the model \"{(assetLoaderContext.Filename == null ? "Unknown" : FileUtils.GetShortFilename(assetLoaderContext.Filename))}\""); - } - } - /// Converts the given Model into a Game Object. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - /// The parent Game Object Transform. - /// The root Model. - /// The Model to convert. - /// Is this the first node in the Model hierarchy? - - private static IEnumerable CreateModel(AssetLoaderContext assetLoaderContext, Transform parentTransform, IRootModel rootModel, IModel model, bool isRootGameObject) - { - var newGameObject = new GameObject(model.Name); - assetLoaderContext.GameObjects.Add(model, newGameObject); - assetLoaderContext.Models.Add(newGameObject, model); - newGameObject.transform.parent = parentTransform; - newGameObject.transform.localPosition = model.LocalPosition; - newGameObject.transform.localRotation = model.LocalRotation; - newGameObject.transform.localScale = model.LocalScale; - if (model.GeometryGroup != null) + for (var i = animationCurveBindings.Count - 1; i >= 0; i--) { - foreach (var item in CreateGeometry(assetLoaderContext, newGameObject, rootModel, model)) + var animationCurveBinding = animationCurveBindings[i]; + var animationCurves = animationCurveBinding.AnimationCurves; + if (!assetLoaderContext.GameObjects.ContainsKey(animationCurveBinding.Model)) { - yield return item; + continue; + } + + var gameObject = assetLoaderContext.GameObjects[animationCurveBinding.Model]; + for (var j = 0; j < animationCurves.Count; j++) + { + var animationCurve = animationCurves[j]; + var unityAnimationCurve = animationCurve.AnimationCurve; + var gameObjectPath = assetLoaderContext.GameObjectPaths[gameObject]; + var propertyName = animationCurve.Property; + var propertyType = animationCurve.AnimatedType; + animationClip.SetCurve(gameObjectPath, propertyType, propertyName, unityAnimationCurve); } } - if (assetLoaderContext.Options.ImportCameras && model is ICamera camera) + + // Ensures smooth quaternion transitions if enabled in the loader options. + if (assetLoaderContext.Options.EnsureQuaternionContinuity) { - CreateCamera(assetLoaderContext, camera, newGameObject); - } - if (assetLoaderContext.Options.ImportLights && model is ILight light) - { - CreateLight(assetLoaderContext, light, newGameObject); - } - if (model.Children != null && model.Children.Count > 0) - { - for (var i = 0; i < model.Children.Count; i++) - { - var child = model.Children[i]; - foreach (var item in CreateModel(assetLoaderContext, newGameObject.transform, rootModel, child, false)) - { - yield return item; - } - } - } - if (assetLoaderContext.Options.UserPropertiesMapper != null && model.UserProperties != null) - { - foreach (var userProperty in model.UserProperties) - { - assetLoaderContext.Options.UserPropertiesMapper.OnProcessUserData(assetLoaderContext, newGameObject, userProperty.Key, userProperty.Value); - } - } - if (isRootGameObject) - { - assetLoaderContext.RootGameObject = newGameObject; + animationClip.EnsureQuaternionContinuity(); } + return animationClip; } - /// Converts the given model light, if present into a Light. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - /// The Model. - /// The Model Game Object. - private static void CreateLight(AssetLoaderContext assetLoaderContext, ILight light, GameObject newGameObject) - { - var unityLight = newGameObject.AddComponent(); - unityLight.color = light.Color; - unityLight.innerSpotAngle = light.InnerSpotAngle; - unityLight.spotAngle = light.OuterSpotAngle; - unityLight.intensity = light.Intensity; - unityLight.range = light.Range; - unityLight.type = light.LightType; - unityLight.shadows = light.CastShadows ? LightShadows.Soft : LightShadows.None; -#if UNITY_EDITOR - unityLight.areaSize = new Vector2(light.Width, light.Height); -#endif - } - - /// Converts the given model camera, if present into a Camera. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - /// The Model. - /// The Model Game Object. + /// + /// Creates and configures a Unity component on the specified + /// based on the provided data. + /// + /// + /// The containing model loading data. (Not currently used for direct camera setup, + /// but provided for consistency if future modifications require context.) + /// + /// The TriLib definition containing camera properties. + /// + /// The on which to add and configure the component. + /// private static void CreateCamera(AssetLoaderContext assetLoaderContext, ICamera camera, GameObject newGameObject) { var unityCamera = newGameObject.AddComponent(); @@ -882,132 +805,55 @@ namespace TriLibCore unityCamera.enabled = true; } - /// Configures the given Model skinning if there is any. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - /// The Model containing the bones. - - private static void SetupModelBones(AssetLoaderContext assetLoaderContext, IModel model) - { - var loadedGameObject = assetLoaderContext.GameObjects[model]; - var skinnedMeshRenderer = loadedGameObject.GetComponent(); - if (skinnedMeshRenderer != null) - { - var bones = model.Bones; - if (bones != null && bones.Count > 0) - { - var boneIndex = 0; - var gameObjectBones = new Transform[bones.Count]; - for (var i = 0; i < bones.Count; i++) - { - var bone = bones[i]; - gameObjectBones[boneIndex++] = assetLoaderContext.GameObjects[bone].transform; - } - skinnedMeshRenderer.bones = gameObjectBones; - skinnedMeshRenderer.rootBone = assetLoaderContext.Options.RootBoneMapper.Map(assetLoaderContext, gameObjectBones); - } - skinnedMeshRenderer.sharedMesh = model.GeometryGroup.Mesh; - if (skinnedMeshRenderer.bounds.size.sqrMagnitude == 0f) - { - skinnedMeshRenderer.localBounds = loadedGameObject.CalculateBounds(true); - } - } - if (model.Children != null && model.Children.Count > 0) - { - for (var i = 0; i < model.Children.Count; i++) - { - var subModel = model.Children[i]; - SetupModelBones(assetLoaderContext, subModel); - } - } - } - - /// Converts the given Animation into an Animation Clip. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - /// The Animation to convert. - /// The converted Animation Clip. - private static AnimationClip CreateAnimation(AssetLoaderContext assetLoaderContext, IAnimation animation) - { - var animationClip = new AnimationClip { name = animation.Name, legacy = true, frameRate = animation.FrameRate }; - var animationCurveBindings = animation.AnimationCurveBindings; - if (animationCurveBindings == null) - { - return animationClip; - } - for (var i = animationCurveBindings.Count - 1; i >= 0; i--) - { - var animationCurveBinding = animationCurveBindings[i]; - var animationCurves = animationCurveBinding.AnimationCurves; - if (!assetLoaderContext.GameObjects.ContainsKey(animationCurveBinding.Model)) - { - continue; - } - var gameObject = assetLoaderContext.GameObjects[animationCurveBinding.Model]; - for (var j = 0; j < animationCurves.Count; j++) - { - var animationCurve = animationCurves[j]; - var unityAnimationCurve = animationCurve.AnimationCurve; - var gameObjectPath = assetLoaderContext.GameObjectPaths[gameObject]; - var propertyName = animationCurve.Property; - var propertyType = animationCurve.AnimatedType; - // todo: working on it for a future release - // the simplification isn't working with rotation curves yet - //if (assetLoaderContext.Options.SimplifyAnimations) - //{ - // switch (propertyName) - // { - // case Constants.LocalRotationXProperty: - // case Constants.LocalRotationYProperty: - // case Constants.LocalRotationZProperty: - // case Constants.LocalRotationWProperty: - // unityAnimationCurve.Simplify(assetLoaderContext.Options.RotationThreshold, true); - // break; - // case Constants.LocalScaleXProperty: - // case Constants.LocalScaleYProperty: - // case Constants.LocalScaleZProperty: - // unityAnimationCurve.Simplify(assetLoaderContext.Options.ScaleThreshold, true); - // break; - // default: - // unityAnimationCurve.Simplify(assetLoaderContext.Options.PositionThreshold, true); - // break; - // } - //} - animationClip.SetCurve(gameObjectPath, propertyType, propertyName, unityAnimationCurve); - } - } - //Fixed in Unity 2022.1.X - if (assetLoaderContext.Options.EnsureQuaternionContinuity) - { - animationClip.EnsureQuaternionContinuity(); - } - return animationClip; - } - - - /// Converts the given Geometry Group into a Mesh. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - /// The Game Object where the Mesh belongs. - /// The root Model. - /// The Model used to generate the Game Object. - private static IEnumerable CreateGeometry(AssetLoaderContext assetLoaderContext, GameObject meshGameObject, IRootModel rootModel, IModel meshModel) + /// + /// Converts the geometry in the specified into a Unity and associates it + /// with either a or , depending on the + /// (e.g., animation or blend shape requirements). + /// + /// This method yields at various points to support incremental or coroutine-based loading. + /// It also applies optional lip-sync mappings, sets up colliders, and creates relevant + /// relationships for subsequent assignment. + /// + /// + /// The containing references and settings for the entire model loading process. + /// + /// The that will host the generated mesh data. + /// + /// The root of the model hierarchy, containing references to all materials, animations, etc. + /// + /// + /// The specific whose geometry and associated data will be converted into a Unity mesh. + /// + /// + /// An that yields control during the mesh creation process + /// (to allow asynchronous or stepwise loading). Once complete, a Unity mesh (and optionally, + /// colliders, lip-sync mapping, and materials) will be associated with . + /// + private static IEnumerable CreateGeometry( + AssetLoaderContext assetLoaderContext, + GameObject meshGameObject, + IRootModel rootModel, + IModel meshModel) { var geometryGroup = meshModel.GeometryGroup; if (geometryGroup.GeometriesData != null) { + // If the mesh has not been generated yet, do so and yield during the process. if (geometryGroup.Mesh == null) { - geometryGroup.GenerateMesh(assetLoaderContext, assetLoaderContext.Options.AnimationType == AnimationType.None ? null : meshModel.BindPoses, meshModel.MaterialIndices); - foreach (var item in assetLoaderContext.ReleaseMainThread()) + foreach (var item in geometryGroup.GenerateMesh(assetLoaderContext, meshGameObject, meshModel)) { yield return item; } } + + // Store reference to the newly created mesh for cleanup or further processing. assetLoaderContext.Allocations.Add(geometryGroup.Mesh); - if (assetLoaderContext.Options.MarkMeshesAsDynamic) - { - geometryGroup.Mesh.MarkDynamic(); - } + + // Apply lip-sync mapping if available and appropriate. if (assetLoaderContext.Options.LipSyncMappers != null) { + // Sort the lip sync mappers by descending checking order to prioritize certain mappers first. Array.Sort(assetLoaderContext.Options.LipSyncMappers, (a, b) => a.CheckingOrder > b.CheckingOrder ? -1 : 1); foreach (var lipSyncMapper in assetLoaderContext.Options.LipSyncMappers) { @@ -1019,36 +865,61 @@ namespace TriLibCore } } } + + // Optionally add a MeshCollider if requested. if (assetLoaderContext.Options.GenerateColliders) { - if (assetLoaderContext.RootModel.AllAnimations != null && assetLoaderContext.RootModel.AllAnimations.Count > 0 && assetLoaderContext.Options.ShowLoadingWarnings) + if (assetLoaderContext.RootModel.AllAnimations != null + && assetLoaderContext.RootModel.AllAnimations.Count > 0 + && assetLoaderContext.Options.ShowLoadingWarnings) { Debug.LogWarning("Adding a MeshCollider to an animated object."); } var meshCollider = meshGameObject.AddComponent(); meshCollider.convex = assetLoaderContext.Options.ConvexColliders; meshCollider.sharedMesh = geometryGroup.Mesh; + + // Yield control again to allow asynchronous progress. foreach (var item in assetLoaderContext.ReleaseMainThread()) { yield return item; } } + + // Determine whether to use SkinnedMeshRenderer or MeshRenderer based on animation or blend shapes. Renderer renderer = null; if (assetLoaderContext.Options.AnimationType != AnimationType.None || assetLoaderContext.Options.ImportBlendShapes) { - var bones = assetLoaderContext.Options.AddAllBonesToSkinnedMeshRenderers ? GetAllBonesRecursive(assetLoaderContext) : meshModel.Bones; + var bones = assetLoaderContext.Options.AddAllBonesToSkinnedMeshRenderers + ? GetAllBonesRecursive(assetLoaderContext) + : meshModel.Bones; + var geometryGroupBlendShapeGeometryBindings = geometryGroup.BlendShapeKeys; - if ((bones != null && bones.Count > 0 || geometryGroupBlendShapeGeometryBindings != null && geometryGroupBlendShapeGeometryBindings.Count > 0) && assetLoaderContext.Options.AnimationType != AnimationType.None) + var requiresSkinned = (bones != null && bones.Count > 0) + || (assetLoaderContext.Options.BlendShapeMapper == null && geometryGroupBlendShapeGeometryBindings != null && geometryGroupBlendShapeGeometryBindings.Count > 0); + + if (requiresSkinned && assetLoaderContext.Options.AnimationType != AnimationType.None) { var skinnedMeshRenderer = meshGameObject.AddComponent(); skinnedMeshRenderer.enabled = !assetLoaderContext.Options.ImportVisibility || meshModel.Visibility; + skinnedMeshRenderer.updateWhenOffscreen = assetLoaderContext.Options.UpdateSkinnedMeshRendererWhenOffscreen; renderer = skinnedMeshRenderer; } } + if (renderer == null) { + // Fallback to MeshFilter + MeshRenderer. var meshFilter = meshGameObject.AddComponent(); - meshFilter.sharedMesh = geometryGroup.Mesh; + if (assetLoaderContext.Options.UseSharedMeshes) + { + meshFilter.sharedMesh = geometryGroup.Mesh; + } + else + { + meshFilter.mesh = geometryGroup.Mesh; + } + if (!assetLoaderContext.Options.LoadPointClouds) { var meshRenderer = meshGameObject.AddComponent(); @@ -1056,6 +927,8 @@ namespace TriLibCore renderer = meshRenderer; } } + + // Assign temporary or "loading" materials to the renderer until real materials can be processed. if (renderer != null) { Material loadingMaterial = null; @@ -1071,6 +944,7 @@ namespace TriLibCore } } } + var unityMaterials = new Material[geometryGroup.GeometriesData.Count]; if (loadingMaterial == null) { @@ -1086,7 +960,17 @@ namespace TriLibCore unityMaterials[i] = loadingMaterial; } } - renderer.sharedMaterials = unityMaterials; + + if (assetLoaderContext.Options.UseSharedMaterials) + { + renderer.sharedMaterials = unityMaterials; + } + else + { + renderer.materials = unityMaterials; + } + + // Link each sub-geometry to the corresponding material index for later assignment. var materialIndices = meshModel.MaterialIndices; foreach (var geometryData in geometryGroup.GeometriesData) { @@ -1097,23 +981,30 @@ namespace TriLibCore } var originalGeometryIndex = geometry.OriginalIndex; - - if (originalGeometryIndex < 0 || originalGeometryIndex >= renderer.sharedMaterials.Length) + if (originalGeometryIndex < 0 || originalGeometryIndex >= unityMaterials.Length) { continue; } var materialIndex = materialIndices[originalGeometryIndex]; + if (rootModel.AllMaterials == null) + { + rootModel.AllMaterials = new List(); + } - IMaterial sourceMaterial; + IMaterial sourceMaterial = null; + var hasInvalidMaterial = false; if (materialIndex < 0 || materialIndex >= rootModel.AllMaterials.Count) { if (!assetLoaderContext.Options.CreateMaterialsForAllModels) { - continue; + hasInvalidMaterial = true; + } + else + { + sourceMaterial = new DummyMaterial { Name = $"{geometryGroup.Name}_{geometry.Index}" }; + rootModel.AllMaterials.Add(sourceMaterial); } - sourceMaterial = new DummyMaterial() { Name = $"{geometryGroup.Name}_{geometry.Index}" }; - rootModel.AllMaterials.Add(sourceMaterial); } else { @@ -1122,27 +1013,44 @@ namespace TriLibCore { if (!assetLoaderContext.Options.CreateMaterialsForAllModels) { - continue; + hasInvalidMaterial = true; + } + else + { + sourceMaterial = new DummyMaterial { Name = $"{geometryGroup.Name}_{geometry.Index}" }; + rootModel.AllMaterials.Add(sourceMaterial); } - sourceMaterial = new DummyMaterial() { Name = $"{geometryGroup.Name}_{geometry.Index}" }; - rootModel.AllMaterials.Add(sourceMaterial); } } - var materialRenderersContext = new MaterialRendererContext + if (hasInvalidMaterial) { - Context = assetLoaderContext, - Renderer = renderer, - GeometryIndex = geometry.Index, - Material = sourceMaterial - }; - if (assetLoaderContext.MaterialRenderers.TryGetValue(sourceMaterial, out var materialRendererContextList)) - { - materialRendererContextList.Add(materialRenderersContext); + // Clean up any temporary references if material mapping is invalid. + var materialRendererContext = new MaterialRendererContext + { + Mesh = geometryGroup.Mesh, + Context = assetLoaderContext + }; + MaterialMapper.Cleanup(materialRendererContext); } else { - assetLoaderContext.MaterialRenderers.Add(sourceMaterial, new List { materialRenderersContext }); + // Register this geometry to the correct source material for post-processing. + var materialRenderersContext = new MaterialRendererContext + { + Context = assetLoaderContext, + Renderer = renderer, + GeometryIndex = geometry.Index, + Material = sourceMaterial + }; + if (assetLoaderContext.MaterialRenderers.TryGetValue(sourceMaterial, out var materialRendererContextList)) + { + materialRendererContextList.Add(materialRenderersContext); + } + else + { + assetLoaderContext.MaterialRenderers.Add(sourceMaterial, new List { materialRenderersContext }); + } } } } @@ -1150,8 +1058,279 @@ namespace TriLibCore } /// - /// Creates a list with every bone in the loaded model. + /// Creates a Unity from the specified data, linking + /// a bone name to a human bone name and applying the configured limits for humanoid rig mapping. /// + /// + /// The containing humanoid bone information (e.g., name + /// and limit definitions). + /// + /// The actual bone name in the Unity skeleton that maps to the . + /// + /// A fully configured ready to be assigned to a . + /// + private static HumanBone CreateHumanBone(BoneMapping boneMapping, string boneName) + { + var humanBone = new HumanBone + { + boneName = boneName, + humanName = GetHumanBodyName(boneMapping.HumanBone), + limit = + { + useDefaultValues = boneMapping.HumanLimit.useDefaultValues, + axisLength = boneMapping.HumanLimit.axisLength, + center = boneMapping.HumanLimit.center, + max = boneMapping.HumanLimit.max, + min = boneMapping.HumanLimit.min + } + }; + return humanBone; + } + + + /// + /// Creates a Unity component on the specified + /// using properties from the given TriLib . + /// + /// + /// The containing model loading settings and references. + /// (Not currently used directly in light creation, but passed for consistency or potential future use.) + /// + /// The TriLib light representation providing light color, intensity, type, etc. + /// + /// The on which to add and configure the Unity component. + /// + private static void CreateLight(AssetLoaderContext assetLoaderContext, ILight light, GameObject newGameObject) + { + var unityLight = newGameObject.AddComponent(); + unityLight.color = light.Color; + unityLight.innerSpotAngle = light.InnerSpotAngle; + unityLight.spotAngle = light.OuterSpotAngle; + unityLight.intensity = light.Intensity; + unityLight.range = light.Range; + unityLight.type = light.LightType; + unityLight.shadows = light.CastShadows ? LightShadows.Soft : LightShadows.None; +#if UNITY_EDITOR + unityLight.areaSize = new Vector2(light.Width, light.Height); +#endif + } + + /// + /// Recursively creates a hierarchy corresponding to the supplied + /// structure. This includes generating meshes, cameras, lights, and any user-defined properties. + /// + /// + /// The containing references to loaded data, options, and utility methods. + /// + /// + /// The under which the newly created will be parented. + /// Use null to create the model at the scene root level. + /// + /// + /// The root of the TriLib model hierarchy, containing all sub-models, materials, and animations. + /// + /// The current node to convert into a . + /// + /// Indicates whether the created is the root of the model hierarchy. + /// If true, this method assigns accordingly. + /// + /// + /// An that yields control during mesh creation and child model creation steps + /// (allowing for asynchronous or coroutine-based loading). When complete, the fully assembled + /// hierarchy is added to . + /// + private static IEnumerable CreateModel( + AssetLoaderContext assetLoaderContext, + Transform parentTransform, + IRootModel rootModel, + IModel model, + bool isRootGameObject) + { + var newGameObject = new GameObject(model.Name); + assetLoaderContext.GameObjects.Add(model, newGameObject); + assetLoaderContext.Models.Add(newGameObject, model); + + newGameObject.transform.parent = parentTransform; + newGameObject.transform.localPosition = model.LocalPosition; + newGameObject.transform.localRotation = model.LocalRotation; + newGameObject.transform.localScale = model.LocalScale; + + // Create mesh geometry if present + if (model.GeometryGroup != null) + { + foreach (var item in CreateGeometry(assetLoaderContext, newGameObject, rootModel, model)) + { + yield return item; + } + } + + // Optionally create camera if requested and the model node is a camera + if (assetLoaderContext.Options.ImportCameras && model is ICamera camera) + { + CreateCamera(assetLoaderContext, camera, newGameObject); + } + + // Optionally create light if requested and the model node is a light + if (assetLoaderContext.Options.ImportLights && model is ILight light) + { + CreateLight(assetLoaderContext, light, newGameObject); + } + + // Recursively create child GameObjects + if (model.Children != null && model.Children.Count > 0) + { + for (var i = 0; i < model.Children.Count; i++) + { + var child = model.Children[i]; + foreach (var item in CreateModel(assetLoaderContext, newGameObject.transform, rootModel, child, false)) + { + yield return item; + } + } + } + + // Process any user-defined properties via a user properties mapper + if (assetLoaderContext.Options.UserPropertiesMapper != null && model.UserProperties != null) + { + foreach (var userProperty in model.UserProperties) + { + assetLoaderContext.Options.UserPropertiesMapper.OnProcessUserData( + assetLoaderContext, + newGameObject, + userProperty.Key, + userProperty.Value + ); + } + } + + // Set the RootGameObject if this is the top-level node + if (isRootGameObject) + { + assetLoaderContext.RootGameObject = newGameObject; + } + } + + /// + /// Creates the root for the model by invoking + /// on the root node, then performing post-processing (e.g., assigning materials). + /// + /// + /// The that holds all data and settings for model loading. + /// + /// + /// An that yields control during the root model creation and + /// material processing steps. By the end, the fully loaded model hierarchy is accessible + /// via . + /// + private static IEnumerator CreateRootModel(AssetLoaderContext assetLoaderContext) + { + var transform = assetLoaderContext.WrapperGameObject != null + ? assetLoaderContext.WrapperGameObject.transform + : null; + + var rootModel = assetLoaderContext.RootModel; + foreach (var item in CreateModel(assetLoaderContext, transform, rootModel, rootModel, true)) + { + yield return item; + } + + // Perform any post-processing tasks (e.g., setting up rigs, adjusting transforms) + PostProcessModels(assetLoaderContext); + + // Perform material processing to finalize and assign materials + foreach (var item in ProcessMaterials(assetLoaderContext)) + { + yield return item; + } + } + + /// + /// Attempts to create a of the specified + /// in the specified without throwing an internal exception + /// if the type cannot be found. + /// + /// The class name of the to create. + /// The namespace in which resides. + /// + /// A newly instantiated of the specified type, or null + /// if the type was not found or could not be created. + /// + private static ScriptableObject CreateScriptableObjectSafe(string typeName, string typeNamespace) + { + var type = Type.GetType($"{typeNamespace}.{typeName}"); + return type != null ? ScriptableObject.CreateInstance(typeName) : null; + } + + /// + /// Creates a record from the given , + /// capturing its local transform data. + /// + /// The representing a bone in a character rig. + /// + /// A new initialized with the name, position, rotation, and scale + /// from . + /// + private static SkeletonBone CreateSkeletonBone(Transform boneTransform) + { + var skeletonBone = new SkeletonBone + { + name = boneTransform.name, + position = boneTransform.localPosition, + rotation = boneTransform.localRotation, + scale = boneTransform.localScale + }; + return skeletonBone; + } + + /// + /// Completes the model loading process by optionally adding an component + /// for memory tracking, discarding unused textures, and invoking the OnMaterialsLoad callback + /// if present. Finally, it calls to free resources. + /// + /// + /// The containing the loaded model hierarchy, resource lists, + /// and callbacks. + /// + private static void FinishLoading(AssetLoaderContext assetLoaderContext) + { + // Optionally attach an AssetUnloader to handle allocations tracking and cleanup + if (assetLoaderContext.Options.AddAssetUnloader && + (assetLoaderContext.RootGameObject != null || assetLoaderContext.WrapperGameObject != null)) + { + var gameObject = assetLoaderContext.RootGameObject ?? assetLoaderContext.WrapperGameObject; + var assetUnloader = gameObject.AddComponent(); + assetUnloader.Id = AssetUnloader.GetNextId(); + assetUnloader.Allocations = assetLoaderContext.Allocations; + assetUnloader.CustomData = assetLoaderContext.CustomData; + } + + // Discard unused textures if requested + if (assetLoaderContext.Options.DiscardUnusedTextures) + { + assetLoaderContext.DiscardUnusedTextures(); + } + + // Update loading progress to 100% and invoke OnMaterialsLoad callback + assetLoaderContext.Reader?.UpdateLoadingPercentage( + 1f, + assetLoaderContext.Reader.LoadingStepsCount + (int)ReaderBase.PostLoadingSteps.FinishedProcessing + ); + assetLoaderContext.OnMaterialsLoad?.Invoke(assetLoaderContext); + + // Perform final cleanup, disposing streams and possibly GC if requested + Cleanup(assetLoaderContext); + } + + /// + /// Recursively gathers all objects in the loaded model that are flagged as bones. + /// This can be used, for instance, to prepare a list of all bones for a . + /// + /// + /// The containing references to the root and all models in the hierarchy. + /// + /// + /// A list of all instances that are designated as bones. + /// private static IList GetAllBonesRecursive(AssetLoaderContext assetLoaderContext) { var bones = new List(); @@ -1165,255 +1344,23 @@ namespace TriLibCore return bones; } - /// Loads the root Model. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - private static void LoadModel(AssetLoaderContext assetLoaderContext) + /// + /// Retrieves the name of the specified index from Unity’s + /// array. + /// + /// The humanoid bone identifier. + /// The corresponding bone name from . + private static string GetHumanBodyName(HumanBodyBones humanBodyBones) { - SetupModelLoading(assetLoaderContext); - } - - private static void SetupModelLoading(AssetLoaderContext assetLoaderContext) - { - if (assetLoaderContext.Stream == null && string.IsNullOrWhiteSpace(assetLoaderContext.Filename)) - { - throw new Exception("TriLib is unable to load the given file."); - } - if (assetLoaderContext.Options.MaterialMappers != null) - { - Array.Sort(assetLoaderContext.Options.MaterialMappers, (a, b) => a.CheckingOrder > b.CheckingOrder ? -1 : 1); - } - else - { - if (assetLoaderContext.Options.ShowLoadingWarnings) - { - Debug.LogWarning("Your AssetLoaderOptions instance has no MaterialMappers. TriLib can't process materials without them."); - } - } -#if TRILIB_DRACO - GltfReader.DracoDecompressorCallback = DracoMeshLoader.DracoDecompressorCallback; -#endif - var fileExtension = assetLoaderContext.FileExtension; - if (fileExtension == null) - { - fileExtension = FileUtils.GetFileExtension(assetLoaderContext.Filename, false); - } - else if (fileExtension[0] == '.' && fileExtension.Length > 1) - { - fileExtension = fileExtension.Substring(1); - } - if (assetLoaderContext.Stream == null) - { - var fileStream = new FileStream(assetLoaderContext.Filename, FileMode.Open, FileAccess.Read, FileShare.Read); - assetLoaderContext.Stream = fileStream; - var reader = Readers.FindReaderForExtension(fileExtension); - if (reader != null) - { - assetLoaderContext.RootModel = reader.ReadStream(fileStream, assetLoaderContext, assetLoaderContext.Filename, assetLoaderContext.OnProgress); - } - } - else - { - var reader = Readers.FindReaderForExtension(fileExtension); - if (reader != null) - { - assetLoaderContext.RootModel = reader.ReadStream(assetLoaderContext.Stream, assetLoaderContext, assetLoaderContext.Filename, assetLoaderContext.OnProgress); - } - else - { - throw new Exception("Could not find a suitable reader for the given model. Please fill the 'fileExtension' parameter when calling any model loading method."); - } - if (assetLoaderContext.RootModel == null) - { - throw new Exception("TriLib could not load the given model."); - } - } - } - - /// Processes the root Model. - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - - private static void ProcessRootModel(AssetLoaderContext assetLoaderContext) - { - if (assetLoaderContext.RootModel != null) - { - var enumerator = CreateRootModel(assetLoaderContext); - if (assetLoaderContext.Options.UseCoroutines) - { - CoroutineHelper.Instance.StartCoroutine(enumerator); - } - else - { - CoroutineHelper.RunMethod(enumerator); - } - } - else - { - assetLoaderContext.OnLoad?.Invoke(assetLoaderContext); - } + return HumanTrait.BoneName[(int)humanBodyBones]; } /// - /// Processes the Model Materials, if all source Materials have been loaded. + /// Handles errors that occur during model loading. Depending on the context, this may involve + /// unloading the partially loaded model, destroying the root if + /// is set, and invoking the error callback. /// - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - private static IEnumerable ProcessMaterials(AssetLoaderContext assetLoaderContext) - { - if (assetLoaderContext.RootModel?.AllMaterials != null && assetLoaderContext.RootModel.AllMaterials.Count > 0) - { - if (assetLoaderContext.Options.MaterialMappers != null) - { - foreach (var item in ProcessMaterialRenderers(assetLoaderContext)) - { - yield return item; - } - } - else if (assetLoaderContext.Options.ShowLoadingWarnings) - { - Debug.LogWarning("Please specify a TriLib Material Mapper, otherwise Materials can't be created."); - } - } - else - { - if (assetLoaderContext.Options.DiscardUnusedTextures) - { - FinishLoading(assetLoaderContext); - } - else - { - LoadUnusedTextures(assetLoaderContext); - } - } - } - - /// - /// Loads the unused Textures and adds them to the allocations list. - /// - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - private static void LoadUnusedTextures(AssetLoaderContext assetLoaderContext) - { - if (assetLoaderContext.RootGameObject != null) - { - if (assetLoaderContext.RootModel.AllTextures != null) - { - foreach (var texture in assetLoaderContext.RootModel.AllTextures) - { - var textureLoadingContext = new TextureLoadingContext() - { - Texture = texture, - Context = assetLoaderContext - }; - if (!assetLoaderContext.TryGetLoadedTexture(textureLoadingContext, out _)) - { - if (assetLoaderContext.Options.UseUnityNativeTextureLoader) - { - TextureLoaders.LoadTexture(textureLoadingContext); - } - else - { - TextureLoaders.CreateTexture(textureLoadingContext); - TextureLoaders.LoadTexture(textureLoadingContext); - } - } - } - } - } - FinishLoading(assetLoaderContext); - } - - /// - /// Finishes the Model loading, calling the OnMaterialsLoad callback, if present. - /// - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - private static void FinishLoading(AssetLoaderContext assetLoaderContext) - { - if (assetLoaderContext.Options.AddAssetUnloader && (assetLoaderContext.RootGameObject != null || assetLoaderContext.WrapperGameObject != null)) - { - var gameObject = assetLoaderContext.RootGameObject ?? assetLoaderContext.WrapperGameObject; - var assetUnloader = gameObject.AddComponent(); - assetUnloader.Id = AssetUnloader.GetNextId(); - assetUnloader.Allocations = assetLoaderContext.Allocations; - assetUnloader.CustomData = assetLoaderContext.CustomData; - } - if (assetLoaderContext.Options.DiscardUnusedTextures) - { - assetLoaderContext.DiscardUnusedTextures(); - } - assetLoaderContext.Reader?.UpdateLoadingPercentage(1f, assetLoaderContext.Reader.LoadingStepsCount + (int)ReaderBase.PostLoadingSteps.FinishedProcessing); - assetLoaderContext.OnMaterialsLoad?.Invoke(assetLoaderContext); - Cleanup(assetLoaderContext); - } - - /// - /// Processes Model Renderers. - /// - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - - private static IEnumerable ProcessMaterialRenderers(AssetLoaderContext assetLoaderContext) - { - var materialMapperContexts = new MaterialMapperContext[assetLoaderContext.RootModel.AllMaterials.Count]; - for (var i = 0; i < assetLoaderContext.RootModel.AllMaterials.Count; i++) - { - var material = assetLoaderContext.RootModel.AllMaterials[i]; - var materialMapperContext = new MaterialMapperContext() - { - Context = assetLoaderContext, - Material = material - }; - materialMapperContexts[i] = materialMapperContext; - for (var j = 0; j < assetLoaderContext.Options.MaterialMappers.Length; j++) - { - var materialMapper = assetLoaderContext.Options.MaterialMappers[j]; - if (materialMapper is object && materialMapper.IsCompatible(materialMapperContext)) - { - materialMapperContext.MaterialMapper = materialMapper; - if (materialMapper.UsesCoroutines) - { - foreach (var item in materialMapper.MapCoroutine(materialMapperContext)) - { - yield return item; - } - } - else - { - materialMapper.Map(materialMapperContext); - } - ApplyMaterialToRenderers(materialMapperContext); - break; - } - } - assetLoaderContext.Reader.UpdateLoadingPercentage(i, assetLoaderContext.Reader.LoadingStepsCount + (int)ReaderBase.PostLoadingSteps.PostProcessRenderers, assetLoaderContext.RootModel.AllMaterials.Count); - } - if (assetLoaderContext.Options.DiscardUnusedTextures) - { - FinishLoading(assetLoaderContext); - } - else - { - LoadUnusedTextures(assetLoaderContext); - } - } - - /// - /// Applies the Material from the given context to its Renderers. - /// - /// The source Material Mapper Context, containing the Virtual Material and Unity Material. - private static void ApplyMaterialToRenderers(MaterialMapperContext materialMapperContext) - { - materialMapperContext.Completed = false; - if (materialMapperContext.Context.MaterialRenderers.TryGetValue(materialMapperContext.Material, out var materialRendererList)) - { - for (var k = 0; k < materialRendererList.Count; k++) - { - var materialRendererContext = materialRendererList[k]; - materialRendererContext.MaterialMapperContext = materialMapperContext; - materialMapperContext.MaterialMapper.ApplyMaterialToRenderer(materialRendererContext); - } - } - materialMapperContext.Completed = true; - } - - /// Handles all Model loading errors, unloads the partially loaded Model (if suitable), and calls the error callback (if existing). - /// The Contextualized Error that has occurred. + /// The describing the error that occurred. private static void HandleError(IContextualizedError error) { var exception = error.GetInnerException(); @@ -1422,6 +1369,7 @@ namespace TriLibCore var assetLoaderContext = context.Context; if (assetLoaderContext != null) { + // Perform cleanup and optionally destroy the root GameObject Cleanup(assetLoaderContext); if (assetLoaderContext.Options.DestroyOnError && assetLoaderContext.RootGameObject != null) { @@ -1435,40 +1383,994 @@ namespace TriLibCore } assetLoaderContext.RootGameObject = null; } + + // Invoke custom error callback if provided if (assetLoaderContext.OnError != null) { - Dispatcher.InvokeAsync(assetLoaderContext.OnError, error); + Dispatcher.InvokeAsync(assetLoaderContext.OnError, error, assetLoaderContext.Async); } } } else { + // If the context is missing or invalid, rethrow in a generic way var contextualizedError = new ContextualizedError(exception, null); - Dispatcher.InvokeAsync(Rethrow, contextualizedError); + Rethrow(contextualizedError); } } /// - /// Tries to close the Model Stream, if the used AssetLoaderOptions.CloseSteamAutomatically option is enabled. + /// Entry point for loading the root model data. This is an intermediate method where + /// additional setup or validation could be performed before + /// is invoked. /// - /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. - private static void Cleanup(AssetLoaderContext assetLoaderContext) + /// + /// The containing model data references and user-defined options. + /// + private static void LoadModel(AssetLoaderContext assetLoaderContext) { - if (assetLoaderContext.Stream != null && assetLoaderContext.Options.CloseStreamAutomatically) - { - assetLoaderContext.Stream.TryToDispose(); - } - GC.Collect(); - GC.WaitForPendingFinalizers(); - GC.Collect(); + SetupModelLoading(assetLoaderContext); } - /// Throws the given Contextualized Error on the main Thread. - /// - /// The Contextualized Error to throw. + /// + /// Begins the asynchronous or synchronous (depending on platform and configuration) model loading process. + /// It handles special cases (e.g., a zip file extension) or delegates to to perform + /// multi-threaded loading of the model data. + /// + /// + /// The that contains references to the file/stream data, + /// loading options, callbacks, and more. + /// + private static void LoadModelInternal(AssetLoaderContext assetLoaderContext) + { + // Optionally compact the LOH (Large Object Heap) if requested. + if (assetLoaderContext.Options.CompactHeap) + { + GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; + } + +#if !TRILIB_DISABLE_VALIDATIONS + ValidateAssetLoaderOptions(assetLoaderContext.Options); +#endif + +#if TRILIB_USE_THREAD_NAMES && !UNITY_WSA + var threadName = "TriLib_LoadModelFromStream"; +#else + string threadName = null; +#endif + + var fileExtension = assetLoaderContext.FileExtension; + if (fileExtension == null && assetLoaderContext.Filename != null) + { + fileExtension = FileUtils.GetFileExtension(assetLoaderContext.Filename, false); + } + + // If we are loading a zip file, use the Zip-specific loader. + if (fileExtension == "zip") + { + AssetLoaderZip.LoadModelFromZipFile( + assetLoaderContext.Filename, + assetLoaderContext.OnLoad, + assetLoaderContext.OnMaterialsLoad, + assetLoaderContext.OnProgress, + assetLoaderContext.OnError, + assetLoaderContext.WrapperGameObject, + assetLoaderContext.Options, + assetLoaderContext.CustomData, + assetLoaderContext.FileExtension, + assetLoaderContext.HaltTasks, + assetLoaderContext.OnPreLoad + ); + } + else + { + // Otherwise, start a background thread (if permitted) to load the model data + ThreadUtils.RequestNewThreadFor( + assetLoaderContext, + LoadModel, + ProcessRootModel, + HandleError, + assetLoaderContext.Options.Timeout, + threadName, + !assetLoaderContext.HaltTasks, + assetLoaderContext.OnPreLoad + ); + } + } + + /// + /// Loads any remaining textures that have not been referenced yet and adds them to the + /// list for resource tracking. + /// If all textures are already loaded, the process immediately calls . + /// + /// + /// The that contains model data, references to textures, + /// and user-defined options. + /// + private static void LoadUnusedTextures(AssetLoaderContext assetLoaderContext) + { + if (assetLoaderContext.RootGameObject != null) + { + if (assetLoaderContext.RootModel.AllTextures != null) + { + foreach (var texture in assetLoaderContext.RootModel.AllTextures) + { + var textureLoadingContext = new TextureLoadingContext + { + Texture = texture, + Context = assetLoaderContext + }; + + // Check whether the texture is already loaded or combined + if (!assetLoaderContext.TryGetCompoundTexture(textureLoadingContext, out _)) + { + // If using Unity’s native texture loader, just load the texture directly; + // otherwise, create and then load the texture. + if (assetLoaderContext.Options.UseUnityNativeTextureLoader) + { + TextureLoaders.LoadTexture(textureLoadingContext); + } + else + { + TextureLoaders.CreateTexture(textureLoadingContext); + TextureLoaders.LoadTexture(textureLoadingContext); + } + } + } + } + } + + // Once all unused textures are addressed, finalize the loading process + FinishLoading(assetLoaderContext); + } + + /// + /// Performs any final setup or modifications to the loaded model hierarchy. + /// This includes adjusting the root scale if invalid, setting up LODs and bones (if necessary), + /// and then triggering the OnLoad callback if present. + /// + /// + /// The containing the root and other relevant data. + /// + private static void PostProcessModels(AssetLoaderContext assetLoaderContext) + { + // Correct scale if zero to avoid issues with invisible or degenerate transforms + if (assetLoaderContext.RootGameObject.transform.localScale.sqrMagnitude == 0f) + { + assetLoaderContext.RootGameObject.transform.localScale = Vector3.one; + } + + // Set up Level of Detail for the model + SetupModelLod(assetLoaderContext, assetLoaderContext.RootModel); + + // If animations or blend shapes are enabled, configure bones, build paths, and set up the rig + if (assetLoaderContext.Options.AnimationType != AnimationType.None || assetLoaderContext.Options.ImportBlendShapes) + { + SetupModelBones(assetLoaderContext, assetLoaderContext.RootModel); + BuildGameObjectsPaths(assetLoaderContext); + SetupRig(assetLoaderContext); + } + + // Mark the root GameObject as static if requested + assetLoaderContext.RootGameObject.isStatic = assetLoaderContext.Options.Static; + + // Invoke the loading callback on the main thread + assetLoaderContext.OnLoad?.Invoke(assetLoaderContext); + } + + /// + /// Iterates over all materials in the loaded model, mapping them via the available + /// implementations, and then applies the mapped materials to any associated components. + /// + /// + /// The that holds references to all materials, their renderers, and loading options. + /// + /// + /// An that yields control if any of the s use coroutines for mapping. + /// + private static IEnumerable ProcessMaterialRenderers(AssetLoaderContext assetLoaderContext) + { + var materialCount = assetLoaderContext.RootModel.AllMaterials.Count; + var materialMapperContexts = new MaterialMapperContext[materialCount]; + + // Map each TriLib material to a Unity material + for (var i = 0; i < materialCount; i++) + { + var material = assetLoaderContext.RootModel.AllMaterials[i]; + var materialMapperContext = new MaterialMapperContext + { + Context = assetLoaderContext, + Material = material + }; + materialMapperContexts[i] = materialMapperContext; + + // Find the first compatible MaterialMapper + for (var j = 0; j < assetLoaderContext.Options.MaterialMappers.Length; j++) + { + var materialMapper = assetLoaderContext.Options.MaterialMappers[j]; + if (materialMapper != null && materialMapper.IsCompatible(materialMapperContext)) + { + materialMapperContext.MaterialMapper = materialMapper; + + // Some mappers might need coroutines to handle async logic + if (materialMapper.UsesCoroutines) + { + foreach (var item in materialMapper.MapCoroutine(materialMapperContext)) + { + yield return item; + } + } + else + { + materialMapper.Map(materialMapperContext); + } + + // Apply mapped material to all relevant renderers + ApplyMaterialToRenderers(materialMapperContext); + break; + } + } + + // Update progress for the material mapping stage + assetLoaderContext.Reader.UpdateLoadingPercentage( + i, + assetLoaderContext.Reader.LoadingStepsCount + (int)ReaderBase.PostLoadingSteps.PostProcessRenderers, + materialCount + ); + } + + // Clean up any temporary references from the mappers + for (var i = 0; i < materialCount; i++) + { + var material = assetLoaderContext.RootModel.AllMaterials[i]; + if (assetLoaderContext.MaterialRenderers.TryGetValue(material, out var materialRendererList)) + { + for (var j = 0; j < materialRendererList.Count; j++) + { + MaterialMapper.Cleanup(materialRendererList[j]); + } + } + } + + // Decide whether to discard or load any unused textures after material assignment + if (assetLoaderContext.Options.DiscardUnusedTextures) + { + FinishLoading(assetLoaderContext); + } + else + { + LoadUnusedTextures(assetLoaderContext); + } + } + + /// + /// Processes all materials within the model by mapping them to Unity materials (if any s are defined), + /// or logs a warning if no is set. If no materials exist, it either discards unused textures + /// or loads them depending on the flag. + /// + /// + /// The referencing the root model, materials, and loader options. + /// + /// + /// An that yields control if coroutine-based material mapping is used. + /// Otherwise, returns immediately. + /// + private static IEnumerable ProcessMaterials(AssetLoaderContext assetLoaderContext) + { + var allMaterials = assetLoaderContext.RootModel?.AllMaterials; + + // If there are materials to process + if (allMaterials != null && allMaterials.Count > 0) + { + // Use any defined MaterialMappers, or log a warning if none were provided + if (assetLoaderContext.Options.MaterialMappers != null) + { + foreach (var item in ProcessMaterialRenderers(assetLoaderContext)) + { + yield return item; + } + } + else if (assetLoaderContext.Options.ShowLoadingWarnings) + { + Debug.LogWarning("Please specify a TriLib Material Mapper; otherwise materials cannot be created."); + } + } + else + { + // If no materials exist, either discard or load unused textures, then finish loading + if (assetLoaderContext.Options.DiscardUnusedTextures) + { + FinishLoading(assetLoaderContext); + } + else + { + LoadUnusedTextures(assetLoaderContext); + } + } + } + + /// + /// Initiates the creation of the root and its sub-hierarchy (via ), + /// then performs any post-processing (like material assignment) through coroutines or direct method calls + /// depending on the flag. + /// + /// + /// The that holds model data, loader options, and callbacks. + /// + private static void ProcessRootModel(AssetLoaderContext assetLoaderContext) + { + if (assetLoaderContext.RootModel != null) + { + // Create the hierarchy for the root model + var enumerator = CreateRootModel(assetLoaderContext); + + // Either start a Unity coroutine or run synchronously + if (assetLoaderContext.Options.UseCoroutines) + { + CoroutineHelper.Instance.StartCoroutine(enumerator); + } + else + { + CoroutineHelper.RunMethod(enumerator); + } + } + else + { + // If no root model, immediately invoke OnLoad + assetLoaderContext.OnLoad?.Invoke(assetLoaderContext); + } + } + + /// + /// Rethrows the provided error on the main thread, preserving its context. + /// + /// The context type associated with the error. + /// + /// The encapsulating the exception to be rethrown. + /// private static void Rethrow(ContextualizedError contextualizedError) { throw contextualizedError; } + + /// + /// Creates animation components and assets for the given list of TriLib animations, + /// attaching them to the . This supports both legacy + /// and -based setups, depending on . + /// + /// + /// The containing the model’s root and loading options. + /// + /// A list of TriLib data to convert into Unity s. + /// + /// An output array that will contain references to the newly created s. + /// + /// + /// An output parameter that will hold the newly created , if applicable. + /// It can be null if using strictly legacy animation. + /// + /// + /// An output parameter that will hold the created component (legacy), + /// which can either coexist with or replace the based on the selected configuration. + /// + private static void SetupAnimationComponents( + AssetLoaderContext assetLoaderContext, + IList animations, + out AnimationClip[] animationClips, + out Animator animator, + out Animation unityAnimation) + { + // Determine if we need to create an Animator component, depending on animation type and enforcement settings + if (assetLoaderContext.Options.AnimationType == AnimationType.Legacy && assetLoaderContext.Options.EnforceAnimatorWithLegacyAnimations + || assetLoaderContext.Options.AnimationType != AnimationType.Legacy) + { + animator = assetLoaderContext.RootGameObject.AddComponent(); + } + else + { + animator = null; + } + + // Always create a legacy Animation component + unityAnimation = assetLoaderContext.RootGameObject.AddComponent(); + unityAnimation.playAutomatically = assetLoaderContext.Options.AutomaticallyPlayLegacyAnimations; + unityAnimation.wrapMode = assetLoaderContext.Options.AnimationWrapMode; + + // If there are animations to process, convert them into AnimationClips + if (animations != null) + { + animationClips = new AnimationClip[animations.Count]; + + for (var i = 0; i < animations.Count; i++) + { + var triLibAnimation = animations[i]; + var animationClip = CreateAnimation(assetLoaderContext, triLibAnimation); + + // Add each clip to the legacy Animation component + unityAnimation.AddClip(animationClip, animationClip.name); + animationClips[i] = animationClip; + + // Update load percentage for the post-processing step + assetLoaderContext.Reader.UpdateLoadingPercentage( + i, + assetLoaderContext.Reader.LoadingStepsCount + (int)ReaderBase.PostLoadingSteps.PostProcessAnimationClips, + animations.Count + ); + } + + // Optionally set and play the first clip if auto-play is enabled + if (assetLoaderContext.Options.AutomaticallyPlayLegacyAnimations && animationClips.Length > 0) + { + unityAnimation.clip = animationClips[0]; + unityAnimation.Play(animationClips[0].name); + } + } + else + { + // No animations, so the array is empty + animationClips = null; + } + } + /// + /// Creates a generic Unity for the currently loaded model + /// and assigns it to the specified component. + /// This method identifies and maps bones using . + /// + /// + /// The holding model data, including the root + /// and a collection of bones found in the model. + /// + /// + /// The attached to the model's root . + /// This method sets the newly created on this . + /// + private static void SetupGenericAvatar(AssetLoaderContext assetLoaderContext, Animator animator) + { + var parent = assetLoaderContext.RootGameObject.transform.parent; + assetLoaderContext.RootGameObject.transform.SetParent(null, true); + + // Gather all bone transforms from the model + var bones = new List(); + assetLoaderContext.RootModel.GetBones(assetLoaderContext, bones); + + // Map the root bone using the configured RootBoneMapper + var rootBone = assetLoaderContext.Options.RootBoneMapper.Map(assetLoaderContext, bones); + + // Build the generic avatar and assign it to the Animator + var avatar = AvatarBuilder.BuildGenericAvatar( + assetLoaderContext.RootGameObject, + rootBone != null ? rootBone.name : "" + ); + avatar.name = $"{assetLoaderContext.RootGameObject.name}Avatar"; + animator.avatar = avatar; + + // Restore the original parent transform + assetLoaderContext.RootGameObject.transform.SetParent(parent, true); + } + + /// + /// Creates a humanoid Unity for the currently loaded model, if possible, + /// and assigns it to the specified component. + /// This leverages to perform bone mapping + /// for the Unity humanoid rig system. + /// + /// + /// The containing the root of the model + /// and the associated . + /// + /// + /// The on the model's root , + /// to which the humanoid will be assigned. + /// + /// + /// If the avatar creation fails (e.g., insufficient bones mapped), + /// a warning is logged if is true. + /// + private static void SetupHumanoidAvatar(AssetLoaderContext assetLoaderContext, Animator animator) + { + var valid = false; + + // Mapping is performed by the user-provided HumanoidAvatarMapper + var mapping = assetLoaderContext.Options.HumanoidAvatarMapper.Map(assetLoaderContext); + + if (mapping.Count > 0) + { + var parent = assetLoaderContext.RootGameObject.transform.parent; + var rootGameObjectPosition = assetLoaderContext.RootGameObject.transform.position; + assetLoaderContext.RootGameObject.transform.SetParent(null, false); + + // Allows custom post-processing on the mapped bones + assetLoaderContext.Options.HumanoidAvatarMapper.PostSetup(assetLoaderContext, mapping); + + Transform hipsTransform = null; + var humanBones = new HumanBone[mapping.Count]; + var boneIndex = 0; + + // Create a HumanBone array from the mapped data + foreach (var kvp in mapping) + { + if (kvp.Key.HumanBone == HumanBodyBones.Hips) + { + hipsTransform = kvp.Value; + } + humanBones[boneIndex++] = CreateHumanBone(kvp.Key, kvp.Value.name); + } + + // If hips were successfully mapped, build the avatar + if (hipsTransform != null) + { + // Adjust model bounds and positions to ensure correct avatar configuration + var skeletonBones = new Dictionary(); + var bounds = assetLoaderContext.RootGameObject.CalculateBounds(); + + // Optional vertical compensation so hips are at or above ground level + if (assetLoaderContext.Options.ApplyAvatarHipsCompensation) + { + var toBottom = bounds.min.y; + if (toBottom < 0f) + { + var hipsTransformPosition = hipsTransform.position; + hipsTransformPosition.y -= toBottom; + hipsTransform.position = hipsTransformPosition; + } + } + + // Optional horizontal compensation to recenter the model + var toCenter = Vector3.zero - bounds.center; + toCenter.y = 0f; + if (toCenter.sqrMagnitude > 0.01f) + { + var hipsTransformPosition = hipsTransform.position; + hipsTransformPosition += toCenter; + hipsTransform.position = hipsTransformPosition; + } + + // Build a complete list of SkeletonBones for all transforms in the GameObject hierarchy + foreach (var kvp in assetLoaderContext.GameObjects) + { + if (!skeletonBones.ContainsKey(kvp.Value.transform)) + { + skeletonBones.Add(kvp.Value.transform, CreateSkeletonBone(kvp.Value.transform)); + } + } + + // Gather human description settings from the AssetLoaderOptions, or use defaults + var triLibHumanDescription = assetLoaderContext.Options.HumanDescription ?? new General.HumanDescription(); + var humanDescription = new HumanDescription + { + armStretch = triLibHumanDescription.armStretch, + feetSpacing = triLibHumanDescription.feetSpacing, + hasTranslationDoF = triLibHumanDescription.hasTranslationDof, + legStretch = triLibHumanDescription.legStretch, + lowerArmTwist = triLibHumanDescription.lowerArmTwist, + lowerLegTwist = triLibHumanDescription.lowerLegTwist, + upperArmTwist = triLibHumanDescription.upperArmTwist, + upperLegTwist = triLibHumanDescription.upperLegTwist, + skeleton = skeletonBones.Values.ToArray(), + human = humanBones + }; + + // Build the Unity humanoid avatar + var avatar = AvatarBuilder.BuildHumanAvatar(assetLoaderContext.RootGameObject, humanDescription); + avatar.name = $"{assetLoaderContext.RootGameObject.name}Avatar"; + animator.avatar = avatar; + } + + // Restore the original transform hierarchy + assetLoaderContext.RootGameObject.transform.SetParent(parent, false); + assetLoaderContext.RootGameObject.transform.position = rootGameObjectPosition; + + // Mark as valid if the avatar is recognized by Unity or warnings are disabled + valid = animator.avatar.isValid || !assetLoaderContext.Options.ShowLoadingWarnings; + } + + // If the avatar isn't valid, log a warning + if (!valid) + { + var modelName = assetLoaderContext.Filename == null + ? "Unknown" + : FileUtils.GetShortFilename(assetLoaderContext.Filename); + Debug.LogWarning($"Could not create an Avatar for the model \"{modelName}\""); + } + } + + /// + /// Sets up the skinned mesh renderer and bone hierarchy for a single node + /// (and its children, if any). This is used for binding bones to a + /// so that animations can affect the mesh. + /// + /// + /// The holding references to loaded instances + /// and that specify how bones should be mapped. + /// + /// + /// The whose bones and geometry data will be connected to a skinned mesh renderer, if applicable. + /// + private static void SetupModelBones(AssetLoaderContext assetLoaderContext, IModel model) + { + var loadedGameObject = assetLoaderContext.GameObjects[model]; + var skinnedMeshRenderer = loadedGameObject.GetComponent(); + + if (skinnedMeshRenderer != null) + { + var bones = model.Bones; + if (bones != null && bones.Count > 0) + { + // Convert model's bone references into Unity transforms + var gameObjectBones = new Transform[bones.Count]; + for (var i = 0; i < bones.Count; i++) + { + var bone = bones[i]; + gameObjectBones[i] = assetLoaderContext.GameObjects[bone].transform; + } + + skinnedMeshRenderer.bones = gameObjectBones; + + // Use the configured RootBoneMapper to identify the root bone transform + skinnedMeshRenderer.rootBone = assetLoaderContext.Options.RootBoneMapper.Map( + assetLoaderContext, + gameObjectBones + ); + } + + // Assign the model's Mesh to the skinned mesh renderer + skinnedMeshRenderer.sharedMesh = model.GeometryGroup.Mesh; + + // If the bounding box is zero, compute local bounds for correct culling and rendering + if (skinnedMeshRenderer.bounds.size.sqrMagnitude == 0f) + { + skinnedMeshRenderer.localBounds = loadedGameObject.CalculateBounds(true); + } + } + + // Recursively process child models + if (model.Children != null && model.Children.Count > 0) + { + for (var i = 0; i < model.Children.Count; i++) + { + var subModel = model.Children[i]; + SetupModelBones(assetLoaderContext, subModel); + } + } + } + + /// + /// Prepares the for model loading by validating + /// the file or stream availability, sorting s by priority, + /// and then initializing the root model via a suitable reader. + /// + /// + /// The containing file paths, streams, and user options + /// that govern how the model is loaded. + /// + /// + /// Thrown if no valid file/stream is provided, if no suitable reader can be found, + /// or if cannot be loaded. + /// + private static void SetupModelLoading(AssetLoaderContext assetLoaderContext) + { + // Ensure there's a valid file path or stream + if (assetLoaderContext.Stream == null && string.IsNullOrWhiteSpace(assetLoaderContext.Filename)) + { + throw new Exception("TriLib is unable to load the given file."); + } + + // Sort available MaterialMappers by descending CheckingOrder to prioritize certain mappers first + if (assetLoaderContext.Options.MaterialMappers != null) + { + Array.Sort(assetLoaderContext.Options.MaterialMappers, (a, b) => a.CheckingOrder > b.CheckingOrder ? -1 : 1); + } + else if (assetLoaderContext.Options.ShowLoadingWarnings) + { + Debug.LogWarning("Your AssetLoaderOptions instance has no MaterialMappers. TriLib can't process materials without them."); + } + +#if TRILIB_DRACO + // Configure the Draco decompressor callback if Draco is enabled + GltfReader.DracoDecompressorCallback = DracoMeshLoader.DracoDecompressorCallback; +#endif + + // Determine the file extension + var fileExtension = assetLoaderContext.FileExtension; + if (fileExtension == null) + { + fileExtension = FileUtils.GetFileExtension(assetLoaderContext.Filename, false); + } + else if (fileExtension[0] == '.' && fileExtension.Length > 1) + { + // Remove the leading dot + fileExtension = fileExtension.Substring(1); + } + + // If no stream was provided, create one from the file path + if (assetLoaderContext.Stream == null) + { + var fileStream = new FileStream( + assetLoaderContext.Filename, + FileMode.Open, + FileAccess.Read, + FileShare.Read + ); + assetLoaderContext.Stream = fileStream; + + // Attempt to find a reader for this file extension + var reader = Readers.FindReaderForExtension(fileExtension); + if (reader != null) + { + assetLoaderContext.RootModel = reader.ReadStream( + fileStream, + assetLoaderContext, + assetLoaderContext.Filename, + assetLoaderContext.OnProgress + ); + } + } + else + { + // Already have a stream—just find and invoke the proper reader + var reader = Readers.FindReaderForExtension(fileExtension); + if (reader != null) + { + assetLoaderContext.RootModel = reader.ReadStream( + assetLoaderContext.Stream, + assetLoaderContext, + assetLoaderContext.Filename, + assetLoaderContext.OnProgress + ); + } + else + { + throw new Exception( + "Could not find a suitable reader for the given model. " + + "Please fill the 'fileExtension' parameter when calling any model loading method." + ); + } + + // Confirm that RootModel was actually loaded + if (assetLoaderContext.RootModel == null) + { + throw new Exception("TriLib could not load the given model."); + } + } + } + + /// + /// Recursively configures levels-of-detail (LOD) for the specified by searching + /// for child nodes whose names match typical LOD naming patterns (e.g., "_LOD1" or "LOD_1"). If multiple + /// LOD levels are detected, an is added to the of + /// the , and individual components are assigned + /// to the appropriate LOD entries. + /// + /// + /// The containing the root references and + /// loader options (e.g., ). + /// + /// + /// The whose children are examined for LOD naming patterns and possibly + /// aggregated into a new . + /// + private static void SetupModelLod(AssetLoaderContext assetLoaderContext, IModel model) + { + if (model.Children != null && model.Children.Count > 0) + { + // LOD dictionary grouped by LOD index + var lodModels = new Dictionary>(model.Children.Count); + var minLod = int.MaxValue; + var maxLod = 0; + + // Search child models for LOD naming patterns and gather renderers + for (var i = 0; i < model.Children.Count; i++) + { + var child = model.Children[i]; + var match = Regex.Match(child.Name, "_LOD(?[0-9]+)|LOD_(?[0-9]+)"); + if (match.Success) + { + var lodNumber = Convert.ToInt32(match.Groups["number"].Value); + minLod = Mathf.Min(lodNumber, minLod); + maxLod = Mathf.Max(lodNumber, maxLod); + + if (!lodModels.TryGetValue(lodNumber, out var renderers)) + { + renderers = new List(); + lodModels.Add(lodNumber, renderers); + } + + // Collect all Renderers on this child + renderers.AddRange( + assetLoaderContext.GameObjects[child].GetComponentsInChildren() + ); + } + } + + // If more than one LOD level is found, create an LODGroup on the model’s GameObject + if (lodModels.Count > 1) + { + var newGameObject = assetLoaderContext.GameObjects[model]; + var lods = new List(lodModels.Count + 1); + var lodGroup = newGameObject.AddComponent(); + var lastPosition = assetLoaderContext.Options.LODScreenRelativeTransitionHeightBase; + + // Create LOD entries in ascending order + for (var i = minLod; i <= maxLod; i++) + { + if (lodModels.TryGetValue(i, out var renderers)) + { + lods.Add(new LOD(lastPosition, renderers.ToArray())); + lastPosition *= 0.5f; + } + } + lodGroup.SetLODs(lods.ToArray()); + } + + // Recursively process children for nested or separate LOD sets + for (var i = 0; i < model.Children.Count; i++) + { + var child = model.Children[i]; + SetupModelLod(assetLoaderContext, child); + } + } + } + + /// + /// Configures the rig for the loaded model based on the selected and + /// . If the model has animations, this method generates the relevant + /// animation components and optionally creates or assigns a suitable + /// (generic or humanoid). + /// + /// + /// The containing references to the root model, animations, + /// and loader options (e.g., , ). + /// + private static void SetupRig(AssetLoaderContext assetLoaderContext) + { + var animations = assetLoaderContext.RootModel.AllAnimations; + AnimationClip[] animationClips = null; + + // If we have humanoid or if any animations exist, proceed to configure rig/animations + if (assetLoaderContext.Options.AnimationType == AnimationType.Humanoid + || (animations != null && animations.Count > 0)) + { + switch (assetLoaderContext.Options.AnimationType) + { + case AnimationType.Legacy: + { + // Creates legacy animation components + SetupAnimationComponents(assetLoaderContext, animations, out animationClips, out var animator, out var unityAnimation); + break; + } + case AnimationType.Generic: + { + // Creates animation components, sets a generic avatar (or copies from another) + SetupAnimationComponents(assetLoaderContext, animations, out animationClips, out var animator, out var unityAnimation); + + if (assetLoaderContext.Options.AvatarDefinition == AvatarDefinitionType.CopyFromOtherAvatar) + { + animator.avatar = assetLoaderContext.Options.Avatar; + } + else + { + SetupGenericAvatar(assetLoaderContext, animator); + } + break; + } + case AnimationType.Humanoid: + { + // Creates animation components, sets a humanoid avatar (or copies from another) + SetupAnimationComponents(assetLoaderContext, animations, out animationClips, out var animator, out var unityAnimation); + + if (assetLoaderContext.Options.AvatarDefinition == AvatarDefinitionType.CopyFromOtherAvatar) + { + animator.avatar = assetLoaderContext.Options.Avatar; + } + else if (assetLoaderContext.Options.HumanoidAvatarMapper != null) + { + SetupHumanoidAvatar(assetLoaderContext, animator); + } + break; + } + } + + // Optionally apply user-defined clip mappers to the resulting animation clips + if (animationClips != null) + { + if (assetLoaderContext.Options.AnimationClipMappers != null) + { + // Sort the mappers by priority (CheckingOrder) and apply the first that modifies the clips + Array.Sort(assetLoaderContext.Options.AnimationClipMappers, (a, b) => a.CheckingOrder > b.CheckingOrder ? -1 : 1); + foreach (var animationClipMapper in assetLoaderContext.Options.AnimationClipMappers) + { + animationClips = animationClipMapper.MapArray(assetLoaderContext, animationClips); + if (animationClips != null && animationClips.Length > 0) + { + break; + } + } + } + + // Add the final clips to the allocations list for potential resource management + for (var i = 0; i < animationClips.Length; i++) + { + var animationClip = animationClips[i]; + assetLoaderContext.Allocations.Add(animationClip); + } + } + } + } + + /// + /// Performs validation checks against the specified , + /// logging warnings for any potentially problematic settings based on the current platform + /// (e.g., IL2CPP restrictions, SRGB textures in HDRP/URP, etc.). + /// + /// + /// The to validate before loading assets. + /// + private static void ValidateAssetLoaderOptions(AssetLoaderOptions assetLoaderOptions) + { + // Warn if using SRGB textures in URP or HDRP + if ((GraphicsSettingsUtils.IsUsingUniversalPipeline || GraphicsSettingsUtils.IsUsingHDRPPipeline) + && assetLoaderOptions.LoadTexturesAsSRGB) + { + Debug.LogWarning("Textures must be loaded as Linear on UniversalRP and HDRP."); + Debug.LogWarning(ValidationMessage); + assetLoaderOptions.LoadTexturesAsSRGB = false; + assetLoaderOptions.ApplyGammaCurveToMaterialColors = false; + } + + // Warn about advanced texture settings that may cause memory usage issues on some platforms + if (assetLoaderOptions.GetCompatibleTextureFormat || assetLoaderOptions.EnforceAlphaChannelTextures) + { + Debug.LogWarning( + "On some platforms, disabling the 'AssetLoaderOptions.GetCompatibleTextureFormat' " + + "and 'AssetLoaderOptions.EnforceAlphaChannelTextures' options can improve memory usage, " + + "but it could cause issues on other platforms. Turn off these options and test your loader routine." + ); + Debug.LogWarning(ValidationMessage); + } + + // Suggest using Unity’s native texture loader for performance reasons + if (!assetLoaderOptions.UseUnityNativeTextureLoader && !assetLoaderOptions.LoadTexturesViaWebRequest) + { + Debug.LogWarning( + "Please consider enabling 'AssetLoaderOptions.UseUnityNativeTextureLoader'. " + + "This restricts accepted file formats to PNG and JPG but is faster than TriLib's StbImage implementation." + ); + Debug.LogWarning(ValidationMessage); + } + + // Suggest using Unity’s normal calculator for faster performance + if (!assetLoaderOptions.UseUnityNativeNormalCalculator) + { + Debug.LogWarning( + "Please consider enabling 'AssetLoaderOptions.UseUnityNativeNormalCalculator'. " + + "This is a simpler but faster normal calculation algorithm than TriLib's default." + ); + Debug.LogWarning(ValidationMessage); + } + +#if !UNITY_WSA + // Warn that heap compaction is only relevant on UWP + if (assetLoaderOptions.CompactHeap) + { + Debug.LogWarning("Heap compaction only works on UWP builds. You can safely disable 'AssetLoaderOptions.CompactHeap'."); + Debug.LogWarning(ValidationMessage); + } +#endif + +#if UNITY_ANDROID || UNITY_IOS || UNITY_WSA + // Warn about embedded data extraction on mobile/UWP due to file system restrictions + if (assetLoaderOptions.ExtractEmbeddedData) + { + Debug.LogWarning( + "You have enabled TriLib embedded data caching. Some platforms like Android, iOS, " + + "and UWP require special permission to access temporary file folders. " + + "If you are encountering file-system errors when loading your models, " + + "try setting 'AssetLoaderOptions.ExtractEmbeddedData' to false." + ); + Debug.LogWarning(ValidationMessage); } -} +#endif + } + + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoader.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoader.cs.meta index dffc8655..2332acc5 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoader.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoader.cs.meta @@ -10,3 +10,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoader.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoaderZip.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoaderZip.cs index 2ad3c602..459aa0ca 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoaderZip.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoaderZip.cs @@ -10,19 +10,37 @@ using UnityEngine; namespace TriLibCore { - /// Represents an Asset Loader class which works with Zip files. - //todo: unify async loading. + /// + /// Provides methods to load 3D models from a .zip file or stream using TriLib. It wraps around + /// the core methods, automatically unpacking the first suitable 3D + /// model file found within the archive and configuring any external data mappers necessary + /// for successful loading of textures, materials, and other resources. + /// + /// + /// Typical use involves calling one of the public methods (e.g., + /// or ) to load a zipped model either synchronously or asynchronously. + /// + /// + /// + /// Note that these methods rely on TriLib’s for the final stage of + /// model loading and may incorporate and + /// to handle external textures and data. + /// public static class AssetLoaderZip { /// - /// Buffer size used to copy the zip file entries content. + /// The size of the buffer (in bytes) used when copying zip entry contents to memory. /// private const int ZipBufferSize = 4096; /// - /// Called when all model resources have been loaded. + /// Invoked internally when all model resources (e.g., materials, textures) have finished loading. + /// Closes the associated with the .zip archive and calls any user-supplied + /// OnMaterialsLoad callback. /// - /// The asset loading context, containing callbacks and model loading data. + /// + /// The containing callbacks and model loading information. + /// private static void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) { var zipLoadCustomContextData = CustomDataHelper.GetCustomData(assetLoaderContext.CustomData); @@ -32,6 +50,8 @@ namespace TriLibCore { zipLoadCustomContextData.Stream.Close(); } + + // Invoke the original onMaterialsLoad callback if provided if (zipLoadCustomContextData.OnMaterialsLoad != null) { zipLoadCustomContextData.OnMaterialsLoad(assetLoaderContext); @@ -40,9 +60,12 @@ namespace TriLibCore } /// - /// Called when any loading error occurs. + /// Invoked when an error occurs during loading. Closes the .zip + /// and triggers any user-supplied error callback. /// - /// Thrown error containing an attached context. + /// + /// The error that was thrown, potentially containing contextual loading information. + /// private static void OnError(IContextualizedError contextualizedError) { if (contextualizedError?.GetContext() is AssetLoaderContext assetLoaderContext) @@ -54,28 +77,65 @@ namespace TriLibCore { zipLoadCustomContextData.Stream.Close(); } - if (zipLoadCustomContextData.OnError != null) - { - zipLoadCustomContextData.OnError.Invoke(contextualizedError); - } + + // Invoke the original onError callback if provided + zipLoadCustomContextData.OnError?.Invoke(contextualizedError); } } } - /// Loads a model from the given Zip file path asynchronously. - /// The Zip file path. - /// The Method to call on the Main Thread when the Model is loaded but resources may still pending. - /// The Method to call on the Main Thread when the Model and resources are loaded. - /// The Method to call when the Model loading progress changes. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The options to use when loading the Model. - /// The Custom Data that will be passed along the Context. - /// The Model inside the Zip file extension. If null TriLib will try to find a suitable model format inside the Zip file. - /// Turn on this field to avoid loading the model immediately and chain the Tasks. - /// The method to call on the parallel Thread before the Unity objects are created. - /// The asset loader context, containing model loading information and the output game object. - public static AssetLoaderContext LoadModelFromZipFile(string path, + /// + /// Loads the first recognized model file found within the specified .zip archive + /// asynchronously (on a separate thread if supported) and returns the resulting + /// . + /// + /// The file path pointing to the .zip archive. + /// + /// Callback invoked on the main thread once the model is loaded (but materials + /// may still be pending). + /// + /// + /// Callback invoked on the main thread after all materials (textures, shaders, etc.) + /// have finished loading. + /// + /// + /// Callback invoked when loading progress changes. Accepts an + /// and a float in the range [0, 1]. + /// + /// + /// Callback invoked on the main thread if any error occurs during .zip extraction + /// or model loading. + /// + /// + /// Optional parent for the resulting model hierarchy. + /// If null, the model loads at the root scene level. + /// + /// + /// The controlling how the model is loaded + /// (e.g., material/texture mappers, animation settings). + /// + /// + /// User-defined data to store in the + /// for customization or reference during loading. + /// + /// + /// Optional. If known, the file extension of the model inside the .zip (e.g., ".fbx"). + /// If null, TriLib attempts to find any recognized 3D file format in the archive. + /// + /// + /// If true, the loading tasks are created but not started immediately, + /// allowing for manual chaining or scheduling of multiple loads. + /// + /// + /// Callback invoked on a background thread before any Unity objects are instantiated. + /// This is useful for performing setup tasks in parallel. + /// + /// + /// An containing references to the loaded model hierarchy + /// and other loading details. Returns null if no suitable model was found in the .zip. + /// + public static AssetLoaderContext LoadModelFromZipFile( + string path, Action onLoad, Action onMaterialsLoad, Action onProgress, @@ -88,49 +148,106 @@ namespace TriLibCore Action onPreLoad = null) { Stream stream = null; - var memoryStream = SetupZipModelLoading(onError, ref stream, path, ref assetLoaderOptions, ref fileExtension, out var zipFile, out var zipEntry); - var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData(new ZipLoadCustomContextData - { - ZipFile = zipFile, - ZipEntry = zipEntry, - Stream = stream, - OnError = onError, - OnMaterialsLoad = onMaterialsLoad - }); + var memoryStream = SetupZipModelLoading( + onError, + ref stream, + path, + ref assetLoaderOptions, + ref fileExtension, + out var zipFile, + out var zipEntry + ); + + // Create a custom data dictionary that references the .zip file/entry + var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData( + new ZipLoadCustomContextData + { + ZipFile = zipFile, + ZipEntry = zipEntry, + Stream = stream, + OnError = onError, + OnMaterialsLoad = onMaterialsLoad + } + ); + + // Merge any user-supplied custom context data if (customContextData != null) { CustomDataHelper.SetCustomData(ref customDataDic, customContextData); } - return AssetLoader.LoadModelFromStream(memoryStream, - path, - fileExtension, - onLoad, - OnMaterialsLoad, - onProgress, - OnError, - wrapperGameObject, - assetLoaderOptions, - customDataDic, - haltTask, - onPreLoad, - true); + + // If no suitable model was found, memoryStream is null + return memoryStream == null + ? null + : AssetLoader.LoadModelFromStream( + memoryStream, + path, + fileExtension, + onLoad, + OnMaterialsLoad, + onProgress, + OnError, + wrapperGameObject, + assetLoaderOptions, + customDataDic, + haltTask, + onPreLoad, + true + ); } - /// Loads a model from the given Zip file Stream asynchronously. - /// The Stream containing the Zip data. - /// The Method to call on the Main Thread when the Model is loaded but resources may still pending. - /// The Method to call on the Main Thread when the Model and resources are loaded. - /// The Method to call when the Model loading progress changes. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The options to use when loading the Model. - /// The Custom Data that will be passed along the Context. - /// The Model inside the Zip file extension. If null TriLib will try to find a suitable model format inside the Zip file. - /// Turn on this field to avoid loading the model immediately and chain the Tasks. /// - /// The Zip file path. - /// The method to call on the parallel Thread before the Unity objects are created. - /// The asset loader context, containing model loading information and the output game object. - public static AssetLoaderContext LoadModelFromZipStream(Stream stream, + /// + /// Loads the first recognized model file found in the given .zip data + /// asynchronously and returns the . + /// + /// A containing the .zip data. + /// + /// Callback invoked on the main thread once the model is loaded (but materials + /// may still be pending). + /// + /// + /// Callback invoked on the main thread after all materials (textures, shaders, etc.) + /// have finished loading. + /// + /// + /// Callback invoked to report loading progress, from 0 to 1. + /// + /// + /// Callback invoked on the main thread if any error occurs during .zip extraction + /// or model loading. + /// + /// + /// Optional parent for the resulting model hierarchy. + /// If null, the model loads at the root scene level. + /// + /// + /// The controlling how the model is loaded. + /// + /// + /// User-defined data stored in the for reference. + /// + /// + /// Optional. The file extension of the model inside the .zip. If null, + /// TriLib attempts to locate a recognized 3D format automatically. + /// + /// + /// If true, the loading tasks are created but not started immediately. + /// + /// + /// An optional filename to associate with the model in the . + /// This is useful for logging or reference within TriLib if the .zip data was sourced + /// from a file path. + /// + /// + /// A callback invoked on a background thread before any Unity objects are instantiated, + /// allowing parallel setup tasks. + /// + /// + /// An providing references to the loaded model + /// and additional data. Returns null if no suitable model is found in the .zip. + /// + public static AssetLoaderContext LoadModelFromZipStream( + Stream stream, Action onLoad, Action onMaterialsLoad, Action onProgress, @@ -143,20 +260,34 @@ namespace TriLibCore string modelFilename = null, Action onPreLoad = null) { - var memoryStream = SetupZipModelLoading(onError, ref stream, null, ref assetLoaderOptions, ref fileExtension, out var zipFile, out var zipEntry); - var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData(new ZipLoadCustomContextData - { - ZipFile = zipFile, - ZipEntry = zipEntry, - Stream = stream, - OnError = onError, - OnMaterialsLoad = onMaterialsLoad - }); + var memoryStream = SetupZipModelLoading( + onError, + ref stream, + null, + ref assetLoaderOptions, + ref fileExtension, + out var zipFile, + out var zipEntry + ); + + var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData( + new ZipLoadCustomContextData + { + ZipFile = zipFile, + ZipEntry = zipEntry, + Stream = stream, + OnError = onError, + OnMaterialsLoad = onMaterialsLoad + } + ); + if (customContextData != null) { CustomDataHelper.SetCustomData(ref customDataDic, customContextData); } - return AssetLoader.LoadModelFromStream(memoryStream, + + return AssetLoader.LoadModelFromStream( + memoryStream, modelFilename, fileExtension, onLoad, @@ -168,18 +299,38 @@ namespace TriLibCore customDataDic, haltTask, onPreLoad, - true); + true + ); } - /// Loads a model from the given Zip file path synchronously. - /// The Zip file path. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The options to use when loading the Model. - /// The Custom Data that will be passed along the Context. - /// The Model inside the Zip file extension. If null TriLib will try to find a suitable model format inside the Zip file. - /// The asset loader context, containing model loading information and the output game object. - public static AssetLoaderContext LoadModelFromZipFileNoThread(string path, + /// + /// Loads the first recognized model file from the specified .zip archive synchronously + /// on the main thread. This method does not utilize background threads or coroutines. + /// + /// The file path pointing to the .zip archive. + /// + /// Callback invoked on the main thread if any error occurs during extraction + /// or model loading. + /// + /// + /// Optional parent for the resulting model hierarchy. + /// + /// + /// The controlling how the model is loaded. + /// + /// + /// Additional user-defined data stored in the . + /// + /// + /// Optional. The file extension of the model inside the .zip. If null, + /// TriLib attempts to locate a recognized 3D format automatically. + /// + /// + /// An referencing the loaded model and related data. + /// Returns null if no valid model was found in the .zip. + /// + public static AssetLoaderContext LoadModelFromZipFileNoThread( + string path, Action onError = null, GameObject wrapperGameObject = null, AssetLoaderOptions assetLoaderOptions = null, @@ -187,107 +338,209 @@ namespace TriLibCore string fileExtension = null) { Stream stream = null; - var memoryStream = SetupZipModelLoading(onError, ref stream, path, ref assetLoaderOptions, ref fileExtension, out var zipFile, out var zipEntry); - var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData(new ZipLoadCustomContextData - { - ZipFile = zipFile, - ZipEntry = zipEntry, - Stream = stream, - OnError = onError - }); + var memoryStream = SetupZipModelLoading( + onError, + ref stream, + path, + ref assetLoaderOptions, + ref fileExtension, + out var zipFile, + out var zipEntry + ); + + var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData( + new ZipLoadCustomContextData + { + ZipFile = zipFile, + ZipEntry = zipEntry, + Stream = stream, + OnError = onError + } + ); + if (customContextData != null) { CustomDataHelper.SetCustomData(ref customDataDic, customContextData); } - var assetLoaderContext = AssetLoader.LoadModelFromStreamNoThread(memoryStream, + + var assetLoaderContext = AssetLoader.LoadModelFromStreamNoThread( + memoryStream, path, fileExtension, OnError, wrapperGameObject, assetLoaderOptions, customDataDic, - true); + true + ); + + // Close the underlying .zip stream once loading completes stream.Close(); return assetLoaderContext; } - /// Loads a model from the given Zip file Stream synchronously. - /// The Stream containing the Zip data. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The options to use when loading the Model. - /// The Custom Data that will be passed along the Context. - /// The Model inside the Zip file extension. If null TriLib will try to find a suitable model format inside the Zip file. - /// The asset loader context, containing model loading information and the output game object. - public static AssetLoaderContext LoadModelFromZipStreamNoThread(Stream stream, + /// + /// Loads the first recognized model file from the specified .zip data + /// synchronously on the main thread. No background threading is used. + /// + /// + /// A containing the .zip data. + /// + /// + /// Callback invoked on the main thread if any error occurs during extraction + /// or model loading. + /// + /// + /// Optional parent for the resulting model hierarchy. + /// + /// + /// The controlling how the model is loaded. + /// + /// + /// Additional user-defined data stored in the . + /// + /// + /// Optional. The file extension of the model inside the .zip. If null, + /// TriLib attempts to locate a recognized 3D format automatically. + /// + /// + /// An referencing the loaded model and related data. + /// + public static AssetLoaderContext LoadModelFromZipStreamNoThread( + Stream stream, Action onError, GameObject wrapperGameObject = null, AssetLoaderOptions assetLoaderOptions = null, object customContextData = null, string fileExtension = null) { - var memoryStream = SetupZipModelLoading(onError, ref stream, null, ref assetLoaderOptions, ref fileExtension, out var zipFile, out var zipEntry); - var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData(new ZipLoadCustomContextData - { - ZipFile = zipFile, - ZipEntry = zipEntry, - Stream = stream, - OnError = onError - }); + var memoryStream = SetupZipModelLoading( + onError, + ref stream, + null, + ref assetLoaderOptions, + ref fileExtension, + out var zipFile, + out var zipEntry + ); + + var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData( + new ZipLoadCustomContextData + { + ZipFile = zipFile, + ZipEntry = zipEntry, + Stream = stream, + OnError = onError + } + ); + if (customContextData != null) { CustomDataHelper.SetCustomData(ref customDataDic, customContextData); } - var assetLoaderContext = AssetLoader.LoadModelFromStreamNoThread(memoryStream, + + var assetLoaderContext = AssetLoader.LoadModelFromStreamNoThread( + memoryStream, null, fileExtension, OnError, wrapperGameObject, assetLoaderOptions, customDataDic, - true); + true + ); + + // Close the underlying .zip stream once loading completes stream.Close(); return assetLoaderContext; } - /// Configures the Zip Model loading, adding the Zip External Data/Texture Mappers. - /// The method to execute when any error occurs. - /// The Stream containing the Zip data. - /// The Zip file path. - /// The options to use when loading the Model. - /// The Model inside the Zip file extension. - /// The Zip file instance. - /// The model Zip entry inside the Zip file. - /// The model file data stream. - private static Stream SetupZipModelLoading(Action onError, ref Stream stream, string path, ref AssetLoaderOptions assetLoaderOptions, ref string fileExtension, out ZipFile zipFile, out ZipEntry modelZipEntry) + /// + /// Configures the for .zip-based loading, injecting + /// mappers (e.g., ) needed to handle external data + /// within the archive, and extracts the first recognized model file into a memory stream. + /// + /// Callback invoked if an error occurs during the process. + /// + /// A reference to a that will be opened or assigned if is provided. + /// + /// + /// An optional file path for reading the .zip data. If null, + /// is assumed to be already open. + /// + /// + /// The current , which may be updated to include + /// or . + /// + /// + /// An optional file extension filter for the model(s) inside the .zip. + /// If null, the method tries to find any recognized 3D format. + /// + /// Outputs the object representing the archive. + /// Outputs the of the first recognized model file. + /// + /// A containing the unzipped model data (in memory), or null + /// if no suitable model file was found. + /// + private static Stream SetupZipModelLoading( + Action onError, + ref Stream stream, + string path, + ref AssetLoaderOptions assetLoaderOptions, + ref string fileExtension, + out ZipFile zipFile, + out ZipEntry modelZipEntry) { + // Ensure AssetLoaderOptions is set and inject needed mappers for .zip loading if (assetLoaderOptions == null) { assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(); } + + // Add ZipFileTextureMapper if not already present if (!ArrayUtils.ContainsType(assetLoaderOptions.TextureMappers)) { - assetLoaderOptions.TextureMappers = new TextureMapper[] { ScriptableObject.CreateInstance() }; + var textureMapper = ScriptableObject.CreateInstance(); + if (assetLoaderOptions.TextureMappers == null) + { + assetLoaderOptions.TextureMappers = new TextureMapper[] { textureMapper }; + } + else + { + ArrayUtils.Add(ref assetLoaderOptions.TextureMappers, textureMapper); + } } + + // Set or replace the external data mapper to handle .zip archives if (!(assetLoaderOptions.ExternalDataMapper is ZipFileExternalDataMapper)) { assetLoaderOptions.ExternalDataMapper = ScriptableObject.CreateInstance(); } + + // If a path is given, open a file stream; otherwise assume we have an existing stream if (stream == null) { stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read); } + + // Determine recognized TriLib extensions var validExtensions = Readers.Extensions; + zipFile = new ZipFile(stream); - Stream memoryStream = null; modelZipEntry = null; + Stream memoryStream = null; + + // Search the .zip for the first recognized model extension foreach (ZipEntry zipEntry in zipFile) { if (!zipEntry.IsFile) { continue; } + var checkingFileExtension = FileUtils.GetFileExtension(zipEntry.Name, false); + + // If user provided a file extension or we detect it from the entry name if (fileExtension != null && checkingFileExtension == fileExtension) { memoryStream = ZipFileEntryToStream(out fileExtension, zipEntry, zipFile); @@ -300,29 +553,47 @@ namespace TriLibCore break; } } + + // If we still haven't found a suitable model, report an error if (memoryStream == null) { - var exception = new Exception("Unable to find a suitable model on the Zip file. Please inform a valid model file extension."); + var exception = new Exception( + "Unable to find a suitable model within the .zip file. " + + "Please specify a valid model file extension." + ); onError?.Invoke(new ContextualizedError(exception, "Error")); } + return memoryStream; } - /// Copies the contents of a Zip file Entry into a Memory Stream. - /// The Model inside the Zip file extension. - /// The Zip file Entry. - /// The Zip file instance. - /// A memory stream with the zip file entry contents. + /// + /// Extracts the contents of a given into a . + /// The is determined from the entry’s filename. + /// + /// Outputs the extension of the entry’s file (e.g., ".fbx"). + /// The representing a single file in the archive. + /// The containing the . + /// + /// A containing the uncompressed data of the , + /// rewound to the beginning for immediate reading. + /// public static Stream ZipFileEntryToStream(out string fileExtension, ZipEntry zipEntry, ZipFile zipFile) { var buffer = new byte[ZipBufferSize]; var zipFileStream = zipFile.GetInputStream(zipEntry); + + // Allocate a memory stream and copy data from the archive var memoryStream = new MemoryStream(ZipBufferSize); ICSharpCode.SharpZipLib.Core.StreamUtils.Copy(zipFileStream, memoryStream, buffer); + + // Reset stream position to start memoryStream.Seek(0, SeekOrigin.Begin); zipFileStream.Close(); + + // Determine the file extension from the zip entry name fileExtension = FileUtils.GetFileExtension(zipEntry.Name, false); return memoryStream; } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoaderZip.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoaderZip.cs.meta index 3a881200..9a63f374 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoaderZip.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoaderZip.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: bc3325ae039d40e29f3fe62e63304f8b -timeCreated: 1574535368 \ No newline at end of file +timeCreated: 1574535368 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/AssetLoaderZip.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/CoroutineHelper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/CoroutineHelper.cs index 6d82ca3a..91a2610b 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/CoroutineHelper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/CoroutineHelper.cs @@ -4,15 +4,24 @@ using UnityEngine; namespace TriLibCore { /// - /// Represents a class used to dispatch coroutines. + /// Provides a singleton and in the scene + /// specifically for running coroutines. This helper is particularly useful for static classes + /// or non- objects that require coroutine-driven logic without + /// needing to create their own . /// public class CoroutineHelper : MonoBehaviour { private static CoroutineHelper _instance; /// - /// Gets the coroutine helper instance. + /// Retrieves the singleton instance of the . + /// If no instance exists, one is automatically created in the scene with + /// the name "Coroutine Helper". /// + /// + /// The created is marked with , + /// which generally prevents it from persisting in serialized scenes. + /// public static CoroutineHelper Instance { get @@ -26,12 +35,34 @@ namespace TriLibCore } } - public static void RunMethod(IEnumerator enuemrator) + /// + /// Synchronously executes the provided until it completes. + /// Unlike , this method does not run + /// asynchronously; it blocks until the iterator finishes. + /// + /// The to execute step by step. + /// + /// Because this method runs synchronously, it can be used in cases where you need + /// to process an iterator without yielding control back to Unity’s main loop. + /// Note that any calls to yield return in the enumerator won’t cause + /// asynchronous delays. + /// + public static void RunMethod(IEnumerator enumerator) { - while (enuemrator.MoveNext()) + while (enumerator.MoveNext()) { - + // Empty loop body, as the enumerator steps through until completion. } } + + /// + /// When the hosting this is destroyed, + /// the singleton reference is reset. Future calls to + /// will recreate the helper as needed. + /// + private void OnDestroy() + { + _instance = null; + } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/CoroutineHelper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/CoroutineHelper.cs.meta index 91e56ae0..a3a8c117 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/CoroutineHelper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/CoroutineHelper.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/CoroutineHelper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/MultipleAssetLoaderZip.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/MultipleAssetLoaderZip.cs index bece1449..8845159b 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/MultipleAssetLoaderZip.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/MultipleAssetLoaderZip.cs @@ -10,22 +10,66 @@ using UnityEngine; namespace TriLibCore { /// - /// Represents a class used to load all the models inside a Zip file. + /// Provides methods to load every recognized model file within a .zip archive, + /// leveraging TriLib’s under the hood. Unlike AssetLoaderZip, + /// this class attempts to load multiple models from the same .zip file rather than just the first. /// public static class MultipleAssetLoaderZip { - /// Loads all models from the given Zip file Stream asynchronously. - /// The Zip file Stream. - /// The Method to call on the Main Thread when any Model is loaded but resources may still pending. - /// The Method to call on the Main Thread when any Model and resources are loaded. - /// The Method to call when any Model loading progress changes. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Objects. Can be null. - /// The options to use when loading the Models. - /// The Custom Data that will be passed along the Context. - /// The Models inside the Zip file extension. If null TriLib will try to find a suitable model format inside the Zip file. - /// Turn on this field to avoid loading the models immediately and chain the Tasks. - /// The method to call on the parallel Thread before the Unity objects are created. + /// + /// Loads all valid 3D models from the specified (a .zip file stream) + /// asynchronously if the platform allows threading. Each recognized file extension is + /// processed individually, generating a separate . + /// + /// + /// If multiple models are found, each model is loaded in turn, potentially creating + /// multiple hierarchies under . + /// + /// + /// A pointing to the .zip data. The stream is scanned for valid model files (based + /// on known TriLib extensions). + /// + /// + /// Callback invoked on the main Unity thread once any model’s core data is loaded + /// (but before materials have fully loaded). + /// + /// + /// Callback invoked on the main Unity thread after each model’s materials (textures, shaders, etc.) + /// have finished loading. + /// + /// + /// Callback invoked whenever any model’s loading progress is updated (0–1). + /// Includes both data and materials loading stages. + /// + /// + /// Callback invoked on the main Unity thread if any error occurs while extracting or loading a model. + /// This is optional and can be null. + /// + /// + /// An optional parent to hold the loaded model hierarchies. + /// If null, each model is created at the root of the scene. + /// + /// + /// The controlling how models, textures, and other data + /// are processed. If null, default settings are created automatically. + /// + /// + /// A custom object or data structure used to store additional information + /// in each . This can be retrieved later via + /// the loading pipeline. + /// + /// + /// If specified, only files in the .zip that match this extension (e.g., ".fbx") + /// are loaded. If null, any valid TriLib file extension is accepted. + /// + /// + /// If true, creates the loading tasks but does not start them immediately, allowing you + /// to chain or queue multiple loads manually. + /// + /// + /// A callback invoked on a background thread before Unity objects are created (in supported platforms), + /// useful for advanced setup or logging tasks in parallel. + /// public static void LoadAllModelsFromZipStream( Stream stream, Action onLoad, @@ -45,21 +89,72 @@ namespace TriLibCore assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(); } SetupModelLoading(assetLoaderOptions); - LoadModelsInternal(onLoad, onMaterialsLoad, onProgress, onError, wrapperGameObject, assetLoaderOptions, customContextData, fileExtension, haltTask, onPreLoad, stream); + LoadModelsInternal( + onLoad, + onMaterialsLoad, + onProgress, + onError, + wrapperGameObject, + assetLoaderOptions, + customContextData, + fileExtension, + haltTask, + onPreLoad, + stream + ); } - /// Loads all models from the given Zip file path asynchronously. - /// The Zip file path. - /// The Method to call on the Main Thread when any Model is loaded but resources may still pending. - /// The Method to call on the Main Thread when any Model and resources are loaded. - /// The Method to call when any Model loading progress changes. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Objects. Can be null. - /// The options to use when loading the Models. - /// The Custom Data that will be passed along the Context. - /// The Models inside the Zip file extension. If null TriLib will try to find a suitable model format inside the Zip file. - /// Turn on this field to avoid loading the models immediately and chain the Tasks. - /// The method to call on the parallel Thread before the Unity objects are created. + /// + /// Loads all valid 3D models from a local .zip file asynchronously if the platform allows threading. + /// Each recognized file extension within the .zip is processed individually, creating separate + /// instances for each model. + /// + /// + /// The absolute or relative file path to the .zip archive. If the file doesn’t exist, + /// an is thrown. + /// + /// + /// Callback invoked on the main Unity thread once any model’s core data is loaded + /// (but before materials fully load). + /// + /// + /// Callback invoked after each model’s materials (textures, shaders, etc.) have been loaded. + /// This occurs on the main Unity thread. + /// + /// + /// Callback invoked whenever any model’s loading progress is updated (a float from 0 to 1). + /// This can be called multiple times per model load. + /// + /// + /// Callback invoked if any error occurs while extracting or loading models from the .zip. + /// Optionally, pass null if no error handling is needed. + /// + /// + /// An optional parent under which loaded models will be placed. + /// If null, each model is created at the root scene level. + /// + /// + /// The that govern texture loading, material creation, + /// animations, and other aspects of model import. If null, a default configuration + /// is used. + /// + /// + /// An optional data object inserted into each for custom reference. + /// + /// + /// A specific file extension (e.g., ".gltf") to limit which models to load from the .zip. + /// If null, all recognized TriLib model extensions are loaded. + /// + /// + /// If true, creates but does not begin loading tasks, letting you manage or queue them as needed. + /// + /// + /// A background-thread callback invoked before Unity objects are generated, suitable for advanced + /// tasks such as caching or data pre-processing. + /// + /// + /// Thrown if the does not point to a valid file. + /// public static void LoadAllModelsFromZipFile( string path, Action onLoad, @@ -80,9 +175,30 @@ namespace TriLibCore } var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read); SetupModelLoading(assetLoaderOptions); - LoadModelsInternal(onLoad, onMaterialsLoad, onProgress, onError, wrapperGameObject, assetLoaderOptions, customContextData, fileExtension, haltTask, onPreLoad, stream); + LoadModelsInternal( + onLoad, + onMaterialsLoad, + onProgress, + onError, + wrapperGameObject, + assetLoaderOptions, + customContextData, + fileExtension, + haltTask, + onPreLoad, + stream + ); } + /// + /// Performs internal setup to ensure contains the + /// required mappers ( and ) + /// to read from .zip archives. + /// + /// + /// The current loader options, which are updated in-place to include the necessary + /// zip-based texture and data mappers if not already present. + /// private static void SetupModelLoading(AssetLoaderOptions assetLoaderOptions) { if (assetLoaderOptions == null) @@ -91,7 +207,15 @@ namespace TriLibCore } if (!ArrayUtils.ContainsType(assetLoaderOptions.TextureMappers)) { - assetLoaderOptions.TextureMappers = new TextureMapper[] { ScriptableObject.CreateInstance() }; + var textureMapper = ScriptableObject.CreateInstance(); + if (assetLoaderOptions.TextureMappers == null) + { + assetLoaderOptions.TextureMappers = new TextureMapper[] { textureMapper }; + } + else + { + ArrayUtils.Add(ref assetLoaderOptions.TextureMappers, textureMapper); + } } if (!(assetLoaderOptions.ExternalDataMapper is ZipFileExternalDataMapper)) { @@ -99,7 +223,46 @@ namespace TriLibCore } } - private static void LoadModelsInternal(Action onLoad, + /// + /// Iterates through every file in the .zip . For each entry that matches + /// a recognized or specified , this method extracts the file + /// into a memory stream and calls to load it. + /// + /// + /// Callback for when a model’s base data has finished loading. + /// + /// + /// Callback for when model materials and resources have finished loading. + /// + /// + /// Callback for ongoing load progress. + /// + /// + /// Callback if any error occurs. + /// + /// + /// Optional parent object for all loaded models. + /// + /// + /// Inherited or applied loading options from user or defaults. + /// + /// + /// Any user-supplied data to keep track of within . + /// + /// + /// Restricts or filters which entries are treated as valid models. + /// + /// + /// If true, does not start the actual loading task. + /// + /// + /// Background-thread callback for advanced setup prior to Unity object creation. + /// + /// + /// The open referencing the .zip data. + /// + private static void LoadModelsInternal( + Action onLoad, Action onMaterialsLoad, Action onProgress, Action onError, @@ -113,6 +276,7 @@ namespace TriLibCore { var validExtensions = Readers.Extensions; var zipFile = new ZipFile(stream); + foreach (ZipEntry zipEntry in zipFile) { if (!zipEntry.IsFile) @@ -122,6 +286,8 @@ namespace TriLibCore Stream memoryStream = null; var checkingFileExtension = FileUtils.GetFileExtension(zipEntry.Name, false); + + // If user-specified extension matches or recognized extension is found if (fileExtension != null && checkingFileExtension == fileExtension) { memoryStream = AssetLoaderZip.ZipFileEntryToStream(out fileExtension, zipEntry, zipFile); @@ -130,11 +296,12 @@ namespace TriLibCore { memoryStream = AssetLoaderZip.ZipFileEntryToStream(out fileExtension, zipEntry, zipFile); } + + // Add custom context data for zip-based loading var customDataDic = (object)CustomDataHelper.CreateCustomDataDictionaryWithData(new ZipLoadCustomContextData { ZipFile = zipFile, Stream = stream, - //CustomData = customContextData, OnError = onError, OnMaterialsLoad = onMaterialsLoad }); @@ -142,6 +309,7 @@ namespace TriLibCore { CustomDataHelper.SetCustomData(ref customDataDic, customContextData); } + if (memoryStream != null) { AssetLoader.LoadModelFromStream( @@ -157,21 +325,31 @@ namespace TriLibCore customDataDic, haltTask, onPreLoad, - true); + true + ); } } + + // Close the .zip stream if requested in AssetLoaderOptions if (assetLoaderOptions.CloseStreamAutomatically) { stream.Close(); } } - //Todo: make the AssetLoaderZip method public and use that instead + /// + /// Invoked after model materials have finished loading, calling the user’s onMaterialsLoad + /// delegate if provided. This is attached to each to handle final + /// zip-based cleanup or notifications. + /// + /// The context referencing loaded model data. private static void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) { - var zipLoadCustomContextData = CustomDataHelper.GetCustomData(assetLoaderContext.CustomData); + var zipLoadCustomContextData = + CustomDataHelper.GetCustomData(assetLoaderContext.CustomData); if (zipLoadCustomContextData != null) { + // Fire the user’s onMaterialsLoad callback if present if (zipLoadCustomContextData.OnMaterialsLoad != null) { zipLoadCustomContextData.OnMaterialsLoad(assetLoaderContext); @@ -179,12 +357,17 @@ namespace TriLibCore } } - //Todo: make the AssetLoaderZip method public and use that instead + /// + /// Called when an error occurs in while processing zip-based models. + /// It attempts to close the .zip stream and notifies any user-defined error callback. + /// + /// The encountered error, carrying a context if available. private static void OnError(IContextualizedError contextualizedError) { if (contextualizedError?.GetContext() is AssetLoaderContext assetLoaderContext) { - var zipLoadCustomContextData = CustomDataHelper.GetCustomData(assetLoaderContext.CustomData); + var zipLoadCustomContextData = + CustomDataHelper.GetCustomData(assetLoaderContext.CustomData); if (zipLoadCustomContextData != null) { if (zipLoadCustomContextData.Stream != null) @@ -199,4 +382,4 @@ namespace TriLibCore } } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/MultipleAssetLoaderZip.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/MultipleAssetLoaderZip.cs.meta index 81a5dbd4..6c8fda1e 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/MultipleAssetLoaderZip.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/MultipleAssetLoaderZip.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/AssetLoaders/MultipleAssetLoaderZip.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/UriLoadCustomContextData.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/UriLoadCustomContextData.cs index 601b5b73..4943c8e8 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/UriLoadCustomContextData.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/UriLoadCustomContextData.cs @@ -2,12 +2,19 @@ namespace TriLibCore { - /// Represents a class passed as the custom data to the Asset Loader Context when loading Models from URIs (Network). + /// + /// Holds additional context data related to URI-based (network) model loading. + /// Instances of this class are stored in an + /// object, allowing developers to track the originating + /// and related networking state. + /// public class UriLoadCustomContextData { /// - /// The unity web request used to load the models. + /// The instance used to download model data from a remote URI. + /// This allows retrieval of response headers, status codes, or other network-related information + /// after the model has been loaded. /// public UnityWebRequest UnityWebRequest; } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/UriLoadCustomContextData.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/UriLoadCustomContextData.cs.meta index 7ce111d6..65876292 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/UriLoadCustomContextData.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/UriLoadCustomContextData.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: ca10aade777a4fac805f17e134843768 -timeCreated: 1574628665 \ No newline at end of file +timeCreated: 1574628665 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/UriLoadCustomContextData.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/ZipLoadCustomContextData.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/ZipLoadCustomContextData.cs index ee689f3c..ebd85c6c 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/ZipLoadCustomContextData.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/ZipLoadCustomContextData.cs @@ -1,36 +1,46 @@ using System; using System.IO; using ICSharpCode.SharpZipLib.Zip; -using TriLibCore.General; namespace TriLibCore { - /// Represents a class passed as the custom data to the Asset Loader Context when loading Models from Zip files. + /// + /// Provides additional context data to the when loading models + /// from a .zip archive. This includes references to the , + /// its corresponding , the underlying , + /// and optional callbacks for errors and material-loading events. + /// public class ZipLoadCustomContextData { /// - /// The zip file to be used. + /// The object representing the entire archive from which the model is extracted. /// public ZipFile ZipFile; /// - /// The model zip entry inside the zip file. + /// The individual that corresponds to the model file within the archive. + /// May be null if searching for recognized model extensions or if multiple entries are processed. /// public ZipEntry ZipEntry; /// - /// The stream used to load the zip file. + /// The used to access the contents of the .zip file. + /// This is opened at the start of loading and may be closed automatically + /// once loading is finished, depending on . /// public Stream Stream; /// - /// The original error event passed to the Zip loading method. + /// A reference to the original error callback passed during zip-based model loading, + /// allowing custom handlers to be invoked if an error occurs at any point in the load process. /// public Action OnError; /// - /// The original materials load event passed to the Zip loading method. + /// A reference to the original material load callback passed during zip-based model loading. + /// This is invoked on the main thread once all model materials, textures, and other resources + /// have successfully loaded. /// public Action OnMaterialsLoad; } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/ZipLoadCustomContextData.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/ZipLoadCustomContextData.cs.meta index b2fda2c4..cbf08be5 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/ZipLoadCustomContextData.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/ZipLoadCustomContextData.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: 2c6ba4df15be43b8a68dbc8c6be3545e -timeCreated: 1574535378 \ No newline at end of file +timeCreated: 1574535378 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/CustomContextData/ZipLoadCustomContextData.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/AnimatorOverrideAnimationClipMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/AnimatorOverrideAnimationClipMapper.cs index 3e77b919..fdfb461f 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/AnimatorOverrideAnimationClipMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/AnimatorOverrideAnimationClipMapper.cs @@ -2,15 +2,26 @@ namespace TriLibCore.Mappers { - /// Represents a Mapper used to fill Animator Override Animation Clips. + /// + /// Provides a mechanism for applying an to the animator + /// of a loaded model while processing animation clips. This mapper is designed to work with + /// Animator Override Controllers, allowing you to override default animation clips with custom ones. + /// public class AnimatorOverrideAnimationClipMapper : AnimationClipMapper { /// - /// Animator controller override to use on the animator. + /// The Animator Override Controller to assign to the model’s . + /// If not set, the mapper will not override the animator controller. /// public AnimatorOverrideController AnimatorOverrideController; - /// + /// + /// + /// This method retrieves the component from the root GameObject in the + /// Asset Loader Context and assigns the specified to it. + /// If either the animator or the override controller is missing, a warning is issued (if enabled in the options) + /// and the original animation clips are returned unmodified. + /// public override AnimationClip[] MapArray(AssetLoaderContext assetLoaderContext, AnimationClip[] sourceAnimationClips) { var animator = assetLoaderContext.RootGameObject.GetComponent(); @@ -22,8 +33,9 @@ namespace TriLibCore.Mappers } return sourceAnimationClips; } + animator.runtimeAnimatorController = AnimatorOverrideController; return sourceAnimationClips; } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/AnimatorOverrideAnimationClipMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/AnimatorOverrideAnimationClipMapper.cs.meta index 3023a9ae..f2c4306d 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/AnimatorOverrideAnimationClipMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/AnimatorOverrideAnimationClipMapper.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: 0e5e72260b7c4687bec413cc872c70e8 -timeCreated: 1589082096 \ No newline at end of file +timeCreated: 1589082096 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/AnimatorOverrideAnimationClipMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByBonesRootBoneMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByBonesRootBoneMapper.cs index 4d99423d..b09ea12e 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByBonesRootBoneMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByBonesRootBoneMapper.cs @@ -5,11 +5,15 @@ using UnityEngine; namespace TriLibCore.Mappers { - /// Represents a Mapper that looks for the Game Object which has only a Transform component and has the biggest number of children as the root bone. + /// + /// Implements a root bone selection strategy by scanning a list of bones + /// (Transform components) and choosing the one with the greatest number of child transforms. + /// This mapper is useful when the asset hierarchy does not provide a clear root bone + /// from naming conventions alone. + /// [CreateAssetMenu(menuName = "TriLib/Mappers/Root Bone/By Bones Root Bone Mapper", fileName = "ByBonesRootBoneMapper")] public class ByBonesRootBoneMapper : RootBoneMapper { - /// public override Transform Map(AssetLoaderContext assetLoaderContext, IList bones) { Transform bestBone = null; @@ -27,4 +31,4 @@ namespace TriLibCore.Mappers return bestBone; } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByBonesRootBoneMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByBonesRootBoneMapper.cs.meta index fd309ba6..10eef974 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByBonesRootBoneMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByBonesRootBoneMapper.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: 933581bf29bd450a8b453a7e3187d6aa -timeCreated: 1572015142 \ No newline at end of file +timeCreated: 1572015142 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByBonesRootBoneMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameAnimatorOverrideAnimationClipMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameAnimatorOverrideAnimationClipMapper.cs index b48d0563..deed84f5 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameAnimatorOverrideAnimationClipMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameAnimatorOverrideAnimationClipMapper.cs @@ -5,22 +5,40 @@ using UnityEngine; namespace TriLibCore.Mappers { - /// Represents a Mapper that finds Animator Override Animation Clips by name-matching. + /// + /// Implements an that maps animation clips + /// by matching their names to those defined in an Animator Override Controller. + /// This mapper uses a configurable string comparison mode and a case-insensitivity option + /// to determine if a loaded animation clip matches a key in the override controller. + /// [CreateAssetMenu(menuName = "TriLib/Mappers/Animation Clip/By Name Animator Override Animation Clip Mapper", fileName = "ByNameAnimatorOverrideAnimationClipMapper")] public class ByNameAnimatorOverrideAnimationClipMapper : AnimatorOverrideAnimationClipMapper { /// - /// String comparison mode to use on the mapping. + /// Specifies the string comparison mode for matching animation clip names + /// against the keys in the Animator Override Controller. /// + /// + /// This setting is used to compare the “left” side of the mapping (the names defined in the + /// Animator Override Controller) to the “right” side (the names of the loaded animation clips). + /// [Header("Left = Animator Override Clip Names, Right = Loaded Clip Names")] public StringComparisonMode StringComparisonMode; /// - /// Is the string comparison case insensitive? + /// Gets or sets a value indicating whether the string comparison should be case insensitive. /// public bool CaseInsensitive = true; /// + /// + /// This method iterates through each source animation clip and retrieves the list of current + /// overrides from the . For each override, if the name of + /// the key and the current animation clip match (based on the configured string comparison settings), + /// the override value is updated with the loaded animation clip. + /// After processing all clips, the updated overrides are applied to the Animator Override Controller, + /// and the base class mapping logic is executed. + /// public override AnimationClip[] MapArray(AssetLoaderContext assetLoaderContext, AnimationClip[] sourceAnimationClips) { if (AnimatorOverrideController != null) @@ -40,11 +58,10 @@ namespace TriLibCore.Mappers overrides[j] = new KeyValuePair(kvp.Key, animationClip); } } - AnimatorOverrideController.ApplyOverrides(overrides); } } return base.MapArray(assetLoaderContext, sourceAnimationClips); } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameAnimatorOverrideAnimationClipMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameAnimatorOverrideAnimationClipMapper.cs.meta index dfb1f78c..f95c4aaf 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameAnimatorOverrideAnimationClipMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameAnimatorOverrideAnimationClipMapper.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: ca2e0455013d452eab4c7af7d2476796 -timeCreated: 1572015142 \ No newline at end of file +timeCreated: 1572015142 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameAnimatorOverrideAnimationClipMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameHumanoidAvatarMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameHumanoidAvatarMapper.cs index aadc3548..837b8aa6 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameHumanoidAvatarMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameHumanoidAvatarMapper.cs @@ -1,86 +1,141 @@ using System.Collections.Generic; using TriLibCore.General; -using TriLibCore.Extensions; using UnityEngine; using HumanLimit = TriLibCore.General.HumanLimit; +using TriLibCore.Utils; namespace TriLibCore.Mappers { - /// Represents a Mapper that finds humanoid Avatar bones by name-matching. + /// + /// Implements a humanoid avatar mapping strategy by matching the names of loaded GameObjects with + /// candidate bone names specified in a bone mapping list. For each human bone defined in the mapping, the first + /// matching GameObject found in the model hierarchy is used. If a required bone is not found, a warning is issued. + /// [CreateAssetMenu(menuName = "TriLib/Mappers/Humanoid/By Name Humanoid Avatar Mapper", fileName = "ByNameHumanoidAvatarMapper")] public class ByNameHumanoidAvatarMapper : HumanoidAvatarMapper { /// - /// String comparison mode to use on the mapping. + /// Specifies the string comparison mode to use when matching loaded GameObject names + /// against candidate names defined in the bone mapping. /// + /// + /// The "left" value is the name of the loaded GameObject and the "right" value is one of the candidate names. + /// [Header("Left = Loaded GameObjects Names, Right = Names in BonesMapping.BoneNames")] public StringComparisonMode stringComparisonMode; /// - /// Is the string comparison case insensitive? + /// Indicates whether string comparisons are performed in a case-insensitive manner. /// public bool CaseInsensitive = true; /// - /// The human bone to Unity bone relationship list. + /// A list of bone mappings that define how human bones (e.g. Hips, Spine) map to possible + /// GameObject names in the imported model. /// public List BonesMapping; + /// + /// Recursively searches the transform hierarchy starting at for children whose names match + /// the specified (using the given string comparison settings). + /// All matching transforms are added to the list. + /// + /// The root transform from which to begin the search. + /// The candidate bone name to match. + /// The string comparison mode to use. + /// If set to true, comparison will be case insensitive. + /// A list to which any matching transforms are added. + private static void FindDeepChildList(Transform transform, string targetName, StringComparisonMode stringComparisonMode, bool caseInsensitive, List matches) + { + if (StringComparer.Matches(stringComparisonMode, caseInsensitive, transform.name, targetName)) + { + matches.Add(transform); + } + + for (int i = 0; i < transform.childCount; i++) + { + Transform child = transform.GetChild(i); + FindDeepChildList(child, targetName, stringComparisonMode, caseInsensitive, matches); + } + } + /// public override Dictionary Map(AssetLoaderContext assetLoaderContext) { var mapping = new Dictionary(); + var matches = new List(); for (var i = 0; i < BonesMapping.Count; i++) { var boneMapping = BonesMapping[i]; if (boneMapping.BoneNames != null) { - var found = false; + bool found = false; for (var j = 0; j < boneMapping.BoneNames.Length; j++) { + matches.Clear(); var boneName = boneMapping.BoneNames[j]; - var transform = assetLoaderContext.RootGameObject.transform.FindDeepChild(boneName, stringComparisonMode, CaseInsensitive); - if (transform == null) + FindDeepChildList(assetLoaderContext.RootGameObject.transform, boneName, stringComparisonMode, CaseInsensitive, matches); + foreach (var transform in matches) { - continue; + if (transform == null) + { + continue; + } + var model = assetLoaderContext.Models[transform.gameObject]; + if (!model.IsBone) + { + continue; + } + mapping.Add(boneMapping, transform); + found = true; + break; } - - var model = assetLoaderContext.Models[transform.gameObject]; - if (!model.IsBone) + if (found) { - continue; + break; } - - mapping.Add(boneMapping, transform); - found = true; - break; } - + // If a required bone is not found, log a warning and return an empty mapping. if (!found && !IsBoneOptional(boneMapping.HumanBone)) { if (assetLoaderContext.Options.ShowLoadingWarnings) { Debug.LogWarning($"Could not find bone '{boneMapping.HumanBone}'"); } - mapping.Clear(); return mapping; } } } - return mapping; } + /// + /// Determines whether a particular human bone is optional. + /// + /// The human bone type to check. + /// + /// true if the specified bone is not required; otherwise, false. + /// private static bool IsBoneOptional(HumanBodyBones humanBodyBones) { return !HumanTrait.RequiredBone((int)humanBodyBones); } - /// Adds a new mapping item, containing the humanoid bone type, the limits, and the list of names to look for to the query. - /// The Human Body Bones (Humanoid Bone type). - /// The bone Human Limit. - /// The bones Transform names. + /// + /// Adds a new bone mapping to the current list of mappings. This method allows dynamically + /// adding an entry that associates a specific human bone with one or more candidate transform names + /// and an optional human limit. + /// + /// + /// The human bone (as defined in ) to map. + /// + /// + /// The constraints or limits associated with this bone. + /// + /// + /// The candidate transform names to search for in the model hierarchy. + /// public void AddMapping(HumanBodyBones humanBodyBones, HumanLimit humanLimit, params string[] boneNames) { if (BonesMapping == null) @@ -90,4 +145,4 @@ namespace TriLibCore.Mappers BonesMapping.Add(new BoneMapping(humanBodyBones, humanLimit, boneNames)); } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameHumanoidAvatarMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameHumanoidAvatarMapper.cs.meta index ab9eb068..93829215 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameHumanoidAvatarMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameHumanoidAvatarMapper.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: d909fdfbc3544962bf4f49e526b1bad1 -timeCreated: 1572015142 \ No newline at end of file +timeCreated: 1572015142 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameHumanoidAvatarMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameLipSyncMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameLipSyncMapper.cs index b6d6988a..10615f5a 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameLipSyncMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameLipSyncMapper.cs @@ -5,28 +5,55 @@ using UnityEngine; namespace TriLibCore.Mappers { - /// Represents a Mapper that search Visemes by searching Blend-Shape Keys names. + /// + /// Provides a lip sync mapping strategy by searching for viseme matches in blend‐shape key names. + /// This mapper searches through candidate names specified in and compares them + /// with the names of blend‐shape keys found in the model's geometry. If a match is found (using the configured + /// string comparison options), the corresponding blend‐shape key index is returned. + /// [CreateAssetMenu(menuName = "TriLib/Mappers/LypSync/By Name Lip Sync Mapper", fileName = "ByNameLipSyncMapper")] public class ByNameLipSyncMapper : LipSyncMapper { /// - /// String comparison mode to use on the mapping. + /// Defines the string comparison mode used when matching blend‐shape key names against viseme candidate names. /// + /// + /// The "left" value in the comparison is the name of the blend‐shape key and the "right" value is the candidate name. + /// [Header("Left = Blend-Shape Key Name, Right = Viseme Name")] public StringComparisonMode StringComparisonMode; /// - /// Is the string comparison case insensitive? + /// Indicates whether string comparisons for mapping visemes should be case insensitive. /// public bool CaseInsensitive = true; /// - /// The viseme candidates. - /// A viseme candidate is a reference between visemes and valid blend-shape names for the viseme. + /// A list of viseme candidates. Each defines a viseme and a collection of + /// acceptable blend‐shape names that can be used to represent that viseme. /// public List VisemeCandidates; /// + /// + /// This method iterates over each that matches the provided . + /// For each candidate name, it compares the candidate string with the name of each blend‐shape key in the + /// using with the specified + /// and settings. If a match is found, the + /// method returns the index of the matching blend‐shape key; otherwise, it returns -1. + /// + /// + /// The containing the model loading data. + /// + /// + /// The viseme to map. + /// + /// + /// The geometry group that contains the blend‐shape keys. + /// + /// + /// The index of the blend‐shape key corresponding to the viseme if a match is found; otherwise, -1. + /// protected override int MapViseme(AssetLoaderContext assetLoaderContext, LipSyncViseme viseme, IGeometryGroup geometryGroup) { for (var i = 0; i < VisemeCandidates.Count; i++) @@ -48,7 +75,6 @@ namespace TriLibCore.Mappers } } } - return -1; } } diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameLipSyncMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameLipSyncMapper.cs.meta index 75caa78d..9a046d3b 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameLipSyncMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameLipSyncMapper.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: e814020d5db143c5b35df2deb05a174e -timeCreated: 1587677691 \ No newline at end of file +timeCreated: 1587677691 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameLipSyncMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameRootBoneMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameRootBoneMapper.cs index 92f176a8..eeec5831 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameRootBoneMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameRootBoneMapper.cs @@ -1,32 +1,42 @@ using System.Collections.Generic; using TriLibCore.General; -using TriLibCore.Interfaces; using TriLibCore.Utils; using UnityEngine; namespace TriLibCore.Mappers { - /// Represents a Mapper that searches for a root bone on the Models by the bone names. + /// + /// Implements a root bone selection strategy by searching for a matching bone name + /// within the loaded model’s hierarchy. This mapper iterates over a predefined list of + /// candidate root bone names (e.g., "Hips", "Bip01", "Pelvis") and returns the first match + /// found based on the configured string comparison settings. + /// [CreateAssetMenu(menuName = "TriLib/Mappers/Root Bone/By Name Root Bone Mapper", fileName = "ByNameRootBoneMapper")] public class ByNameRootBoneMapper : RootBoneMapper { /// - /// String comparison mode to use on the mapping. + /// Specifies the string comparison mode for matching loaded GameObject names + /// against the candidate root bone names. /// + /// + /// The "left" value is the name of the loaded GameObject and the "right" value is one of + /// the candidate names specified in . + /// [Header("Left = Loaded GameObjects Names, Right = Names in RootBoneNames")] public StringComparisonMode StringComparisonMode; /// - /// Is the string comparison case insensitive? + /// Indicates whether the string comparisons for matching root bone names should be case insensitive. /// public bool CaseInsensitive = true; /// - /// Root bone names to be searched. + /// A list of candidate root bone names to search for in the loaded model. + /// Examples might include "Hips", "Bip01", and "Pelvis". /// public string[] RootBoneNames = { "Hips", "Bip01", "Pelvis" }; - /// + /// public override Transform Map(AssetLoaderContext assetLoaderContext, IList bones) { if (RootBoneNames != null) @@ -44,6 +54,19 @@ namespace TriLibCore.Mappers return base.Map(assetLoaderContext, bones); } + /// + /// Searches through the given list of transforms for a GameObject whose name matches the provided target name. + /// + /// + /// A list of candidate transforms that may represent bones in the model. + /// + /// + /// The target name to search for. + /// + /// + /// The first whose name matches the target (using the configured string comparison), + /// or null if no match is found. + /// private Transform FindDeepChild(IList transforms, string right) { for (var i = 0; i < transforms.Count; i++) @@ -54,8 +77,7 @@ namespace TriLibCore.Mappers return transform; } } - return null; } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameRootBoneMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameRootBoneMapper.cs.meta index 20438509..715077d8 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameRootBoneMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameRootBoneMapper.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: 7a26f1958e7e40f6ba70d20fb7603219 -timeCreated: 1572015142 \ No newline at end of file +timeCreated: 1572015142 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ByNameRootBoneMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/LipSyncMapping.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/LipSyncMapping.cs.meta index ac01af27..b82e8262 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/LipSyncMapping.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/LipSyncMapping.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: a708b397799c4804adea16736aa7fa2e -timeCreated: 1587677577 \ No newline at end of file +timeCreated: 1587677577 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/LipSyncMapping.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/PerFilenameTextureMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/PerFilenameTextureMapper.cs index 45d0d513..3246f553 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/PerFilenameTextureMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/PerFilenameTextureMapper.cs @@ -1,23 +1,45 @@ using System.IO; using TriLibCore.Utils; +using UnityEngine; namespace TriLibCore.Mappers { /// - /// Represents a Texture Mapper that tries to find Textures with the same name as the input Model in the input path. + /// Provides a texture mapping strategy which attempts to locate an external texture file + /// whose name matches the filename of the source model. The search is performed in the directory + /// where the model file is located. /// + [CreateAssetMenu(menuName = "TriLib/Mappers/Texture/Per Filename Texture Mapper")] public class PerFilenameTextureMapper : TextureMapper { + /// + /// Attempts to locate and open a data stream for a texture by matching the model file's short filename + /// with the short filenames of files found in the same directory. + /// + /// + /// The containing the TriLib texture information, including the + /// model filename (via ) and the output stream. + /// + /// + /// + /// If the model filename is null or the directory does not exist, the method exits immediately. + /// Otherwise, it retrieves all files in the directory and uses + /// to filter for valid texture file types. For each valid file, the mapper compares its short filename + /// (converted to lower-case) with the model file's short filename (also in lower-case). + /// When a match is found, it opens the file stream and assigns it to the texture loading context. + /// + /// public override void Map(TextureLoadingContext textureLoadingContext) { if (textureLoadingContext.Context.Filename == null) { return; } + var directory = FileUtils.GetFileDirectory(textureLoadingContext.Context.Filename); if (Directory.Exists(directory)) { - var modelShortFilename = FileUtils.GetShortFilename(textureLoadingContext.Context.Filename).ToLowerInvariant(); + var modelShortFilename = FileUtils.GetShortFilename(textureLoadingContext.Context.Filename).Trim().ToLowerInvariant(); var files = Directory.GetFiles(directory); foreach (var file in files) { @@ -25,8 +47,9 @@ namespace TriLibCore.Mappers { continue; } - var shortFilename = FileUtils.GetShortFilename(file).ToLowerInvariant(); - if (modelShortFilename == shortFilename) + + var shortFilename = FileUtils.GetShortFilename(file).Trim().ToLowerInvariant(); + if (modelShortFilename == shortFilename) { textureLoadingContext.Stream = File.OpenRead(file); return; @@ -35,4 +58,4 @@ namespace TriLibCore.Mappers } } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/PerFilenameTextureMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/PerFilenameTextureMapper.cs.meta index 8d1bd20a..52fd527d 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/PerFilenameTextureMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/PerFilenameTextureMapper.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/PerFilenameTextureMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/SimpleAnimationPlayerAnimationClipMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/SimpleAnimationPlayerAnimationClipMapper.cs index 724e95d5..e2381e87 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/SimpleAnimationPlayerAnimationClipMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/SimpleAnimationPlayerAnimationClipMapper.cs @@ -4,14 +4,20 @@ using UnityEngine; namespace TriLibCore.Mappers { - /// Represents a Mapper that creates a Simple Animation Player used to play Animation Clips by their index or name. + /// + /// Implements an that creates a + /// for playing animation clips by index or name. When the animation type is set to Generic or Humanoid, + /// and at least one animation clip is available, this mapper adds a to + /// the model's root GameObject and assigns the animation clips to it. + /// [CreateAssetMenu(menuName = "TriLib/Mappers/Animation Clip/Simple Animation Player Animation Clip Mapper", fileName = "SimpleAnimationPlayerAnimationClipMapper")] public class SimpleAnimationPlayerAnimationClipMapper : AnimationClipMapper { - /// + /// public override AnimationClip[] MapArray(AssetLoaderContext assetLoaderContext, AnimationClip[] sourceAnimationClips) { - if ((assetLoaderContext.Options.AnimationType == AnimationType.Generic || assetLoaderContext.Options.AnimationType == AnimationType.Humanoid) && sourceAnimationClips.Length > 0) + if ((assetLoaderContext.Options.AnimationType == AnimationType.Generic || + assetLoaderContext.Options.AnimationType == AnimationType.Humanoid) && sourceAnimationClips.Length > 0) { var simpleAnimationPlayer = assetLoaderContext.RootGameObject.AddComponent(); simpleAnimationPlayer.AnimationClips = sourceAnimationClips; @@ -20,4 +26,4 @@ namespace TriLibCore.Mappers return sourceAnimationClips; } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/SimpleAnimationPlayerAnimationClipMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/SimpleAnimationPlayerAnimationClipMapper.cs.meta index a93c46dd..1a6e33a5 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/SimpleAnimationPlayerAnimationClipMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/SimpleAnimationPlayerAnimationClipMapper.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: 2e5a628125c14581a6bb1e1bdbef89f9 -timeCreated: 1589139899 \ No newline at end of file +timeCreated: 1589139899 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/SimpleAnimationPlayerAnimationClipMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/StandardMaterialMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/StandardMaterialMapper.cs index 443c85db..db9b0958 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/StandardMaterialMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/StandardMaterialMapper.cs @@ -5,27 +5,34 @@ using UnityEngine; namespace TriLibCore.Mappers { - /// Represents a Material Mapper that converts TriLib Materials into Unity Standard Materials. + /// + /// Converts TriLib virtual materials into Unity Standard materials. This mapper is designed + /// to work with the Unity Standard shader and processes texture maps and various material properties + /// (e.g., diffuse, glossiness, metallic, emission, normal, occlusion, and displacement) using an asynchronous + /// coroutine pipeline. + /// [Serializable] [CreateAssetMenu(menuName = "TriLib/Mappers/Material/Standard Material Mapper", fileName = "StandardMaterialMapper")] public class StandardMaterialMapper : MaterialMapper { - private bool _isCompatible; + public bool ForceShaderVariantCollection; + + public override bool UseShaderVariantCollection => ForceShaderVariantCollection; #region Standard - public override Material MaterialPreset => Resources.Load("Materials/Standard/TriLibStandard"); + public override Material MaterialPreset => Resources.Load("Materials/Standard/Standard/TriLibStandard"); - public override Material CutoutMaterialPreset => Resources.Load("Materials/Standard/TriLibStandardAlphaCutout"); + public override Material CutoutMaterialPreset => Resources.Load("Materials/Standard/Standard/TriLibStandardAlphaCutout"); - public override Material TransparentComposeMaterialPreset => Resources.Load("Materials/Standard/TriLibStandardAlphaCompose"); + public override Material TransparentComposeMaterialPreset => Resources.Load("Materials/Standard/Standard/TriLibStandardAlphaCompose"); - public override Material TransparentMaterialPreset => Resources.Load("Materials/Standard/TriLibStandardAlpha"); + public override Material TransparentMaterialPreset => Resources.Load("Materials/Standard/Standard/TriLibStandardAlpha"); - public override Material MaterialPresetNoMetallicTexture => Resources.Load("Materials/Standard/TriLibStandardNoMetallicTexture"); + public override Material MaterialPresetNoMetallicTexture => Resources.Load("Materials/Standard/Standard/TriLibStandardNoMetallicTexture"); - public override Material CutoutMaterialPresetNoMetallicTexture => Resources.Load("Materials/Standard/TriLibStandardAlphaCutoutNoMetallicTexture"); + public override Material CutoutMaterialPresetNoMetallicTexture => Resources.Load("Materials/Standard/Standard/TriLibStandardAlphaCutoutNoMetallicTexture"); - public override Material TransparentMaterialPresetNoMetallicTexture => Resources.Load("Materials/Standard/TriLibStandardAlphaNoMetallicTexture"); + public override Material TransparentMaterialPresetNoMetallicTexture => Resources.Load("Materials/Standard/Standard/TriLibStandardAlphaNoMetallicTexture"); public override Material TransparentComposeMaterialPresetNoMetallicTexture => TransparentComposeMaterialPreset; #endregion @@ -42,16 +49,11 @@ namespace TriLibCore.Mappers public override bool IsCompatible(MaterialMapperContext materialMapperContext) { - return _isCompatible; + return TriLibSettings.GetBool("StandardMaterialMapper", false); } public override bool UsesCoroutines => true; - private void Awake() - { - _isCompatible = TriLibSettings.GetBool("StandardMaterialMapper"); - } - public override IEnumerable MapCoroutine(MaterialMapperContext materialMapperContext) { materialMapperContext.VirtualMaterial = new VirtualMaterial(); @@ -104,11 +106,17 @@ namespace TriLibCore.Mappers { yield return item; } - + if (materialMapperContext.Context.Options.LoadDisplacementTextures) + { + foreach (var item in CheckDisplacementTexture(materialMapperContext)) + { + yield return item; + } + } BuildMaterial(materialMapperContext); } - private IEnumerable CheckDiffuseMapTexture(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckDiffuseMapTexture(MaterialMapperContext materialMapperContext) { var diffuseTexturePropertyName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.DiffuseMap); var textureValue = materialMapperContext.Material.GetTextureValue(diffuseTexturePropertyName); @@ -118,7 +126,7 @@ namespace TriLibCore.Mappers } } - private IEnumerable ApplyDiffuseMapTexture(TextureLoadingContext textureLoadingContext) + protected virtual IEnumerable ApplyDiffuseMapTexture(TextureLoadingContext textureLoadingContext) { if (textureLoadingContext.UnityTexture != null) { @@ -128,22 +136,22 @@ namespace TriLibCore.Mappers yield break; } - private IEnumerable CheckGlossinessValue(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckGlossinessValue(MaterialMapperContext materialMapperContext) { - var value = materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.Glossiness, materialMapperContext); + var value = materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.GlossinessOrRoughness, materialMapperContext); materialMapperContext.VirtualMaterial.SetProperty("_Glossiness", value); materialMapperContext.VirtualMaterial.SetProperty("_GlossMapScale", value); yield break; } - private IEnumerable CheckMetallicValue(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckMetallicValue(MaterialMapperContext materialMapperContext) { var value = materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.Metallic, materialMapperContext); materialMapperContext.VirtualMaterial.SetProperty("_Metallic", value); yield break; } - private IEnumerable CheckEmissionMapTexture(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckEmissionMapTexture(MaterialMapperContext materialMapperContext) { var emissionTexturePropertyName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.EmissionMap); var textureValue = materialMapperContext.Material.GetTextureValue(emissionTexturePropertyName); @@ -153,7 +161,7 @@ namespace TriLibCore.Mappers } } - private IEnumerable ApplyEmissionMapTexture(TextureLoadingContext textureLoadingContext) + protected virtual IEnumerable ApplyEmissionMapTexture(TextureLoadingContext textureLoadingContext) { if (textureLoadingContext.UnityTexture == null && textureLoadingContext.MaterialMapperContext.VirtualMaterial.HasEmissionColor) { @@ -177,7 +185,7 @@ namespace TriLibCore.Mappers yield break; } - private IEnumerable CheckNormalMapTexture(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckNormalMapTexture(MaterialMapperContext materialMapperContext) { var normalMapTexturePropertyName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.NormalMap); var textureValue = materialMapperContext.Material.GetTextureValue(normalMapTexturePropertyName); @@ -187,7 +195,7 @@ namespace TriLibCore.Mappers } } - private IEnumerable ApplyNormalMapTexture(TextureLoadingContext textureLoadingContext) + protected virtual IEnumerable ApplyNormalMapTexture(TextureLoadingContext textureLoadingContext) { if (textureLoadingContext.UnityTexture != null) { @@ -197,7 +205,16 @@ namespace TriLibCore.Mappers if (textureLoadingContext.UnityTexture != null) { textureLoadingContext.MaterialMapperContext.VirtualMaterial.EnableKeyword("_NORMALMAP"); - textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_NormalScale", 1f); + var normalStrengthPropertyName = textureLoadingContext.MaterialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.NormalStrength); + if (textureLoadingContext.MaterialMapperContext.Material.HasProperty(normalStrengthPropertyName)) + { + var normalStrength = textureLoadingContext.MaterialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.NormalStrength, textureLoadingContext.MaterialMapperContext); + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_BumpScale", normalStrength); + } + else + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_BumpScale", 1f); + } } else { @@ -206,7 +223,7 @@ namespace TriLibCore.Mappers yield break; } - private IEnumerable CheckTransparencyMapTexture(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckTransparencyMapTexture(MaterialMapperContext materialMapperContext) { materialMapperContext.VirtualMaterial.HasAlpha |= materialMapperContext.Material.UsesAlpha; var transparencyTexturePropertyName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.TransparencyMap); @@ -217,7 +234,7 @@ namespace TriLibCore.Mappers } } - private IEnumerable CheckSpecularMapTexture(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckSpecularMapTexture(MaterialMapperContext materialMapperContext) { var specularTexturePropertyName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.SpecularMap); var textureValue = materialMapperContext.Material.GetTextureValue(specularTexturePropertyName); @@ -227,7 +244,7 @@ namespace TriLibCore.Mappers } } - private IEnumerable CheckOcclusionMapTexture(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckOcclusionMapTexture(MaterialMapperContext materialMapperContext) { var occlusionMapTextureName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.OcclusionMap); var textureValue = materialMapperContext.Material.GetTextureValue(occlusionMapTextureName); @@ -237,7 +254,7 @@ namespace TriLibCore.Mappers } } - private IEnumerable ApplyOcclusionMapTexture(TextureLoadingContext textureLoadingContext) + protected virtual IEnumerable ApplyOcclusionMapTexture(TextureLoadingContext textureLoadingContext) { if (textureLoadingContext.Texture != null) { @@ -255,17 +272,17 @@ namespace TriLibCore.Mappers yield break; } - private IEnumerable CheckGlossinessMapTexture(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckGlossinessMapTexture(MaterialMapperContext materialMapperContext) { var auxiliaryMapTextureName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.GlossinessOrRoughnessMap); var textureValue = materialMapperContext.Material.GetTextureValue(auxiliaryMapTextureName); - foreach (var item in LoadTextureWithCoroutineCallbacks(materialMapperContext, TextureType.GlossinessOrRoughness, textureValue, CheckTextureOffsetAndScalingCoroutine)) + foreach (var item in LoadTextureWithCoroutineCallbacks(materialMapperContext, TextureType.GlossinessOrRoughness, textureValue, CheckTextureOffsetAndScalingCoroutine, ApplyGlossinessMapTexture)) { yield return item; } } - private IEnumerable CheckMetallicGlossMapTexture(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckMetallicGlossMapTexture(MaterialMapperContext materialMapperContext) { var metallicGlossMapTextureName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.MetallicMap); var textureValue = materialMapperContext.Material.GetTextureValue(metallicGlossMapTextureName); @@ -275,7 +292,22 @@ namespace TriLibCore.Mappers } } - private IEnumerable ApplyMetallicGlossMapTexture(TextureLoadingContext textureLoadingContext) + protected virtual IEnumerable CheckDisplacementTexture(MaterialMapperContext materialMapperContext) + { + var displacementMapTextureName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.DisplacementMap); + var textureValue = materialMapperContext.Material.GetTextureValue(displacementMapTextureName); + foreach (var item in LoadTextureWithCoroutineCallbacks(materialMapperContext, TextureType.Displacement, textureValue, CheckTextureOffsetAndScalingCoroutine, ApplyDisplacementTexture)) + { + yield return item; + } + } + + protected virtual IEnumerable ApplyGlossinessMapTexture(TextureLoadingContext textureLoadingContext) + { + yield break; + } + + protected virtual IEnumerable ApplyMetallicGlossMapTexture(TextureLoadingContext textureLoadingContext) { if (textureLoadingContext.UnityTexture != null) { @@ -293,7 +325,35 @@ namespace TriLibCore.Mappers yield break; } - private IEnumerable CheckEmissionColor(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable ApplyDisplacementTexture(TextureLoadingContext textureLoadingContext) + { + if (textureLoadingContext.UnityTexture != null) + { + textureLoadingContext.Context.AddUsedTexture(textureLoadingContext.UnityTexture); + } + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_ParallaxMap", textureLoadingContext.UnityTexture, GenericMaterialProperty.DisplacementMap); + if (textureLoadingContext.UnityTexture != null) + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.EnableKeyword("_PARALLAXMAP"); + var displacementStrengthPropertyName = textureLoadingContext.MaterialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.DisplacementStrength); + if (textureLoadingContext.MaterialMapperContext.Material.HasProperty(displacementStrengthPropertyName)) + { + var normalStrength = textureLoadingContext.MaterialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.DisplacementStrength, textureLoadingContext.MaterialMapperContext); + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_Parallax", normalStrength); + } + else + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_Parallax", 0f); + } + } + else + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.DisableKeyword("_PARALLAXMAP"); + } + yield break; + } + + protected virtual IEnumerable CheckEmissionColor(MaterialMapperContext materialMapperContext) { var value = materialMapperContext.Material.GetGenericColorValueMultiplied(GenericMaterialProperty.EmissionColor, materialMapperContext); materialMapperContext.VirtualMaterial.SetProperty("_EmissionColor", materialMapperContext.Context.Options.ApplyGammaCurveToMaterialColors ? value.gamma : value); @@ -312,7 +372,7 @@ namespace TriLibCore.Mappers yield break; } - private IEnumerable CheckDiffuseColor(MaterialMapperContext materialMapperContext) + protected virtual IEnumerable CheckDiffuseColor(MaterialMapperContext materialMapperContext) { var value = materialMapperContext.Material.GetGenericColorValueMultiplied(GenericMaterialProperty.DiffuseColor, materialMapperContext); value.a *= materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.AlphaValue); diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/StandardMaterialMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/StandardMaterialMapper.cs.meta index d0f3b820..5718f215 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/StandardMaterialMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/StandardMaterialMapper.cs.meta @@ -10,3 +10,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/StandardMaterialMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileExternalDataMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileExternalDataMapper.cs index a5cd4117..2d974a23 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileExternalDataMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileExternalDataMapper.cs @@ -1,12 +1,18 @@ using System; -using System.Collections.Generic; using System.IO; using ICSharpCode.SharpZipLib.Zip; using TriLibCore.Utils; +using UnityEngine; namespace TriLibCore.Mappers { - /// Represents a Mapper class used to load external data from Zip files. + /// + /// Provides an external data mapping strategy for extracting data from Zip files. + /// This mapper searches through the entries of a Zip file (provided via custom context data) + /// for an entry whose short filename matches the specified . + /// If a match is found, it opens a stream for that Zip entry. + /// + [CreateAssetMenu(menuName = "TriLib/Mappers/External Data/Zip File External Data Mapper")] public class ZipFileExternalDataMapper : ExternalDataMapper { /// @@ -15,21 +21,24 @@ namespace TriLibCore.Mappers var zipLoadCustomContextData = CustomDataHelper.GetCustomData(assetLoaderContext.CustomData); if (zipLoadCustomContextData == null) { - throw new Exception("Missing custom context data."); + finalPath = null; + return null; } + var zipFile = zipLoadCustomContextData.ZipFile; if (zipFile == null) { throw new Exception("Zip file instance is null."); } - var shortFileName = FileUtils.GetShortFilename(originalFilename).ToLowerInvariant(); + + var shortFileName = FileUtils.GetShortFilename(originalFilename).Trim().ToLowerInvariant(); foreach (ZipEntry zipEntry in zipFile) { if (!zipEntry.IsFile) { continue; } - var checkingFileShortName = FileUtils.GetShortFilename(zipEntry.Name).ToLowerInvariant(); + var checkingFileShortName = FileUtils.GetShortFilename(zipEntry.Name).Trim().ToLowerInvariant(); if (shortFileName == checkingFileShortName) { finalPath = zipFile.Name; @@ -41,4 +50,4 @@ namespace TriLibCore.Mappers return null; } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileExternalDataMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileExternalDataMapper.cs.meta index 5697ba11..083fa185 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileExternalDataMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileExternalDataMapper.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: efe86a6b6b324cf8ae85c0fc97b3eb61 -timeCreated: 1574535973 \ No newline at end of file +timeCreated: 1574535973 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileExternalDataMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileTextureMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileTextureMapper.cs index 1becb951..9d16ac4e 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileTextureMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileTextureMapper.cs @@ -4,10 +4,17 @@ using System; using ICSharpCode.SharpZipLib.Zip; using TriLibCore.General; using TriLibCore.Utils; +using UnityEngine; namespace TriLibCore.Mappers { - /// Represents a Mapper used to load Textures from Zip files. + /// + /// Provides a texture mapping strategy for extracting texture data from Zip files. + /// This mapper retrieves a Zip file from the custom context data and iterates through its entries, + /// comparing their names to the texture's filename. If a matching file is found, its stream is opened + /// and assigned to the texture loading context. + /// + [CreateAssetMenu(menuName = "TriLib/Mappers/Texture/Zip File Texture Mapper")] public class ZipFileTextureMapper : TextureMapper { /// @@ -16,7 +23,7 @@ namespace TriLibCore.Mappers var zipLoadCustomContextData = CustomDataHelper.GetCustomData(textureLoadingContext.Context.CustomData); if (zipLoadCustomContextData == null) { - throw new Exception("Missing custom context data."); + return; } var zipFile = zipLoadCustomContextData.ZipFile; if (zipFile == null) @@ -27,23 +34,26 @@ namespace TriLibCore.Mappers { if (textureLoadingContext.Context.Options.ShowLoadingWarnings) { - UnityEngine.Debug.LogWarning("Texture name is null."); + Debug.LogWarning("Texture name is null."); } return; } - var modelFilenameWithoutExtension = FileUtils.GetFilenameWithoutExtension(zipLoadCustomContextData.ZipEntry.Name).ToLowerInvariant(); - var textureShortName = FileUtils.GetShortFilename(textureLoadingContext.Texture.Filename).ToLowerInvariant(); + // Get the file name (without extension) from the zip entry used for the model + var modelFilenameWithoutExtension = FileUtils.GetFilenameWithoutExtension(zipLoadCustomContextData.ZipEntry.Name).Trim().ToLowerInvariant(); + // Get the short filename for the texture + var textureShortName = FileUtils.GetShortFilename(textureLoadingContext.Texture.Filename).Trim().ToLowerInvariant(); + foreach (ZipEntry zipEntry in zipFile) { if (!zipEntry.IsFile) { continue; } - var checkingFileShortName = FileUtils.GetShortFilename(zipEntry.Name).ToLowerInvariant(); - var checkingFilenameWithoutExtension = FileUtils.GetFilenameWithoutExtension(zipEntry.Name).ToLowerInvariant(); - if ( - TextureUtils.IsValidTextureFileType(checkingFileShortName) && - textureLoadingContext.TextureType == TextureType.Diffuse && modelFilenameWithoutExtension == checkingFilenameWithoutExtension + var checkingFileShortName = FileUtils.GetShortFilename(zipEntry.Name).Trim().ToLowerInvariant(); + var checkingFilenameWithoutExtension = FileUtils.GetFilenameWithoutExtension(zipEntry.Name).Trim().ToLowerInvariant(); + if ((TextureUtils.IsValidTextureFileType(checkingFileShortName) && + textureLoadingContext.TextureType == TextureType.Diffuse && + modelFilenameWithoutExtension == checkingFilenameWithoutExtension) || textureShortName == checkingFileShortName) { textureLoadingContext.Stream = AssetLoaderZip.ZipFileEntryToStream(out _, zipEntry, zipFile); @@ -51,4 +61,4 @@ namespace TriLibCore.Mappers } } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileTextureMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileTextureMapper.cs.meta index 1321628a..91e55e31 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileTextureMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileTextureMapper.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: bc6141d9103b40f4b62239f376e26733 -timeCreated: 1574550601 \ No newline at end of file +timeCreated: 1574550601 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Mappers/ZipFileTextureMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/AssetUnloader.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/AssetUnloader.cs index 7574c8d5..cd06366d 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/AssetUnloader.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/AssetUnloader.cs @@ -1,16 +1,31 @@ using System.Collections.Generic; using UnityEngine; + namespace TriLibCore { - /// Represents a Class to destroy every Asset (Textures, Materials, Meshes) loaded by TriLib for this GameObject. - public class AssetUnloader : UnityEngine.MonoBehaviour + /// + /// Manages the destruction and cleanup of TriLib-loaded assets (e.g., , + /// , ) associated with a particular . + /// This component records references to loaded assets in and + /// destroys them when the is destroyed. + /// + public class AssetUnloader : MonoBehaviour { /// - /// Assets Allocation List. + /// A list of loaded Unity assets (e.g., meshes, materials, textures) for deallocation. + /// When this component is destroyed, each allocated asset in this list is also destroyed. /// public List Allocations; - /// The Asset Unloader unique identifier. + /// + /// The unique identifier for this instance. Setting this property + /// automatically registers the instance within a global dictionary to track usage counts. + /// + /// + /// Each time the Id is set, is called, incrementing or initializing + /// the usage count for that ID. If multiple instances share the same ID, + /// their references will be counted together until all instances are destroyed. + /// public int Id { get => _id; @@ -22,27 +37,45 @@ namespace TriLibCore } /// - /// Custom data used to load the model. + /// Custom user data that can be used to store information relevant to the loading process + /// (e.g., file paths, metadata, or other contextual objects). /// public object CustomData; + /// + /// Stores the unique ID for this unloader instance. + /// See for public access. + /// [SerializeField] [HideInInspector] private int _id; + /// + /// An integer that increments each time is called, + /// used to supply new, unique IDs for instances. + /// private static int _lastId; + /// + /// A dictionary that tracks how many instances share the same ID. + /// The key is the unloader ID, and the value is a usage count. + /// When the count goes to zero, all assets for that ID are destroyed and removed from tracking. + /// private static readonly Dictionary AssetUnloaders = new Dictionary(); - /// Gets the next allocation Identifier. - /// The Allocation Identifier. + /// + /// Returns a fresh allocation identifier, incrementing the internal counter + /// to ensure uniqueness for each . + /// + /// A new, unused allocation identifier. public static int GetNextId() { return _lastId++; } /// - /// Returns whether there is any AssetUnloader instance active. + /// Indicates whether any instances are registered globally. + /// If true, at least one is currently active in the scene. /// public static bool HasRegisteredUnloaders { @@ -52,6 +85,10 @@ namespace TriLibCore } } + /// + /// Registers or increments the usage count for this unloader’s + /// within the global dictionary. + /// private void Register() { if (!AssetUnloaders.ContainsKey(_id)) @@ -64,28 +101,36 @@ namespace TriLibCore } } + /// + /// Automatically registers this when the containing + /// is initialized, incrementing the usage count if needed. + /// private void Start() { Register(); } + /// + /// Invoked when the is destroyed. Decrements the usage count + /// for the associated in . If the usage + /// count reaches zero, all recorded assets in are destroyed + /// before removing the ID from tracking. + /// private void OnDestroy() { if (AssetUnloaders.TryGetValue(_id, out var value)) { if (--value <= 0) { + // Destroy all recorded assets for (var i = 0; i < Allocations.Count; i++) { var allocation = Allocations[i]; - if (allocation == null) + if (allocation != null) { - continue; + Destroy(allocation); } - - Destroy(allocation); } - AssetUnloaders.Remove(_id); } else diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/AssetUnloader.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/AssetUnloader.cs.meta index 66434ecc..0d9a2606 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/AssetUnloader.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/AssetUnloader.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/AssetUnloader.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/RuntimeInitialization.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/RuntimeInitialization.cs index ecc34ef6..9db542c2 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/RuntimeInitialization.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/RuntimeInitialization.cs @@ -4,7 +4,7 @@ using UnityEngine; namespace TriLibCore { /// - /// Represents a class to initialize runtime components. + /// TriLib initialization methods. /// public class RuntimeInitialization : MonoBehaviour { diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/RuntimeInitialization.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/RuntimeInitialization.cs.meta index 3cec5084..20814ec0 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/RuntimeInitialization.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/RuntimeInitialization.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/RuntimeInitialization.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibReaders.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibReaders.cs.meta index 6d87f4e7..98c99fbb 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibReaders.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibReaders.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: efee320f540447a4b62b15477c5a30d4 -timeCreated: 1573057214 \ No newline at end of file +timeCreated: 1573057214 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibReaders.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibSettings.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibSettings.cs index 1dc547ab..b3fe3ca0 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibSettings.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibSettings.cs @@ -27,18 +27,25 @@ namespace TriLibCore [HideInInspector] private int _settingsCount; - private static TriLibSettings GetTriLibPreferences() + private static TriLibSettings GetTriLibPreferences(bool createPreferences = true) { var preferencesFiles = Resources.LoadAll("TriLibSettings"); TriLibSettings triLibSettings; if (preferencesFiles.Length == 0) { #if UNITY_EDITOR - var triLibDirectories = AssetDatabase.FindAssets("TriLibMainFolderPlaceholder"); - var triLibDirectory = triLibDirectories.Length > 0 ? FileUtils.GetFileDirectory(AssetDatabase.GUIDToAssetPath(triLibDirectories[0])) : ""; - triLibSettings = CreateInstance(); - AssetDatabase.CreateAsset(triLibSettings, $"{triLibDirectory}/TriLibSettings.asset"); - AssetDatabase.SaveAssets(); + if (createPreferences) + { + var triLibDirectories = AssetDatabase.FindAssets("TriLibMainFolderPlaceholder"); + var triLibDirectory = triLibDirectories.Length > 0 ? FileUtils.GetFileDirectory(AssetDatabase.GUIDToAssetPath(triLibDirectories[0])) : ""; + triLibSettings = CreateInstance(); + AssetDatabase.CreateAsset(triLibSettings, $"{triLibDirectory}/TriLibSettings.asset"); + AssetDatabase.SaveAssets(); + } + else + { + return null; + } #else throw new Exception("Could not find TriLib preferences file."); #endif @@ -50,7 +57,7 @@ namespace TriLibCore Debug.LogWarning("There is more than one TriLibSettings asset, and there is only one allowed per project."); } triLibSettings = preferencesFiles[0]; - } + } return triLibSettings; } @@ -59,9 +66,13 @@ namespace TriLibCore return _boolPreferences.GetEnumerator(); } - public static bool GetBool(string key) + public static bool GetBool(string key, bool createPreferences = true) { - var triLibPreferences = GetTriLibPreferences(); + var triLibPreferences = GetTriLibPreferences(createPreferences); + if (triLibPreferences == null) + { + return false; + } if (triLibPreferences._boolPreferences == null || !triLibPreferences._boolPreferences.TryGetValue(key, out var value)) { return false; @@ -69,9 +80,13 @@ namespace TriLibCore return value; } - public static void SetBool(string key, bool value) + public static void SetBool(string key, bool value, bool createPreferences = true) { - var triLibPreferences = GetTriLibPreferences(); + var triLibPreferences = GetTriLibPreferences(createPreferences); + if (triLibPreferences == null) + { + return; + } if (triLibPreferences._boolPreferences == null) { triLibPreferences._boolPreferences = new Dictionary(); diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibSettings.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibSettings.cs.meta index c84bd2a8..a1218a0d 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibSettings.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibSettings.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Misc/TriLibSettings.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Playables/SimpleAnimationPlayer.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Playables/SimpleAnimationPlayer.cs index 40f9b26d..42555ef1 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Playables/SimpleAnimationPlayer.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Playables/SimpleAnimationPlayer.cs @@ -6,8 +6,8 @@ using UnityEngine.Playables; namespace TriLibCore.Playables { - /// Represents a Playable used to play Animations from its Animation Clip List using names or indices as parameters. - public class SimpleAnimationPlayer : UnityEngine.MonoBehaviour + /// This is a Playable used to play Animations from its Animation Clip List using names or indices as parameters. + public class SimpleAnimationPlayer : MonoBehaviour { /// /// Source animation clips. diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Playables/SimpleAnimationPlayer.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Playables/SimpleAnimationPlayer.cs.meta index eb8ed956..70ec43d2 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Playables/SimpleAnimationPlayer.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Playables/SimpleAnimationPlayer.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Playables/SimpleAnimationPlayer.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/PointRenderer.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/PointRenderer.meta new file mode 100644 index 00000000..4d77a3e6 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/PointRenderer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b22e1d5f22bab9e4998104fab82ff661 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/PointRenderer/PointRenderer.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/PointRenderer/PointRenderer.cs new file mode 100644 index 00000000..ff3864a4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/PointRenderer/PointRenderer.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.UI; + +namespace TriLibCore.Extras +{ + /// + /// Renders point clouds using a custom shader and generated textures. This component is designed to + /// work on all Unity platforms. It creates textures from the mesh’s vertex colors and positions and + /// uses them to render the point cloud via a custom material. + /// + public class PointRenderer : MonoBehaviour + { + /// + /// The size of each rendered point in world units. + /// + public float PointSize = 0.01f; + + /// + /// The texture that stores the colors of the mesh vertices. + /// + private Texture2D _colorTexture; + + /// + /// The texture that stores the positions of the mesh vertices as Vector4 values. + /// + private Texture2D _positionTexture; + + /// + /// Gets the material used to render the point cloud. + /// + public Material Material { get; private set; } + + /// + /// Gets the generated mesh that is used to draw the point cloud. This mesh is required to simulate + /// DrawProceduralNow because WebGL does not support the SV_VertexID semantic. + /// + public Mesh Mesh { get; private set; } + + /// + /// Initializes the point renderer with the given mesh data. This method creates two textures from the + /// mesh (one for vertex colors and one for vertex positions), configures the rendering material, and + /// creates a compatible mesh for rendering the point cloud. + /// + /// + /// The source mesh whose vertex data (positions and colors) will be used to render the point cloud. + /// + /// + /// Thrown if the provided is null. + /// + public void Initialize(Mesh mesh) + { + if (mesh == null) + { + throw new ArgumentNullException(nameof(mesh)); + } + + // Compute texture resolution based on the number of vertices. + var textureResolution = Mathf.CeilToInt(Mathf.Sqrt(mesh.vertexCount)); + + // Create the color texture with RGBA32 format. + _colorTexture = new Texture2D(textureResolution, textureResolution, TextureFormat.RGBA32, false); + var colorData = _colorTexture.GetRawTextureData(); + + // Create the position texture with RGBAFloat format. + _positionTexture = new Texture2D(textureResolution, textureResolution, TextureFormat.RGBAFloat, false); + var positionData = _positionTexture.GetRawTextureData(); + + // Retrieve vertices and colors from the mesh. + var vertices = mesh.vertices; + var colors = mesh.colors32; + if (colors.Length < vertices.Length) + { + // Generate default white color if no colors are provided. + colors = new Color32[vertices.Length]; + for (var i = 0; i < colors.Length; i++) + { + colors[i] = new Color32(255, 255, 255, 255); + } + } + + // Copy vertex colors and positions to the textures. + for (var i = 0; i < mesh.vertexCount; i++) + { + colorData[i] = colors[i]; + positionData[i] = vertices[i]; + } + + // Apply the texture changes and mark them as non-readable. + _colorTexture.Apply(false, true); + _positionTexture.Apply(false, true); + + // Create the material using a hidden shader for point rendering. + Material = new Material(Shader.Find("Hidden/TriLib/PointRenderer")); + Material.SetTexture("_ColorTex", _colorTexture); + Material.SetTexture("_PositionTex", _positionTexture); + Material.SetInt("_TextureResolution", textureResolution); + + // Create a mesh suitable for point cloud rendering using quads. + Mesh = CreateCompatibleMesh(MeshTopology.Quads, mesh.vertexCount * 4); + } + + /// + /// Creates a new mesh that simulates procedural drawing. + /// This is necessary to workaround the lack of SV_VertexID semantic in WebGL. + /// + /// + /// The mesh topology (e.g., Triangles, Quads, Lines) for the generated mesh. + /// + /// + /// The total number of vertices for the created mesh. + /// + /// + /// A new that uses the specified topology and vertex count. + /// + /// + /// Thrown if the specified is not supported. + /// + private static Mesh CreateCompatibleMesh(MeshTopology meshTopology, int vertexCount) + { + var mesh = new Mesh(); + mesh.subMeshCount = 1; + // Use 32-bit indices if necessary. + mesh.indexFormat = vertexCount > ushort.MaxValue ? IndexFormat.UInt32 : IndexFormat.UInt16; + mesh.vertices = new Vector3[vertexCount]; + var uv = new Vector2[vertexCount]; + // Initialize the UVs with dummy values. + for (var i = 0; i < vertexCount; i++) + { + uv[i] = new Vector2(i, 0); + } + mesh.uv = uv; + var indices = new List(vertexCount); + switch (meshTopology) + { + case MeshTopology.Triangles: + for (var i = 0; i < vertexCount; i += 3) + { + indices.Add(i + 0); + indices.Add(i + 1); + indices.Add(i + 2); + } + break; + case MeshTopology.Quads: + for (var i = 0; i < vertexCount; i += 4) + { + indices.Add(i + 0); + indices.Add(i + 1); + indices.Add(i + 2); + indices.Add(i + 3); + } + break; + case MeshTopology.Lines: + for (var i = 0; i < vertexCount; i += 2) + { + indices.Add(i + 0); + indices.Add(i + 1); + } + break; + case MeshTopology.LineStrip: + case MeshTopology.Points: + for (var i = 0; i < vertexCount; i++) + { + indices.Add(i); + } + break; + default: + throw new ArgumentOutOfRangeException(nameof(meshTopology), meshTopology, null); + } + mesh.SetIndices(indices, 0, indices.Count, meshTopology, 0); + mesh.UploadMeshData(true); + return mesh; + } + + /// + /// Renders the point cloud using the previously created mesh and custom material. + /// Called by Unity during the rendering phase. + /// + private void OnRenderObject() + { + // Calculate the aspect ratio of the screen and pass it to the shader. + var aspectRatio = (float)Screen.width / Screen.height; + Material.SetFloat("_AspectRatio", aspectRatio); + Material.SetFloat("_PointSize", PointSize); + Material.SetPass(0); + // Draw the mesh with the current transformation. + Graphics.DrawMeshNow(Mesh, transform.localToWorldMatrix); + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/PointRenderer/PointRenderer.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/PointRenderer/PointRenderer.cs.meta new file mode 100644 index 00000000..48f15c1b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/PointRenderer/PointRenderer.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ebae803029ac08640b4a2246e4bf46b5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/PointRenderer/PointRenderer.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/GraphicsSettingsUtils.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/GraphicsSettingsUtils.cs index ee58e485..1b2e6185 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/GraphicsSettingsUtils.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/GraphicsSettingsUtils.cs @@ -8,12 +8,12 @@ namespace TriLibCore.Utils public static class GraphicsSettingsUtils { /// Returns true if the project is using the Standard Rendering Pipeline. - public static bool IsUsingStandardPipeline => GraphicsSettings.defaultRenderPipeline == null; + public static bool IsUsingStandardPipeline => RenderPipelineUtils.IsUsingStandardPipeline; /// Returns true if the project is using the Universal Rendering Pipeline. - public static bool IsUsingUniversalPipeline => GraphicsSettings.defaultRenderPipeline != null && (GraphicsSettings.defaultRenderPipeline.name.StartsWith("UniversalRenderPipeline") || GraphicsSettings.defaultRenderPipeline.name.StartsWith("UniversalRP") || GraphicsSettings.defaultRenderPipeline.name.StartsWith("URP")); + public static bool IsUsingUniversalPipeline => RenderPipelineUtils.IsUsingUniversalPipeline; /// Returns true if the project is using the HDRP Rendering Pipeline. - public static bool IsUsingHDRPPipeline => GraphicsSettings.defaultRenderPipeline != null && GraphicsSettings.defaultRenderPipeline.name.Contains("HD"); + public static bool IsUsingHDRPPipeline => RenderPipelineUtils.IsUsingHDRPPipeline; } } diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/GraphicsSettingsUtils.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/GraphicsSettingsUtils.cs.meta index fb5c9ecc..c5216577 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/GraphicsSettingsUtils.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/GraphicsSettingsUtils.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: a5337d02d9b44cc891b4e5a729e629b7 -timeCreated: 1576429742 \ No newline at end of file +timeCreated: 1576429742 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/GraphicsSettingsUtils.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/MaterialsHelper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/MaterialsHelper.cs new file mode 100644 index 00000000..0658f9fb --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/MaterialsHelper.cs @@ -0,0 +1,18 @@ +using UnityEngine; + +namespace TriLibCore.Utils +{ + /// + /// Provides helper methods for configuring to use different Material Mappers. + /// + public abstract class MaterialsHelper : ScriptableObject + { + /// + /// Configures the specified . + /// + /// + /// A reference to the object being configured. + /// + public abstract void Setup(ref AssetLoaderOptions assetLoaderOptions); + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/MaterialsHelper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/MaterialsHelper.cs.meta new file mode 100644 index 00000000..740b6497 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/MaterialsHelper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 94b63e73ee927f4449c43aa035a14a1c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Scripts/Utils/MaterialsHelper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Third-Party Notices.txt b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Third-Party Notices.txt index f25e8ef8..a1e7cc7e 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Third-Party Notices.txt +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Third-Party Notices.txt @@ -34,6 +34,6 @@ H. GTLF Draco Decoder Apache License Copyright (c) Google -I. PCX - Point Cloud Importer/Renderer for Unity -Unlicense License -Keijiro Takahashi \ No newline at end of file +I. BitMiracle.LibTiff.Net +BSD-3-Clause License +Copyright (c) 2008-2023 Bit Miracle \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Third-Party Notices.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Third-Party Notices.txt.meta index 865e7770..3a7df631 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Third-Party Notices.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Third-Party Notices.txt.meta @@ -7,3 +7,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/Third-Party Notices.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibReleaseNotes.txt b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibReleaseNotes.txt index c8c143b7..13b4bea1 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibReleaseNotes.txt +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibReleaseNotes.txt @@ -1,5 +1,5 @@ -2.3.2 +2.5.5 Changelog: --Fixed glTF2 WebGL out-of-memory error. --Added coroutine meshes loading. --Added MaxCoroutineDelayInMS asset loader option. Use this field to set a maximum of milliseconds a Coroutine can take without waiting for a main thread frame to execute. \ No newline at end of file +-Fixed Blender material roughness value importing. +-Added ApplyTransparencyTexture asset loader option. Turn off this field to disable composing the Albedo texture using the original material's transparency texture. +-Added BakeAxisConversion asset loader option. Turn on this field to bake the model transform into models and animations (Experimental). \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibReleaseNotes.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibReleaseNotes.txt.meta index 9c7e60e9..13e9a2a6 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibReleaseNotes.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibReleaseNotes.txt.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibReleaseNotes.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibVersion.txt b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibVersion.txt index cb76f391..71cbeaf0 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibVersion.txt +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibVersion.txt @@ -1,3 +1,143 @@ +2.5.5 +Changelog: +-Fixed Blender material roughness value importing. +-Added ApplyTransparencyTexture asset loader option. Turn off this field to disable composing the Albedo texture using the original material's transparency texture. +-Added BakeAxisConversion asset loader option. Turn on this field to bake the model transform into models and animations (Experimental). + +2.4.4 +Changelog: +-Fixed a glTF2 negative scale issue. +-Fixed glTF2 material mapper roughness issues. +-Fixed a texture scaling/offset issue. +-Fixed a mismatched PDB file. +-Fixed an FBX pivot issue. +-Fixed an AssetLoaderOptions editor issue. +-Miscellaneous fixes. + +2.4.3 +Changelog: +-Fixed bugs in ZipFileExternalDataMapper and ZipFileTextureMapper that caused errors when they were not meant to be used. +-Fixed a bug in ThreadUtils when "startImmediately" was set to false. +-Fixed the AssetLoaderFilePicker.LoadModelFromDirectory method on Windows, Linux, Editor, and UWP platforms. +-Various fixes to the DAE reader. + +2.4.2 +Changelog: +-Profiler removal hotfix. + +2.4.1 +Changelog: +-Added missing FBX geometry mapping parsing. +-Fixed FBX PBR conversion issues. +-Fixed FBX blend-shapes importing. +-Reverted IxMilia.ThreeMf. +-Code cleanup. + +2.4.0 +Changelog: +-Fixed Unity 6 compatibility issues. +-Changed the default value of AssetLoaderOptions.ApplyGammaCurveToMaterialColors to "true", preventing washed-out colors. +-Added support for importing missing material colors from FBX files. +-Added DoPBRConversion asset loader option. Turn off this field to disable Phong to PBR conversion based on: https://learn.microsoft.com/en-us/azure/remote-rendering/reference/material-mapping +-Fixed orientation issues in FBX documents. +-Reverted the FBX glossiness calculation for Phong lighting. +-Created the AssetLoader.LoadFastestSettings method, which updates the provided AssetLoaderOptions with the fastest settings. +-Deprecated the AssetLoaderOptions.UseCoroutines option. +-Reworked the documentation. +-Applied miscellaneous fixes. +-This TriLib version includes all the tools that were available on itch.io. + +2.3.9 +Changelog: +-Fixed FBX ASCII parser video content bug. +-Fixed FBX embedded texture bug. +-Fixed OBJ transparent materials bug. +-Added Maya Arnold FBX material support. + +2.3.8 +Changelog: +-Fixed glTF2 node names encoding bug. +-Fixed glTF2 matrix decomposition bug. +-Fixed glTF2 specular materials. +-Fixed "infinite-loop" error when loading Zip files without suitable model files. +-Fixed FBX cameras/lights importing. +-Fixed textures double processing bug. +-Refactored glTF2 Draco loader (Added missing dequantization methods). +-Removed the ShowLoadingWarnings asset loader option from non-development builds, increasing model loading performance. +-Updated IxMilia.ThreeMf. +-Added the "Enable debug libraries" settings. Use this setting to enable TriLib debug libraries and output precise stack traces. +-Added glTF2 user properties parsing. +-Added a new Asset Viewer progress indicator. +-Added a Directory Picker to the WebGL Standalone File Browser. Use the "AssetLoaderFilePicker.LoadModelFromDirectoryPickerAsync" method to allow users to select a folder containing the model and its resources. +-Added vertex color debug mode to Asset Viewer. +-Added the RawData field to TextureLoadingContext. You can assign raw RGBA data from custom TextureMappers to this field to handle custom texture formats. +-Added the ApplyAvatarHipsCompensation asset loader option. Turn off this field if your avatars seem to hover over the ground. +-Added the LoadTexturesViaWebRequest asset loader option. Turn on this field to load textures using the UnityWebRequest class (experimental). UnityWebRequest is the fastest way to load PNG/JPG textures but uses more memory than the other methods. +-Added the MaxObjectsToRename asset loader option. Use this field to set the maximum number of objects TriLib can rename. Renaming is an expensive process, so it's advised to keep a low value. +-Added the UseSharedMaterials asset loader option. Turn on this field to use renderers' "sharedMaterials" property instead of "materials" property. +-Added the UseSharedMeshes asset loader option. Turn off this field to use mesh filters "mesh" property instead of "sharedMesh" property. +-Added the MeshWorldTransform asset loader option. Use this field to define a transformation applied in world space to all mesh vertices. +-Added the ConvertTexturesAs2D asset loader option. Turn off this field to keep processed/composed textures as RenderTextures. +-Added the UpdateSkinnedMeshRendererWhenOfscreen asset loader option. Turn on this field to update SkinnedMeshRenderers when they're offscreen. +-Added the BlendShapeMapper asset loader option. Use this field to set a BlendShapeMapper to use with the loaded model. BlendShapeMappers can replace the Unity built-in blend shape playback system. +Version Notes: +This TriLib version introduces "TriLib Tools". + +There are three tools available: +- TriLib Blend Shape Optimization Scripts: A TriLib replacement for Unity's Blend Shape API, offering up to 2000% faster processing times. +- TriLib Material Mappers: glTF2 and Autodesk Interactive specialized Material Mappers. These mappers do not require texture conversion. +- TriLib TIFF Texture Loader: Adds TIFF texture support for TriLib, enabling seamless runtime loading of models that require TIFF textures. + +TriLib tools link: +https://rickomax.itch.io/ + +2.3.7 +Changelog: +-Added Autodesk Interactive material mapper and sample scene. +-Added shader variant collections support. Please add the variants you want to use in the shader variant collection used by your rendering pipeline. +-Fixed bug with glTF2 uncommon file encoding. +-Fixed FBX bug where instanced meshes were not being created. +-Fixed bug when changing TriLib settings. +-Fixed HDRP texture roughness generation. +-Added LoadDisplacementTextures asset loader option. Turn on this field to load displacement textures. + +2.3.6 +Changelog: +-Fixed FBX embedded textures regression issue. +-Fixed embedded textures not loading when using native Unity texture loader. + +2.3.5 +Changelog: +-Fixed FBX reader regression issues (Loading slowdown, ASCII embedded textures not working, and files with empty meshes not loading correctly). +-Fixed normal calculation regression issue. +-Removed AssetUnloader from in-editor loaded models. +-Removed material mapper automatic assignment. This feature was causing issues on newer Unity versions. +-Miscellaneous fixes. +Version Notes: +-TriLib no longer automatically checks for the most suitable material mapper for the current rendering pipeline, as this feature is causing errors on newer Unity features when called right after the package is loaded. +If you're using URP or HDRP rendering pipelines, you must select a material mapper suitable for your rendering pipeline at the "Edit->Project Settings->TriLib" menu. + +2.3.4 +Changelog: +-Created a new point cloud renderer. (Compatible with all platforms. SRP only at the moment.) +-Fixed FBX null reference issue. +-Fixed FBX 3ds Max materials compatibility. +Set the ExtractEmbeddedData asset loader default value to "false." That will prevent unauthorized file access errors on sandboxed platforms. +-Improved FBX memory usage. +-Added LoadTexturesAtOnce asset loader option. This option is enabled by default and decreases memory usage when loading textures. +-Added GetCompatibleTextureFormat asset loader option. +-Fixed StandaloneFileBrowser OSX AnyCPU assignment bug. +-Switched from SafeStbImageSharp to StbImageSharp for performance reasons. + +2.3.3 +Changelog: +-Fixed Draco decompression mesh mismatch. +-Fixed negative scale matrix decomposition issues. +-Fixed FBX animation issues. +-Fixed FBX pivot issues. Only FBX static models have pivot preservation. Pivot preservation for animated models is in the works. +-Added MaxVertexDataInitialCapacity asset loader option. Use this field to set the maximum initial capacity of meshes vertex buffers. Vertex count higher than that will use the default .NET exponential capacity increasing method. +-Added animation curve simplification. Please refer to SimplifyAnimations, PositionThreshold, RotationThreshold, and ScaleThreshold asset loader options. + 2.3.2 Changelog: -Fixed glTF2 WebGL out-of-memory error. diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibVersion.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibVersion.txt.meta index 9096898a..bc36b5aa 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibVersion.txt.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibVersion.txt.meta @@ -7,3 +7,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/TriLibVersion.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/link.xml.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/link.xml.meta index 3515335b..28ec1fc8 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/link.xml.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibCore/link.xml.meta @@ -5,3 +5,10 @@ TextScriptImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibCore/link.xml + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco.meta new file mode 100644 index 00000000..b3844837 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e976e646f760cb54cbd87e7d4a2c8385 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins.meta new file mode 100644 index 00000000..31505ac7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ef67d558a4f42514c994f4715bf88369 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle.meta new file mode 100644 index 00000000..cfb25683 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 3cc9839ba72b30946ab491d6ddee00e7 +folderAsset: yes +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + - first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents.meta new file mode 100644 index 00000000..6dc82572 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b31f882f7baba3447a530931647dc48f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents/Info.plist b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents/Info.plist new file mode 100644 index 00000000..325403e3 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents/Info.plist @@ -0,0 +1,46 @@ + + + + + BuildMachineOSBuild + 19D76 + CFBundleDevelopmentRegion + English + CFBundleExecutable + dracodec_unity + CFBundleInfoDictionaryVersion + 6.0 + CFBundleLongVersionString + + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + + CSResourcesFileMapped + + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 11C505 + DTPlatformVersion + GM + DTSDKBuild + 19B90 + DTSDKName + macosx10.15 + DTXcode + 1131 + DTXcodeBuild + 11C505 + LSMinimumSystemVersion + 10.15 + NSHumanReadableCopyright + + + diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents/MacOS.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents/MacOS.meta new file mode 100644 index 00000000..b78d099f --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents/MacOS.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f07ade1907341254abd0f0aa7aca7d79 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents/MacOS/dracodec_unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents/MacOS/dracodec_unity new file mode 100644 index 00000000..1408ff87 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfDraco/Plugins/dracodec_unity.bundle/Contents/MacOS/dracodec_unity differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials.meta new file mode 100644 index 00000000..4d4b29e4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63b25a71bf9447143af737b434227cdb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources.meta new file mode 100644 index 00000000..7a476539 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7ededa0f6049b4248a0e6325ac45e4da +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers.meta new file mode 100644 index 00000000..0d775d7b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7b88076f8a474344ea5c5b0d5650d774 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers/Material.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers/Material.meta new file mode 100644 index 00000000..797e939e --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers/Material.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 89f8f2be3da05fe4c89807ae0f79fcf1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers/Material/glTF2StandardMaterialMapper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers/Material/glTF2StandardMaterialMapper.asset new file mode 100644 index 00000000..bc07c763 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers/Material/glTF2StandardMaterialMapper.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c1b706acf04f7d94185154700f825aa7, type: 3} + m_Name: glTF2StandardMaterialMapper + m_EditorClassIdentifier: + CheckingOrder: 0 + DisableAlpha: 0 + ForceShaderVariantCollection: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers/Material/glTF2StandardMaterialMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers/Material/glTF2StandardMaterialMapper.asset.meta new file mode 100644 index 00000000..1c6e999f --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers/Material/glTF2StandardMaterialMapper.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: bd120b9d84ee6384f9f1c72961ce8a17 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Mappers/Material/glTF2StandardMaterialMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/MaterialHelpers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/MaterialHelpers.meta new file mode 100644 index 00000000..fd822b4b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/MaterialHelpers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c5c851de9d433494aa788f6e76a23ce4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/MaterialHelpers/GltfMaterialsHelper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/MaterialHelpers/GltfMaterialsHelper.asset new file mode 100644 index 00000000..f3e3942a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/MaterialHelpers/GltfMaterialsHelper.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3dde1477c5a910a478ec949172a4b45d, type: 3} + m_Name: GltfMaterialsHelper + m_EditorClassIdentifier: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/MaterialHelpers/GltfMaterialsHelper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/MaterialHelpers/GltfMaterialsHelper.asset.meta new file mode 100644 index 00000000..bd4147b7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/MaterialHelpers/GltfMaterialsHelper.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: d3917b6646431084bbf36d19b1172136 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/MaterialHelpers/GltfMaterialsHelper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials.meta new file mode 100644 index 00000000..ec925dd1 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa7388f5cbc97e149a2442df0c887209 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2.meta new file mode 100644 index 00000000..e428b587 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5219739af989f21479965c2d722e1d0d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP.meta new file mode 100644 index 00000000..7605cf37 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: af7a089daf810664593d939a3a03fed4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPGLTF2.shadergraph b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPGLTF2.shadergraph new file mode 100644 index 00000000..ab0500c6 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPGLTF2.shadergraph @@ -0,0 +1,4293 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "7befb776f4bc41649611d5d7f3fa5565", + "m_Properties": [ + { + "m_Id": "dcc72d90e28746cb964ee65047018a18" + }, + { + "m_Id": "f44f003e46a54a568c9f36cd1c0d4b8f" + }, + { + "m_Id": "758924fe232b4267b3bc4e79934f3bcf" + }, + { + "m_Id": "a60e2f76c24d4fccaed1cbdacb70b82f" + }, + { + "m_Id": "2790522d7f7d44abab462708ea5a90e1" + }, + { + "m_Id": "6fa54209823a4311835432dccb888597" + }, + { + "m_Id": "f06ab67a6b4b49b3a4278635a106eaff" + }, + { + "m_Id": "e8a9dffcb9fc41fdb1b033830e27c1c8" + }, + { + "m_Id": "13183c2d9eeb406c94e48b4a42fdd214" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "167c500157904858a1a6c664c03fdce6" + } + ], + "m_Nodes": [ + { + "m_Id": "1c95a612785c482ea5990686b76da1fa" + }, + { + "m_Id": "bbd43b3588ec4ef780dcc8e401acf48e" + }, + { + "m_Id": "32e775ed4cd145909c1b3ce74a778b53" + }, + { + "m_Id": "8bca4c7f6f514c9d9b3c2f4dd17de4d3" + }, + { + "m_Id": "eb34c79e5a834921b3c0427bc31b6981" + }, + { + "m_Id": "d5bbbc898c69485eba08fdc58d3b17d5" + }, + { + "m_Id": "7823c356668d401fb9820bd3d53923e0" + }, + { + "m_Id": "e507314ab19a4f8d8bbd44808d6b199f" + }, + { + "m_Id": "6a3e9fcbadcd4e36862915310e32771c" + }, + { + "m_Id": "b07f91d19aa44f86858cc42773ff7be9" + }, + { + "m_Id": "ebebc74dec9f45b6b549b7a106496e85" + }, + { + "m_Id": "dffebb920fbf4b4682104f4ff10a6f0f" + }, + { + "m_Id": "5567e7a280c3419bac55043319387af0" + }, + { + "m_Id": "1b1d93003979432f8c344ccf832b0e23" + }, + { + "m_Id": "88c61a9754c444b589d5b6b317ac8075" + }, + { + "m_Id": "d44cc865a29e429da26deecb161446a3" + }, + { + "m_Id": "4eb640df084248d5a7fb74a7401488aa" + }, + { + "m_Id": "e1c8590cbd274de4989919f1a1c08ceb" + }, + { + "m_Id": "2c9571f9453b446a80294c871d30c7c3" + }, + { + "m_Id": "5daebc92a6274c7a92119adac6de341d" + }, + { + "m_Id": "f44fa8346a5345d78c7a60562d5df73f" + }, + { + "m_Id": "f2fda54e60bd4c36a40d5e2e554d8094" + }, + { + "m_Id": "f2220cdbd1d64335b38dfe420f5fb105" + }, + { + "m_Id": "5dc7acec3558429f84e9f0d5b96e6b31" + }, + { + "m_Id": "18b22153e19b4fcaa992ce2974e9f523" + }, + { + "m_Id": "6ed852b456d646a5a12691a2a327bb60" + }, + { + "m_Id": "89a11c3575eb49fbb158bd7f05930ee9" + }, + { + "m_Id": "b92438d0f62f4a428d3324e73fcdaf55" + }, + { + "m_Id": "6fad030d043f4d6fa39ca1fc6bb98691" + }, + { + "m_Id": "4bdeeae7546242b187e749859c4ebd60" + }, + { + "m_Id": "d8117faffc4a4ed0a36a6ae4b03dd3ec" + }, + { + "m_Id": "18323695c11e4a22bc2f8a42df924696" + }, + { + "m_Id": "d046d4bd53b84043b1206d7cdb0fe899" + }, + { + "m_Id": "0cded0367bb94fec8897ffe45740bde8" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0cded0367bb94fec8897ffe45740bde8" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d8117faffc4a4ed0a36a6ae4b03dd3ec" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "18323695c11e4a22bc2f8a42df924696" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ebebc74dec9f45b6b549b7a106496e85" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "18b22153e19b4fcaa992ce2974e9f523" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6ed852b456d646a5a12691a2a327bb60" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1b1d93003979432f8c344ccf832b0e23" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "88c61a9754c444b589d5b6b317ac8075" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2c9571f9453b446a80294c871d30c7c3" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5daebc92a6274c7a92119adac6de341d" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4bdeeae7546242b187e749859c4ebd60" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "18323695c11e4a22bc2f8a42df924696" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4bdeeae7546242b187e749859c4ebd60" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8bca4c7f6f514c9d9b3c2f4dd17de4d3" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4eb640df084248d5a7fb74a7401488aa" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e1c8590cbd274de4989919f1a1c08ceb" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5567e7a280c3419bac55043319387af0" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1b1d93003979432f8c344ccf832b0e23" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5daebc92a6274c7a92119adac6de341d" + }, + "m_SlotId": 5 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0cded0367bb94fec8897ffe45740bde8" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5daebc92a6274c7a92119adac6de341d" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d046d4bd53b84043b1206d7cdb0fe899" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5dc7acec3558429f84e9f0d5b96e6b31" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "18b22153e19b4fcaa992ce2974e9f523" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6ed852b456d646a5a12691a2a327bb60" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e507314ab19a4f8d8bbd44808d6b199f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6fad030d043f4d6fa39ca1fc6bb98691" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4bdeeae7546242b187e749859c4ebd60" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "88c61a9754c444b589d5b6b317ac8075" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4bdeeae7546242b187e749859c4ebd60" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "89a11c3575eb49fbb158bd7f05930ee9" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b07f91d19aa44f86858cc42773ff7be9" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b92438d0f62f4a428d3324e73fcdaf55" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "89a11c3575eb49fbb158bd7f05930ee9" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d046d4bd53b84043b1206d7cdb0fe899" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7823c356668d401fb9820bd3d53923e0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d44cc865a29e429da26deecb161446a3" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "88c61a9754c444b589d5b6b317ac8075" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d8117faffc4a4ed0a36a6ae4b03dd3ec" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6a3e9fcbadcd4e36862915310e32771c" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e1c8590cbd274de4989919f1a1c08ceb" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "eb34c79e5a834921b3c0427bc31b6981" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f2220cdbd1d64335b38dfe420f5fb105" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6ed852b456d646a5a12691a2a327bb60" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f2fda54e60bd4c36a40d5e2e554d8094" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d046d4bd53b84043b1206d7cdb0fe899" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f44fa8346a5345d78c7a60562d5df73f" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0cded0367bb94fec8897ffe45740bde8" + }, + "m_SlotId": 0 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": -1515.4998779296875, + "y": -849.9998779296875 + }, + "m_Blocks": [ + { + "m_Id": "1c95a612785c482ea5990686b76da1fa" + }, + { + "m_Id": "bbd43b3588ec4ef780dcc8e401acf48e" + }, + { + "m_Id": "32e775ed4cd145909c1b3ce74a778b53" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": -1515.4998779296875, + "y": -649.9999389648438 + }, + "m_Blocks": [ + { + "m_Id": "8bca4c7f6f514c9d9b3c2f4dd17de4d3" + }, + { + "m_Id": "eb34c79e5a834921b3c0427bc31b6981" + }, + { + "m_Id": "d5bbbc898c69485eba08fdc58d3b17d5" + }, + { + "m_Id": "7823c356668d401fb9820bd3d53923e0" + }, + { + "m_Id": "e507314ab19a4f8d8bbd44808d6b199f" + }, + { + "m_Id": "6a3e9fcbadcd4e36862915310e32771c" + }, + { + "m_Id": "b07f91d19aa44f86858cc42773ff7be9" + }, + { + "m_Id": "ebebc74dec9f45b6b549b7a106496e85" + }, + { + "m_Id": "dffebb920fbf4b4682104f4ff10a6f0f" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_SubDatas": [], + "m_ActiveTargets": [ + { + "m_Id": "ee051e47d9d64a33a4811c0ac326e183" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "00efd1807810459f924ac98df767a76b", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "026b302044a74e85b59d9715fb1597e3", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "0318800244e449c6a740ac0426e1641c", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "0626a92a380a4eb68a8261df973a9321", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "077c6439b09240d7b6ecbd69d12dbc7e", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "0cded0367bb94fec8897ffe45740bde8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2372.5, + "y": -516.0, + "width": 126.0, + "height": 117.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "b522b18cdc6e49a88ee33137dcf899ec" + }, + { + "m_Id": "8485fe023b2c410bb7f5edc2f36407ff" + }, + { + "m_Id": "6e60b6cf0ba64896b89f2cc908ace830" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "120d49dd9cc34c60a80a6c536d239e3c", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "13183c2d9eeb406c94e48b4a42fdd214", + "m_Guid": { + "m_GuidSerialized": "a7018916-09b0-4e7c-a895-406e5332a1ef" + }, + "m_Name": "_OcclusionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_OcclusionMap", + "m_DefaultReferenceName": "_OcclusionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1354e9156174445996caa56633cd2d42", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "142cb818febc44de9153a525763875ae", + "m_Id": 0, + "m_DisplayName": "_Glossiness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "15e23659d7a747a38bf3dee9bb97b639", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "167c500157904858a1a6c664c03fdce6", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "dcc72d90e28746cb964ee65047018a18" + }, + { + "m_Id": "f44f003e46a54a568c9f36cd1c0d4b8f" + }, + { + "m_Id": "758924fe232b4267b3bc4e79934f3bcf" + }, + { + "m_Id": "a60e2f76c24d4fccaed1cbdacb70b82f" + }, + { + "m_Id": "2790522d7f7d44abab462708ea5a90e1" + }, + { + "m_Id": "6fa54209823a4311835432dccb888597" + }, + { + "m_Id": "f06ab67a6b4b49b3a4278635a106eaff" + }, + { + "m_Id": "e8a9dffcb9fc41fdb1b033830e27c1c8" + }, + { + "m_Id": "13183c2d9eeb406c94e48b4a42fdd214" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "18323695c11e4a22bc2f8a42df924696", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1794.701904296875, + "y": -1096.850830078125, + "width": 119.0, + "height": 149.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "6203741311914f7b8f5c919f1cb5f76e" + }, + { + "m_Id": "dc475d3cbe094bcab20df0686aaed383" + }, + { + "m_Id": "d6b56dd297e84d3f89837cf14166c81d" + }, + { + "m_Id": "2915a930bea34afa9e255ae20767942c" + }, + { + "m_Id": "f5035a54dacc49d7b6ae3ce22911cbb2" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "18b22153e19b4fcaa992ce2974e9f523", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2441.701904296875, + "y": -265.8507080078125, + "width": 183.0001220703125, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "00efd1807810459f924ac98df767a76b" + }, + { + "m_Id": "b2e424380b42493897e5564005891375" + }, + { + "m_Id": "3aab4ab89d314922965ca23037f97498" + }, + { + "m_Id": "b315965e6e794324ba1c213666d09ae2" + }, + { + "m_Id": "c47532df2dd743199d10a0a3b62e7cf6" + }, + { + "m_Id": "62b7aa704edd40e8b95b745a4f5e0de4" + }, + { + "m_Id": "1ea27a094f93446bb5cdbe9d5d1ff011" + }, + { + "m_Id": "9715073a45514178bc850b92c6f16a5a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "1b1d93003979432f8c344ccf832b0e23", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3054.201904296875, + "y": -1461.3507080078125, + "width": 183.0, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "73795bb5bb78497aa3c88fe8f4ab388e" + }, + { + "m_Id": "6d16a465d20d485ca35813e81fb82e4a" + }, + { + "m_Id": "40c5d297d77e4e3e8011b842be447018" + }, + { + "m_Id": "15e23659d7a747a38bf3dee9bb97b639" + }, + { + "m_Id": "319b810c3d3e41c08d1418e71212651a" + }, + { + "m_Id": "dcb0635286804315be82088bd7cfc3a9" + }, + { + "m_Id": "bb6b295f73494dd28ed1444b34080289" + }, + { + "m_Id": "0318800244e449c6a740ac0426e1641c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", + "m_ObjectId": "1b6581e1233243f782276d8d4f8c90d3", + "m_MaterialNeedsUpdateHash": 279841, + "m_SurfaceType": 0, + "m_RenderingPass": 1, + "m_BlendMode": 0, + "m_ZTest": 4, + "m_ZWrite": false, + "m_TransparentCullMode": 2, + "m_OpaqueCullMode": 2, + "m_SortPriority": 0, + "m_AlphaTest": true, + "m_ExcludeFromTUAndAA": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false, + "m_DoubleSidedMode": 0, + "m_DOTSInstancing": false, + "m_CustomVelocity": false, + "m_Tessellation": false, + "m_TessellationMode": 0, + "m_TessellationFactorMinDistance": 20.0, + "m_TessellationFactorMaxDistance": 50.0, + "m_TessellationFactorTriangleSize": 100.0, + "m_TessellationShapeFactor": 0.75, + "m_TessellationBackFaceCullEpsilon": -0.25, + "m_TessellationMaxDisplacement": 0.009999999776482582, + "m_Version": 1, + "inspectorFoldoutMask": 1 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1c0311ca2564421c910e67eda34b0513", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "1c95a612785c482ea5990686b76da1fa", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "44655a7232894bbdadad5a0218c63eac" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "1ea27a094f93446bb5cdbe9d5d1ff011", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "21bac288f7f04ea0af44b76d8d307bb7", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "21ea4d6add8743fd851273ebad626137", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "26ba8d535a114c8491cb7fc61c920122", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "2790522d7f7d44abab462708ea5a90e1", + "m_Guid": { + "m_GuidSerialized": "393381c2-60b2-4d87-b1c2-1b75d5873cfb" + }, + "m_Name": "_Glossiness", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Glossiness", + "m_DefaultReferenceName": "_Glossiness", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2915a930bea34afa9e255ae20767942c", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2b490d93d80d4d9c829fcd7778e128d8", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "2c9571f9453b446a80294c871d30c7c3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3267.201904296875, + "y": -592.8507080078125, + "width": 181.0001220703125, + "height": 33.999969482421878 + } + }, + "m_Slots": [ + { + "m_Id": "e391a24c76a1453f852700c6644f806a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "6fa54209823a4311835432dccb888597" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "319b810c3d3e41c08d1418e71212651a", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "31effbfd9bd441109c223e831c4bbdd5", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "32e775ed4cd145909c1b3ce74a778b53", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "bd7ed0ef6ab04c288e56ee15b01cd0af" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitData", + "m_ObjectId": "382e6e2696b8410e806db1ab8b153292", + "m_RayTracing": false, + "m_MaterialType": 0, + "m_RefractionModel": 0, + "m_SSSTransmission": true, + "m_EnergyConservingSpecular": true, + "m_ClearCoat": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "3938e0af1b8f465e8f9d13c7c0550a03", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "3aab4ab89d314922965ca23037f97498", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "3f5fbd2819994b6e83610b605161e3f4", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "40c5d297d77e4e3e8011b842be447018", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "44655a7232894bbdadad5a0218c63eac", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "46470e507fce4c82ab8ba796931ed9c7", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "4bdeeae7546242b187e749859c4ebd60", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2181.70166015625, + "y": -1461.350830078125, + "width": 207.9998779296875, + "height": 301.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "3f5fbd2819994b6e83610b605161e3f4" + }, + { + "m_Id": "681f09ccec4045fd918f50885838f454" + }, + { + "m_Id": "947a5a4c7f3d40509f15265458346cdb" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "4eb640df084248d5a7fb74a7401488aa", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2181.70166015625, + "y": -981.8507080078125, + "width": 141.4998779296875, + "height": 34.0000114440918 + } + }, + "m_Slots": [ + { + "m_Id": "ef0dce825e454d8a9df518f5d6c0c4f9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "758924fe232b4267b3bc4e79934f3bcf" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "50a2986476e94f6ebe08b9ac5420418f", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "5567e7a280c3419bac55043319387af0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3225.201904296875, + "y": -1478.3507080078125, + "width": 133.5, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "fe2a1d98b22445859c15f7aadce5e420" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "dcc72d90e28746cb964ee65047018a18" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "5895921706224797befb6166f1460a4c", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "5c7df7827c7c4f32936b787e0ebb9f58", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "5daebc92a6274c7a92119adac6de341d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3054.20166015625, + "y": -574.8507690429688, + "width": 182.9998779296875, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "0626a92a380a4eb68a8261df973a9321" + }, + { + "m_Id": "c521bec9e64c4852a1b94346ddc411f6" + }, + { + "m_Id": "dee53a692b79491094656e51e4017d80" + }, + { + "m_Id": "50a2986476e94f6ebe08b9ac5420418f" + }, + { + "m_Id": "3938e0af1b8f465e8f9d13c7c0550a03" + }, + { + "m_Id": "e31d1ce825b243d59021f133a99c1388" + }, + { + "m_Id": "9d020d665cee446c8599a5c32fa900e7" + }, + { + "m_Id": "7927c53d6e7e4d5dba1b15e192c64235" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "5dc7acec3558429f84e9f0d5b96e6b31", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2630.201904296875, + "y": -299.8507080078125, + "width": 157.5, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "834cc8be478c4f07b8fbf2b6535405a2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "e8a9dffcb9fc41fdb1b033830e27c1c8" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6203741311914f7b8f5c919f1cb5f76e", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "625c3448d60740ce8142ba94e1f5dd3e", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "62b7aa704edd40e8b95b745a4f5e0de4", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "658332519c1649f29dc7de1734e8aeb0", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "6594af60c7664e7fa7e38f61a53a4c18", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "66996fd47e4d4e00a46f76c464724da2", + "m_Id": 0, + "m_DisplayName": "Bent Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BentNormal", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "681f09ccec4045fd918f50885838f454", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "6a3e9fcbadcd4e36862915310e32771c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "21bac288f7f04ea0af44b76d8d307bb7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6d16a465d20d485ca35813e81fb82e4a", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "6e60b6cf0ba64896b89f2cc908ace830", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6e8f9f0fb7c4472a8b384af20a1d6403", + "m_Id": 0, + "m_DisplayName": "Alpha Clip Threshold", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "AlphaClipThreshold", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "6ed852b456d646a5a12691a2a327bb60", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2007.2017822265625, + "y": -265.8507080078125, + "width": 129.4998779296875, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "658332519c1649f29dc7de1734e8aeb0" + }, + { + "m_Id": "e4616e80770242d3b1c729615604be89" + }, + { + "m_Id": "5895921706224797befb6166f1460a4c" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "6fa54209823a4311835432dccb888597", + "m_Guid": { + "m_GuidSerialized": "a26c9cad-10b6-4a15-88f0-f18e979bfb46" + }, + "m_Name": "_MetallicGlossMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_MetallicGlossMap", + "m_DefaultReferenceName": "_MetallicGlossMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.VertexColorNode", + "m_ObjectId": "6fad030d043f4d6fa39ca1fc6bb98691", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Vertex Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2432.201904296875, + "y": -1354.850830078125, + "width": 117.5001220703125, + "height": 93.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "31effbfd9bd441109c223e831c4bbdd5" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "72c1a0c5124943708104f0761a9bec31", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "73795bb5bb78497aa3c88fe8f4ab388e", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "758924fe232b4267b3bc4e79934f3bcf", + "m_Guid": { + "m_GuidSerialized": "2d1ea161-43d7-48ed-846d-79170306406a" + }, + "m_Name": "_BumpMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_BumpMap", + "m_DefaultReferenceName": "_BumpMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"14eeb87a1b34eaa4db60b71bcf17bdad\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "7823c356668d401fb9820bd3d53923e0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "ca04f94960e24de6958be662a70d9ba8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "7896b636c2854ab0bd2f62df2d70fb99", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "7927c53d6e7e4d5dba1b15e192c64235", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "7dd87724f4614b3492edd4c4eb28d4c3", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "834cc8be478c4f07b8fbf2b6535405a2", + "m_Id": 0, + "m_DisplayName": "_EmissionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "8485fe023b2c410bb7f5edc2f36407ff", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "86ff5091acd544c8bff367a76acc374a", + "m_Id": 0, + "m_DisplayName": "_OcclusionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitSubTarget", + "m_ObjectId": "87f2c347dc564f52ae23c4f775148df5" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "88c61a9754c444b589d5b6b317ac8075", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2689.201904296875, + "y": -1461.3507080078125, + "width": 129.5, + "height": 117.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "7896b636c2854ab0bd2f62df2d70fb99" + }, + { + "m_Id": "1354e9156174445996caa56633cd2d42" + }, + { + "m_Id": "9388509122934ddc921633b2dc5ee7a1" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "89a11c3575eb49fbb158bd7f05930ee9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2060.701904296875, + "y": 85.64923095703125, + "width": 183.0, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "21ea4d6add8743fd851273ebad626137" + }, + { + "m_Id": "625c3448d60740ce8142ba94e1f5dd3e" + }, + { + "m_Id": "dc84ca326d3b4d91b7f61bd2bc873e59" + }, + { + "m_Id": "077c6439b09240d7b6ecbd69d12dbc7e" + }, + { + "m_Id": "2b490d93d80d4d9c829fcd7778e128d8" + }, + { + "m_Id": "e6ed06aad7cb42f8b803b6c54f05185e" + }, + { + "m_Id": "5c7df7827c7c4f32936b787e0ebb9f58" + }, + { + "m_Id": "120d49dd9cc34c60a80a6c536d239e3c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "8bca4c7f6f514c9d9b3c2f4dd17de4d3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "f99244b32e044139a29e8c03ad94ad18" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "931e49a70f994cbd8b6da074f0a1cfc7", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9388509122934ddc921633b2dc5ee7a1", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "947a5a4c7f3d40509f15265458346cdb", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "9715073a45514178bc850b92c6f16a5a", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "98a13ed2fcc9438a85bce491fcd1e2a1", + "m_Id": 0, + "m_DisplayName": "_Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "98f206558a5243f98ae0525b9dcc2165", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "9d020d665cee446c8599a5c32fa900e7", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "a60e2f76c24d4fccaed1cbdacb70b82f", + "m_Guid": { + "m_GuidSerialized": "c0462c64-9c1c-4f90-a3f8-075bea709875" + }, + "m_Name": "_Metallic", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Metallic", + "m_DefaultReferenceName": "_Metallic", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "b07f91d19aa44f86858cc42773ff7be9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "931e49a70f994cbd8b6da074f0a1cfc7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b09af79bb7fe4741b43f495f3eb055f9", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "b0f410ede1a0482b87fa76ca4acb1488", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "b13b448c5fea4a7a8284f3001e80d06a", + "m_Id": 0, + "m_DisplayName": "_EmissionColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b2e424380b42493897e5564005891375", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b30d71b7d80c46d0aec5b627f6129e29", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b315965e6e794324ba1c213666d09ae2", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b522b18cdc6e49a88ee33137dcf899ec", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b5a95f0150b04d77b4bd7507eb61bd75", + "m_Id": 0, + "m_DisplayName": "_Metallic", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "b92438d0f62f4a428d3324e73fcdaf55", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2246.701904296875, + "y": 85.64923095703125, + "width": 162.5001220703125, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "86ff5091acd544c8bff367a76acc374a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "13183c2d9eeb406c94e48b4a42fdd214" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "bb6b295f73494dd28ed1444b34080289", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "bbd43b3588ec4ef780dcc8e401acf48e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "b0f410ede1a0482b87fa76ca4acb1488" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "bd7ed0ef6ab04c288e56ee15b01cd0af", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.BuiltinData", + "m_ObjectId": "c108f46c8ba04b18a9d02786fdcb1eed", + "m_Distortion": false, + "m_DistortionMode": 0, + "m_DistortionDepthTest": true, + "m_AddPrecomputedVelocity": false, + "m_TransparentWritesMotionVec": false, + "m_DepthOffset": false, + "m_ConservativeDepthOffset": false, + "m_TransparencyFog": true, + "m_AlphaTestShadow": false, + "m_BackThenFrontRendering": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c47532df2dd743199d10a0a3b62e7cf6", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c521bec9e64c4852a1b94346ddc411f6", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ca04f94960e24de6958be662a70d9ba8", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ca10d7a94518401e9f112ddaf43cbbd3", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "ced5c8b64ecd462eb866caf8f5d5dd7a", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "cf0b6cf82c734095800920ec76f6232d", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "d046d4bd53b84043b1206d7cdb0fe899", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2372.5, + "y": -693.0, + "width": 126.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "98f206558a5243f98ae0525b9dcc2165" + }, + { + "m_Id": "b30d71b7d80c46d0aec5b627f6129e29" + }, + { + "m_Id": "7dd87724f4614b3492edd4c4eb28d4c3" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d1f805546da446e1a52f829c65793bd0", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "d44cc865a29e429da26deecb161446a3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2838.201904296875, + "y": -1354.8507080078125, + "width": 110.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "98a13ed2fcc9438a85bce491fcd1e2a1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "f44f003e46a54a568c9f36cd1c0d4b8f" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "d5bbbc898c69485eba08fdc58d3b17d5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BentNormal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "66996fd47e4d4e00a46f76c464724da2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BentNormal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d6b56dd297e84d3f89837cf14166c81d", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", + "m_ObjectId": "d8117faffc4a4ed0a36a6ae4b03dd3ec", + "m_Group": { + "m_Id": "" + }, + "m_Name": "One Minus", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2007.201904296875, + "y": -543.8507080078125, + "width": 127.5, + "height": 94.0 + } + }, + "m_Slots": [ + { + "m_Id": "ced5c8b64ecd462eb866caf8f5d5dd7a" + }, + { + "m_Id": "026b302044a74e85b59d9715fb1597e3" + } + ], + "synonyms": [ + "complement", + "invert", + "opposite" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "dc475d3cbe094bcab20df0686aaed383", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "dc84ca326d3b4d91b7f61bd2bc873e59", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "dcb0635286804315be82088bd7cfc3a9", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "dcc72d90e28746cb964ee65047018a18", + "m_Guid": { + "m_GuidSerialized": "7b471ff9-6280-4929-9857-2f5ed1879ff5" + }, + "m_Name": "_MainTex", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_MainTex", + "m_DefaultReferenceName": "_MainTex", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "dee53a692b79491094656e51e4017d80", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "dffebb920fbf4b4682104f4ff10a6f0f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.AlphaClipThreshold", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "6e8f9f0fb7c4472a8b384af20a1d6403" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "e1c8590cbd274de4989919f1a1c08ceb", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2007.2017822265625, + "y": -947.8507080078125, + "width": 182.9998779296875, + "height": 250.00001525878907 + } + }, + "m_Slots": [ + { + "m_Id": "cf0b6cf82c734095800920ec76f6232d" + }, + { + "m_Id": "d1f805546da446e1a52f829c65793bd0" + }, + { + "m_Id": "1c0311ca2564421c910e67eda34b0513" + }, + { + "m_Id": "b09af79bb7fe4741b43f495f3eb055f9" + }, + { + "m_Id": "ca10d7a94518401e9f112ddaf43cbbd3" + }, + { + "m_Id": "46470e507fce4c82ab8ba796931ed9c7" + }, + { + "m_Id": "26ba8d535a114c8491cb7fc61c920122" + }, + { + "m_Id": "72c1a0c5124943708104f0761a9bec31" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 1, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "e31d1ce825b243d59021f133a99c1388", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "e391a24c76a1453f852700c6644f806a", + "m_Id": 0, + "m_DisplayName": "_MetallicGlossMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e4616e80770242d3b1c729615604be89", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "e507314ab19a4f8d8bbd44808d6b199f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "6594af60c7664e7fa7e38f61a53a4c18" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "e6ed06aad7cb42f8b803b6c54f05185e", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "e8a9dffcb9fc41fdb1b033830e27c1c8", + "m_Guid": { + "m_GuidSerialized": "5fefe7b8-2d7d-48fb-abad-dcaba534027f" + }, + "m_Name": "_EmissionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionMap", + "m_DefaultReferenceName": "_EmissionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "eb34c79e5a834921b3c0427bc31b6981", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "ebd3b9ec6c544d67bdbeca334ff719b7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "ebd3b9ec6c544d67bdbeca334ff719b7", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "ebebc74dec9f45b6b549b7a106496e85", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "f5268e4774f948b295eaafe98eab5922" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDTarget", + "m_ObjectId": "ee051e47d9d64a33a4811c0ac326e183", + "m_ActiveSubTarget": { + "m_Id": "87f2c347dc564f52ae23c4f775148df5" + }, + "m_Datas": [ + { + "m_Id": "c108f46c8ba04b18a9d02786fdcb1eed" + }, + { + "m_Id": "1b6581e1233243f782276d8d4f8c90d3" + }, + { + "m_Id": "ee2dc426570b476ca3beebf8969cf950" + }, + { + "m_Id": "382e6e2696b8410e806db1ab8b153292" + } + ], + "m_CustomEditorGUI": "", + "m_SupportVFX": false, + "m_SupportComputeForVertexSetup": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.LightingData", + "m_ObjectId": "ee2dc426570b476ca3beebf8969cf950", + "m_NormalDropOffSpace": 0, + "m_BlendPreserveSpecular": true, + "m_ReceiveDecals": true, + "m_ReceiveSSR": true, + "m_ReceiveSSRTransparent": false, + "m_SpecularAA": false, + "m_SpecularOcclusionMode": 1, + "m_OverrideBakedGI": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "ef0dce825e454d8a9df518f5d6c0c4f9", + "m_Id": 0, + "m_DisplayName": "_BumpMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "f06ab67a6b4b49b3a4278635a106eaff", + "m_Guid": { + "m_GuidSerialized": "2e3aef6a-9c80-41d0-b7ff-ec085321628b" + }, + "m_Name": "_EmissionColor", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionColor", + "m_DefaultReferenceName": "_EmissionColor", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "f2220cdbd1d64335b38dfe420f5fb105", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2194.201904296875, + "y": -52.8507080078125, + "width": 156.0001220703125, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "b13b448c5fea4a7a8284f3001e80d06a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "f06ab67a6b4b49b3a4278635a106eaff" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "f2fda54e60bd4c36a40d5e2e554d8094", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2595.20166015625, + "y": -649.850830078125, + "width": 120.5, + "height": 34.000091552734378 + } + }, + "m_Slots": [ + { + "m_Id": "b5a95f0150b04d77b4bd7507eb61bd75" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "a60e2f76c24d4fccaed1cbdacb70b82f" + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "f44f003e46a54a568c9f36cd1c0d4b8f", + "m_Guid": { + "m_GuidSerialized": "aaa3a14d-3ad5-4b1d-9e7d-f7da96332a40" + }, + "m_Name": "_Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Color", + "m_DefaultReferenceName": "_Color", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "f44fa8346a5345d78c7a60562d5df73f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2595.20166015625, + "y": -515.850830078125, + "width": 135.9998779296875, + "height": 34.000091552734378 + } + }, + "m_Slots": [ + { + "m_Id": "142cb818febc44de9153a525763875ae" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "2790522d7f7d44abab462708ea5a90e1" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f5035a54dacc49d7b6ae3ce22911cbb2", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f5268e4774f948b295eaafe98eab5922", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "f99244b32e044139a29e8c03ad94ad18", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "fe2a1d98b22445859c15f7aadce5e420", + "m_Id": 0, + "m_DisplayName": "_MainTex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPGLTF2.shadergraph.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPGLTF2.shadergraph.meta new file mode 100644 index 00000000..b5dea81b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPGLTF2.shadergraph.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 0985778945eddbe49a9b963d58549022 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPGLTF2.shadergraph + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPSpecularGLTF2.shadergraph b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPSpecularGLTF2.shadergraph new file mode 100644 index 00000000..b09a49aa --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPSpecularGLTF2.shadergraph @@ -0,0 +1,4084 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "7befb776f4bc41649611d5d7f3fa5565", + "m_Properties": [ + { + "m_Id": "dcc72d90e28746cb964ee65047018a18" + }, + { + "m_Id": "f44f003e46a54a568c9f36cd1c0d4b8f" + }, + { + "m_Id": "758924fe232b4267b3bc4e79934f3bcf" + }, + { + "m_Id": "a60e2f76c24d4fccaed1cbdacb70b82f" + }, + { + "m_Id": "2790522d7f7d44abab462708ea5a90e1" + }, + { + "m_Id": "6fa54209823a4311835432dccb888597" + }, + { + "m_Id": "f06ab67a6b4b49b3a4278635a106eaff" + }, + { + "m_Id": "e8a9dffcb9fc41fdb1b033830e27c1c8" + }, + { + "m_Id": "13183c2d9eeb406c94e48b4a42fdd214" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "167c500157904858a1a6c664c03fdce6" + } + ], + "m_Nodes": [ + { + "m_Id": "1c95a612785c482ea5990686b76da1fa" + }, + { + "m_Id": "bbd43b3588ec4ef780dcc8e401acf48e" + }, + { + "m_Id": "32e775ed4cd145909c1b3ce74a778b53" + }, + { + "m_Id": "8bca4c7f6f514c9d9b3c2f4dd17de4d3" + }, + { + "m_Id": "eb34c79e5a834921b3c0427bc31b6981" + }, + { + "m_Id": "d5bbbc898c69485eba08fdc58d3b17d5" + }, + { + "m_Id": "7823c356668d401fb9820bd3d53923e0" + }, + { + "m_Id": "e507314ab19a4f8d8bbd44808d6b199f" + }, + { + "m_Id": "6a3e9fcbadcd4e36862915310e32771c" + }, + { + "m_Id": "b07f91d19aa44f86858cc42773ff7be9" + }, + { + "m_Id": "ebebc74dec9f45b6b549b7a106496e85" + }, + { + "m_Id": "dffebb920fbf4b4682104f4ff10a6f0f" + }, + { + "m_Id": "775a18dfb34744b788f9479a45a829a3" + }, + { + "m_Id": "d67b00dbdb504de0a15f112abfeb9ad0" + }, + { + "m_Id": "61f3733d5c6145df9f5b2d0a34cf4186" + }, + { + "m_Id": "8a217b8408f6407794361ae0edbe3c93" + }, + { + "m_Id": "581eafd2c2794bb38ff010887615bf49" + }, + { + "m_Id": "3156dab1dc074282877a72d5fea29a9d" + }, + { + "m_Id": "95803e3763b34e498f116b99362562a1" + }, + { + "m_Id": "b23998aa37dc473ba754a62187cf5110" + }, + { + "m_Id": "961a6fa5125c4c6f8427085898f76727" + }, + { + "m_Id": "b9d970da33904174ae192a6b41671ab2" + }, + { + "m_Id": "91227f6a63d24f1fad0c51b85eb7903b" + }, + { + "m_Id": "647da3cbb42d410397d62ab4ea52eedc" + }, + { + "m_Id": "51dc25fe93df4bc0b0b94bbcfc8d7fc4" + }, + { + "m_Id": "b8d2d65372e9449dac73ecd8c0ad6e87" + }, + { + "m_Id": "3fa987a5f4fe44f5bbe14fd663b761db" + }, + { + "m_Id": "0d83d22d10bb46f28c34fe8c1bafdb51" + }, + { + "m_Id": "b829e5f8015d4cae8b7416bca461ba76" + }, + { + "m_Id": "f59d4a3c34d845a0ac5acf8fff0060d7" + }, + { + "m_Id": "d71529d2fd4444b6bffd984764cbd333" + }, + { + "m_Id": "96f8fa31ce7f4080a1eded4fb869abac" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0d83d22d10bb46f28c34fe8c1bafdb51" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7823c356668d401fb9820bd3d53923e0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0d83d22d10bb46f28c34fe8c1bafdb51" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b829e5f8015d4cae8b7416bca461ba76" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3156dab1dc074282877a72d5fea29a9d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "eb34c79e5a834921b3c0427bc31b6981" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3fa987a5f4fe44f5bbe14fd663b761db" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b829e5f8015d4cae8b7416bca461ba76" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "51dc25fe93df4bc0b0b94bbcfc8d7fc4" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b07f91d19aa44f86858cc42773ff7be9" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "581eafd2c2794bb38ff010887615bf49" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3156dab1dc074282877a72d5fea29a9d" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "61f3733d5c6145df9f5b2d0a34cf4186" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0d83d22d10bb46f28c34fe8c1bafdb51" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "647da3cbb42d410397d62ab4ea52eedc" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e507314ab19a4f8d8bbd44808d6b199f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "775a18dfb34744b788f9479a45a829a3" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d67b00dbdb504de0a15f112abfeb9ad0" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8a217b8408f6407794361ae0edbe3c93" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "61f3733d5c6145df9f5b2d0a34cf4186" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "91227f6a63d24f1fad0c51b85eb7903b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "647da3cbb42d410397d62ab4ea52eedc" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "95803e3763b34e498f116b99362562a1" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0d83d22d10bb46f28c34fe8c1bafdb51" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "95803e3763b34e498f116b99362562a1" + }, + "m_SlotId": 7 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "96f8fa31ce7f4080a1eded4fb869abac" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "961a6fa5125c4c6f8427085898f76727" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "647da3cbb42d410397d62ab4ea52eedc" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "96f8fa31ce7f4080a1eded4fb869abac" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6a3e9fcbadcd4e36862915310e32771c" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b23998aa37dc473ba754a62187cf5110" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "96f8fa31ce7f4080a1eded4fb869abac" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b829e5f8015d4cae8b7416bca461ba76" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8bca4c7f6f514c9d9b3c2f4dd17de4d3" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b829e5f8015d4cae8b7416bca461ba76" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f59d4a3c34d845a0ac5acf8fff0060d7" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b8d2d65372e9449dac73ecd8c0ad6e87" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "51dc25fe93df4bc0b0b94bbcfc8d7fc4" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b9d970da33904174ae192a6b41671ab2" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "91227f6a63d24f1fad0c51b85eb7903b" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d67b00dbdb504de0a15f112abfeb9ad0" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "61f3733d5c6145df9f5b2d0a34cf4186" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d71529d2fd4444b6bffd984764cbd333" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "95803e3763b34e498f116b99362562a1" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f59d4a3c34d845a0ac5acf8fff0060d7" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ebebc74dec9f45b6b549b7a106496e85" + }, + "m_SlotId": 0 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": -1529.5, + "y": -1104.0 + }, + "m_Blocks": [ + { + "m_Id": "1c95a612785c482ea5990686b76da1fa" + }, + { + "m_Id": "bbd43b3588ec4ef780dcc8e401acf48e" + }, + { + "m_Id": "32e775ed4cd145909c1b3ce74a778b53" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": -1529.5, + "y": -904.0 + }, + "m_Blocks": [ + { + "m_Id": "8bca4c7f6f514c9d9b3c2f4dd17de4d3" + }, + { + "m_Id": "eb34c79e5a834921b3c0427bc31b6981" + }, + { + "m_Id": "d5bbbc898c69485eba08fdc58d3b17d5" + }, + { + "m_Id": "7823c356668d401fb9820bd3d53923e0" + }, + { + "m_Id": "e507314ab19a4f8d8bbd44808d6b199f" + }, + { + "m_Id": "6a3e9fcbadcd4e36862915310e32771c" + }, + { + "m_Id": "b07f91d19aa44f86858cc42773ff7be9" + }, + { + "m_Id": "ebebc74dec9f45b6b549b7a106496e85" + }, + { + "m_Id": "dffebb920fbf4b4682104f4ff10a6f0f" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_SubDatas": [], + "m_ActiveTargets": [ + { + "m_Id": "ee051e47d9d64a33a4811c0ac326e183" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "023cb6176efc4a1ca1266ca76208dd8c", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0952d48440954471b634f83502c48af0", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "0a83525c1d3d4736a44529d87dad107d", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "0ce9a3ee14d44cdfad3ab13f7a0b3f5d", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", + "m_ObjectId": "0d83d22d10bb46f28c34fe8c1bafdb51", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SpecularToMetalness (Custom Function)", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2481.662109375, + "y": -1054.751220703125, + "width": 277.4998779296875, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "23e5e3591581448b820473493f531148" + }, + { + "m_Id": "f4bd0c98b5c546f2bbd553e976d85cc9" + }, + { + "m_Id": "14342ad7cd5e4feea4477f6f94a108c2" + }, + { + "m_Id": "abf0ba3aadae466a935e7ffcce6b1d1d" + } + ], + "synonyms": [ + "code", + "HLSL" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SourceType": 1, + "m_FunctionName": "SpecularToMetalness", + "m_FunctionSource": "", + "m_FunctionBody": "// Constants\r\nfloat3 dielectricSpecular = 0.04; // Specular reflectance for dielectric materials\r\nfloat epsilon = 1e-5; // Small value to avoid division by zero\r\n\r\n// Compute perceived brightness of diffuse and specular\r\nfloat diffuseBrightness = dot(diffuseBase.xyz, float3(0.2126, 0.7152, 0.0722)); // Luminance (perceived brightness)\r\nfloat specularBrightness = dot(specularBase, float3(0.2126, 0.7152, 0.0722)); // Luminance (perceived brightness)\r\n\r\n// Compute one minus specular strength\r\nfloat oneMinusSpecularStrength = 1.0 - max(max(specularBase.r, specularBase.g), specularBase.b);\r\n\r\n// Inline solveMetallic logic\r\nif (specularBrightness < dielectricSpecular.r) {\r\n metalness = 0.0;\r\n}\r\nelse {\r\n float a = dielectricSpecular.r;\r\n float b = diffuseBrightness * oneMinusSpecularStrength / (1.0 - dielectricSpecular.r) + specularBrightness - 2.0 * dielectricSpecular.r;\r\n float c = dielectricSpecular.r - specularBrightness;\r\n float D = b * b - 4.0 * a * c;\r\n\r\n metalness = saturate((-b + sqrt(D)) / (2.0 * a));\r\n}\r\n\r\n// Compute base color\r\nfloat3 baseColorFromDiffuse = diffuseBase.xyz * (oneMinusSpecularStrength / (1.0 - dielectricSpecular.r) / max(1.0 - metalness, epsilon));\r\nfloat3 baseColorFromSpecular = (specularBase - dielectricSpecular * (1.0 - metalness)) / max(metalness, epsilon);\r\n\r\nbaseColor = float4(lerp(baseColorFromDiffuse, baseColorFromSpecular, metalness * metalness), diffuseBase.a);\r\nbaseColor = saturate(baseColor); // Clamp values between 0 and 1" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "13183c2d9eeb406c94e48b4a42fdd214", + "m_Guid": { + "m_GuidSerialized": "a7018916-09b0-4e7c-a895-406e5332a1ef" + }, + "m_Name": "_OcclusionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_OcclusionMap", + "m_DefaultReferenceName": "_OcclusionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "14342ad7cd5e4feea4477f6f94a108c2", + "m_Id": 0, + "m_DisplayName": "metalness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "metalness", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "167c500157904858a1a6c664c03fdce6", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "dcc72d90e28746cb964ee65047018a18" + }, + { + "m_Id": "f44f003e46a54a568c9f36cd1c0d4b8f" + }, + { + "m_Id": "758924fe232b4267b3bc4e79934f3bcf" + }, + { + "m_Id": "a60e2f76c24d4fccaed1cbdacb70b82f" + }, + { + "m_Id": "2790522d7f7d44abab462708ea5a90e1" + }, + { + "m_Id": "6fa54209823a4311835432dccb888597" + }, + { + "m_Id": "f06ab67a6b4b49b3a4278635a106eaff" + }, + { + "m_Id": "e8a9dffcb9fc41fdb1b033830e27c1c8" + }, + { + "m_Id": "13183c2d9eeb406c94e48b4a42fdd214" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "16be43d7b6d441d4a9d177165ac9ce09", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", + "m_ObjectId": "1b6581e1233243f782276d8d4f8c90d3", + "m_MaterialNeedsUpdateHash": 279841, + "m_SurfaceType": 0, + "m_RenderingPass": 1, + "m_BlendMode": 0, + "m_ZTest": 4, + "m_ZWrite": false, + "m_TransparentCullMode": 2, + "m_OpaqueCullMode": 2, + "m_SortPriority": 0, + "m_AlphaTest": true, + "m_ExcludeFromTUAndAA": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false, + "m_DoubleSidedMode": 0, + "m_DOTSInstancing": false, + "m_CustomVelocity": false, + "m_Tessellation": false, + "m_TessellationMode": 0, + "m_TessellationFactorMinDistance": 20.0, + "m_TessellationFactorMaxDistance": 50.0, + "m_TessellationFactorTriangleSize": 100.0, + "m_TessellationShapeFactor": 0.75, + "m_TessellationBackFaceCullEpsilon": -0.25, + "m_TessellationMaxDisplacement": 0.009999999776482582, + "m_Version": 1, + "inspectorFoldoutMask": 1 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "1c95a612785c482ea5990686b76da1fa", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "44655a7232894bbdadad5a0218c63eac" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1fc2b88a95074e10aeca4fbe2e2fe4fa", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1fce8e13d05642f8bb2f4ff590cfd212", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "20c1431b14d84e5385568171e0bc132e", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "21bac288f7f04ea0af44b76d8d307bb7", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "225b111e3280437782b54d6e5111d32c", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "23e5e3591581448b820473493f531148", + "m_Id": 1, + "m_DisplayName": "diffuseBase", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "diffuseBase", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "2790522d7f7d44abab462708ea5a90e1", + "m_Guid": { + "m_GuidSerialized": "393381c2-60b2-4d87-b1c2-1b75d5873cfb" + }, + "m_Name": "_Glossiness", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Glossiness", + "m_DefaultReferenceName": "_Glossiness", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "27b0fa1c8f1d46d392cb11b2e16f4f2c", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "28f1855dbff240a3ac702c4dffa11b33", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2a4202075c07499fafbac0e3135c41c2", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "2c8fc0d6d919410782877be486e1e18b", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "3156dab1dc074282877a72d5fea29a9d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2806.662109375, + "y": -1290.251220703125, + "width": 183.0, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "89907f96d9c94566bb18cf186c188b4f" + }, + { + "m_Id": "ccfd8457170448988abfbc5c3595c3ab" + }, + { + "m_Id": "c2363ae8a64340aab956afbc22cdebda" + }, + { + "m_Id": "99f579c109c04d45b2fa6d8464b3eb09" + }, + { + "m_Id": "96e56e984aa84074ad1a83f4720c6362" + }, + { + "m_Id": "8129ed5556bf4bc4b97f073a2fd13e14" + }, + { + "m_Id": "225b111e3280437782b54d6e5111d32c" + }, + { + "m_Id": "c3a2b1ba883e4358b88b029584f57aca" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 1, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "32e775ed4cd145909c1b3ce74a778b53", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "bd7ed0ef6ab04c288e56ee15b01cd0af" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "37a745a029344c8ba6a5dc4d3cef650b", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitData", + "m_ObjectId": "382e6e2696b8410e806db1ab8b153292", + "m_RayTracing": false, + "m_MaterialType": 0, + "m_RefractionModel": 0, + "m_SSSTransmission": true, + "m_EnergyConservingSpecular": true, + "m_ClearCoat": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "38ce0f873e3949b39d3f2f75e7cb0f9c", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "3b190923bb584125aa6198369aa2efef", + "m_Id": 0, + "m_DisplayName": "_OcclusionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "3b7990b5045d45549c165de3b2c7ee64", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "3c003f097ab84db8b02276922ad2cedf", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "3d3e51e2a44b4b0ba6312b3ddbbf2254", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.VertexColorNode", + "m_ObjectId": "3fa987a5f4fe44f5bbe14fd663b761db", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Vertex Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2321.662353515625, + "y": -1342.251220703125, + "width": 117.5001220703125, + "height": 93.99998474121094 + } + }, + "m_Slots": [ + { + "m_Id": "82f06637dfc14b1d802fad04d4d069e1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "44655a7232894bbdadad5a0218c63eac", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "48b48fabe3624ba2bd234964893febaa", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "491c5b0874f740299bdac9679f245053", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "4950284d45de450dabd4579b1721e2c9", + "m_Id": 0, + "m_DisplayName": "_SpecGlossMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "49f365d4ec4f44b3a7ff52f8e92941fd", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4aa7e47751634f1a8e0d8b2715617451", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "51dc25fe93df4bc0b0b94bbcfc8d7fc4", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2904.662109375, + "y": 159.748779296875, + "width": 208.0, + "height": 434.0001220703125 + } + }, + "m_Slots": [ + { + "m_Id": "f660bf9b62804a97bebcc519f9fadfac" + }, + { + "m_Id": "e394c0c42e354f5289d3c51eda91dcb1" + }, + { + "m_Id": "1fce8e13d05642f8bb2f4ff590cfd212" + }, + { + "m_Id": "2a4202075c07499fafbac0e3135c41c2" + }, + { + "m_Id": "20c1431b14d84e5385568171e0bc132e" + }, + { + "m_Id": "2c8fc0d6d919410782877be486e1e18b" + }, + { + "m_Id": "7f77dbba50284c5182471e3a164a0090" + }, + { + "m_Id": "48b48fabe3624ba2bd234964893febaa" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "528a5983808540079097543761a77533", + "m_Id": 0, + "m_DisplayName": "_EmissionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "581eafd2c2794bb38ff010887615bf49", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3056.662109375, + "y": -1310.751220703125, + "width": 141.5, + "height": 34.00001525878906 + } + }, + "m_Slots": [ + { + "m_Id": "d62cbac2f43a47abb181e797b1b2cb43" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "758924fe232b4267b3bc4e79934f3bcf" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "5b44fe7f163d4286a2b440f4fc0d7bbf", + "m_Id": 0, + "m_DisplayName": "_MainTex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5d16d42a828e40479199a9b0b1dd3d80", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "617bc903a1b241c3929e29a059b09869", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "61f3733d5c6145df9f5b2d0a34cf4186", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2831.662353515625, + "y": -1750.251220703125, + "width": 208.0001220703125, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "0a83525c1d3d4736a44529d87dad107d" + }, + { + "m_Id": "1fc2b88a95074e10aeca4fbe2e2fe4fa" + }, + { + "m_Id": "16be43d7b6d441d4a9d177165ac9ce09" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "6335eef875354491a7dade32bd4e7099", + "m_Id": 0, + "m_DisplayName": "_EmissionColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "647da3cbb42d410397d62ab4ea52eedc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2453.662109375, + "y": -292.75128173828127, + "width": 129.5, + "height": 118.00006103515625 + } + }, + "m_Slots": [ + { + "m_Id": "9e77240e70ec4f83892b24d5ca8c09bf" + }, + { + "m_Id": "28f1855dbff240a3ac702c4dffa11b33" + }, + { + "m_Id": "617bc903a1b241c3929e29a059b09869" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "6594af60c7664e7fa7e38f61a53a4c18", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "66996fd47e4d4e00a46f76c464724da2", + "m_Id": 0, + "m_DisplayName": "Bent Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BentNormal", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "66f1ac7eed5d4df68f85373a38516a61", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "6a3e9fcbadcd4e36862915310e32771c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "21bac288f7f04ea0af44b76d8d307bb7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6e8f9f0fb7c4472a8b384af20a1d6403", + "m_Id": 0, + "m_DisplayName": "Alpha Clip Threshold", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "AlphaClipThreshold", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6eaf534bad5349b7a21b892cc39bef21", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "6fa54209823a4311835432dccb888597", + "m_Guid": { + "m_GuidSerialized": "a26c9cad-10b6-4a15-88f0-f18e979bfb46" + }, + "m_Name": "_SpecGlossMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_SpecGlossMap", + "m_DefaultReferenceName": "_SpecGlossMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7157b290f5044baa8ce0a0687937be1f", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "758924fe232b4267b3bc4e79934f3bcf", + "m_Guid": { + "m_GuidSerialized": "2d1ea161-43d7-48ed-846d-79170306406a" + }, + "m_Name": "_BumpMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_BumpMap", + "m_DefaultReferenceName": "_BumpMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"14eeb87a1b34eaa4db60b71bcf17bdad\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "775a18dfb34744b788f9479a45a829a3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3367.662353515625, + "y": -1767.251220703125, + "width": 133.50006103515626, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "5b44fe7f163d4286a2b440f4fc0d7bbf" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "dcc72d90e28746cb964ee65047018a18" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "7823c356668d401fb9820bd3d53923e0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "ca04f94960e24de6958be662a70d9ba8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "7f77dbba50284c5182471e3a164a0090", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7ff8a328bfda404b82e9bbca28df046b", + "m_Id": 0, + "m_DisplayName": "_Glossiness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "8129ed5556bf4bc4b97f073a2fd13e14", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "82f06637dfc14b1d802fad04d4d069e1", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitSubTarget", + "m_ObjectId": "87f2c347dc564f52ae23c4f775148df5" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "89907f96d9c94566bb18cf186c188b4f", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "8a217b8408f6407794361ae0edbe3c93", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2980.662109375, + "y": -1643.751220703125, + "width": 109.9998779296875, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "8c1e9cf4c7fc40d98629d2ef0241017a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "f44f003e46a54a568c9f36cd1c0d4b8f" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8b1e980fce7f4a3a938dec892d0b3ec8", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "8bca4c7f6f514c9d9b3c2f4dd17de4d3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "f99244b32e044139a29e8c03ad94ad18" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "8c1e9cf4c7fc40d98629d2ef0241017a", + "m_Id": 0, + "m_DisplayName": "_Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "8e489004456a4ebd8bfce56cdb65215c", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "8fe3504595d7409f8d6a085ee1bcf2b9", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "91227f6a63d24f1fad0c51b85eb7903b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2888.162109375, + "y": -292.75128173828127, + "width": 182.9998779296875, + "height": 250.00006103515626 + } + }, + "m_Slots": [ + { + "m_Id": "aac1abff589e42ab886e7da4a517a7be" + }, + { + "m_Id": "27b0fa1c8f1d46d392cb11b2e16f4f2c" + }, + { + "m_Id": "3d3e51e2a44b4b0ba6312b3ddbbf2254" + }, + { + "m_Id": "8b1e980fce7f4a3a938dec892d0b3ec8" + }, + { + "m_Id": "0952d48440954471b634f83502c48af0" + }, + { + "m_Id": "8e489004456a4ebd8bfce56cdb65215c" + }, + { + "m_Id": "9b4b8c14fb6345c9ae7ee21c06f5b8da" + }, + { + "m_Id": "fb7f89201f9342028c450c3960f4ca82" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "931e49a70f994cbd8b6da074f0a1cfc7", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "95803e3763b34e498f116b99362562a1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2888.162109375, + "y": -752.751220703125, + "width": 182.9998779296875, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "b2371c29ac1d4734be6e87312254744e" + }, + { + "m_Id": "bc27463e46814acdb493110eac1ba634" + }, + { + "m_Id": "d8c9109802d0425e914e9dcfa268516d" + }, + { + "m_Id": "6eaf534bad5349b7a21b892cc39bef21" + }, + { + "m_Id": "d69e5a76a87a47299706c8135ce63bd8" + }, + { + "m_Id": "edbd31b6f4f14f12b9523677292609e7" + }, + { + "m_Id": "0ce9a3ee14d44cdfad3ab13f7a0b3f5d" + }, + { + "m_Id": "f361337b8ced4f8f9f5ad693331337e9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "961a6fa5125c4c6f8427085898f76727", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2640.662109375, + "y": -79.751220703125, + "width": 155.9998779296875, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "6335eef875354491a7dade32bd4e7099" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "f06ab67a6b4b49b3a4278635a106eaff" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "96e56e984aa84074ad1a83f4720c6362", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "96f8fa31ce7f4080a1eded4fb869abac", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2416.000244140625, + "y": -613.0000610351563, + "width": 126.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "023cb6176efc4a1ca1266ca76208dd8c" + }, + { + "m_Id": "3c003f097ab84db8b02276922ad2cedf" + }, + { + "m_Id": "8fe3504595d7409f8d6a085ee1bcf2b9" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "97eab747beed406c8ee93152062dba9e", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "99f579c109c04d45b2fa6d8464b3eb09", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "9b4b8c14fb6345c9ae7ee21c06f5b8da", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9e77240e70ec4f83892b24d5ca8c09bf", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "a60e2f76c24d4fccaed1cbdacb70b82f", + "m_Guid": { + "m_GuidSerialized": "c0462c64-9c1c-4f90-a3f8-075bea709875" + }, + "m_Name": "_Metallic", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Metallic", + "m_DefaultReferenceName": "_Metallic", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "a8acea1eaac74ce7a15ba26d3e29eba1", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "aac1abff589e42ab886e7da4a517a7be", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "abf0ba3aadae466a935e7ffcce6b1d1d", + "m_Id": 3, + "m_DisplayName": "baseColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "baseColor", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "b07f91d19aa44f86858cc42773ff7be9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "931e49a70f994cbd8b6da074f0a1cfc7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "b0f410ede1a0482b87fa76ca4acb1488", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "b2371c29ac1d4734be6e87312254744e", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "b23998aa37dc473ba754a62187cf5110", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2589.662109375, + "y": -646.751220703125, + "width": 136.0, + "height": 34.000030517578128 + } + }, + "m_Slots": [ + { + "m_Id": "7ff8a328bfda404b82e9bbca28df046b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "2790522d7f7d44abab462708ea5a90e1" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b417d77d1bca44188aba959be825b8bb", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "b829e5f8015d4cae8b7416bca461ba76", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2096.162109375, + "y": -1342.251220703125, + "width": 208.0, + "height": 302.00006103515627 + } + }, + "m_Slots": [ + { + "m_Id": "e7ee65f7d3c24286a5b3f45c205460f6" + }, + { + "m_Id": "66f1ac7eed5d4df68f85373a38516a61" + }, + { + "m_Id": "a8acea1eaac74ce7a15ba26d3e29eba1" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "b8d2d65372e9449dac73ecd8c0ad6e87", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3090.662109375, + "y": 159.748779296875, + "width": 162.5, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "3b190923bb584125aa6198369aa2efef" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "13183c2d9eeb406c94e48b4a42fdd214" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "b9d970da33904174ae192a6b41671ab2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3076.662109375, + "y": -326.751220703125, + "width": 157.4998779296875, + "height": 33.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "528a5983808540079097543761a77533" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "e8a9dffcb9fc41fdb1b033830e27c1c8" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "bbd43b3588ec4ef780dcc8e401acf48e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "b0f410ede1a0482b87fa76ca4acb1488" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bc27463e46814acdb493110eac1ba634", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "bd7ed0ef6ab04c288e56ee15b01cd0af", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.BuiltinData", + "m_ObjectId": "c108f46c8ba04b18a9d02786fdcb1eed", + "m_Distortion": false, + "m_DistortionMode": 0, + "m_DistortionDepthTest": true, + "m_AddPrecomputedVelocity": false, + "m_TransparentWritesMotionVec": false, + "m_DepthOffset": false, + "m_ConservativeDepthOffset": false, + "m_TransparencyFog": true, + "m_AlphaTestShadow": false, + "m_BackThenFrontRendering": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c2363ae8a64340aab956afbc22cdebda", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "c3a2b1ba883e4358b88b029584f57aca", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ca04f94960e24de6958be662a70d9ba8", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "cb87c770a1704b8e949e061bfddf2c8f", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ccfd8457170448988abfbc5c3595c3ab", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d22691bfb5654f7091d36876b010d9c8", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "d5bbbc898c69485eba08fdc58d3b17d5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BentNormal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "66996fd47e4d4e00a46f76c464724da2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BentNormal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "d62cbac2f43a47abb181e797b1b2cb43", + "m_Id": 0, + "m_DisplayName": "_BumpMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "d67b00dbdb504de0a15f112abfeb9ad0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3194.662353515625, + "y": -1750.251220703125, + "width": 183.0001220703125, + "height": 249.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "97eab747beed406c8ee93152062dba9e" + }, + { + "m_Id": "d22691bfb5654f7091d36876b010d9c8" + }, + { + "m_Id": "5d16d42a828e40479199a9b0b1dd3d80" + }, + { + "m_Id": "37a745a029344c8ba6a5dc4d3cef650b" + }, + { + "m_Id": "7157b290f5044baa8ce0a0687937be1f" + }, + { + "m_Id": "3b7990b5045d45549c165de3b2c7ee64" + }, + { + "m_Id": "38ce0f873e3949b39d3f2f75e7cb0f9c" + }, + { + "m_Id": "cb87c770a1704b8e949e061bfddf2c8f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d69e5a76a87a47299706c8135ce63bd8", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "d71529d2fd4444b6bffd984764cbd333", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3081.5, + "y": -787.0, + "width": 166.5, + "height": 33.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "4950284d45de450dabd4579b1721e2c9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "6fa54209823a4311835432dccb888597" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d8c9109802d0425e914e9dcfa268516d", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "dcc72d90e28746cb964ee65047018a18", + "m_Guid": { + "m_GuidSerialized": "7b471ff9-6280-4929-9857-2f5ed1879ff5" + }, + "m_Name": "_MainTex", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_MainTex", + "m_DefaultReferenceName": "_MainTex", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "dffebb920fbf4b4682104f4ff10a6f0f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.AlphaClipThreshold", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "6e8f9f0fb7c4472a8b384af20a1d6403" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e394c0c42e354f5289d3c51eda91dcb1", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "e507314ab19a4f8d8bbd44808d6b199f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "6594af60c7664e7fa7e38f61a53a4c18" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e7ee65f7d3c24286a5b3f45c205460f6", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "e8a9dffcb9fc41fdb1b033830e27c1c8", + "m_Guid": { + "m_GuidSerialized": "5fefe7b8-2d7d-48fb-abad-dcaba534027f" + }, + "m_Name": "_EmissionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionMap", + "m_DefaultReferenceName": "_EmissionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "eb34c79e5a834921b3c0427bc31b6981", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "ebd3b9ec6c544d67bdbeca334ff719b7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "ebd3b9ec6c544d67bdbeca334ff719b7", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "ebebc74dec9f45b6b549b7a106496e85", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "f5268e4774f948b295eaafe98eab5922" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "edbd31b6f4f14f12b9523677292609e7", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDTarget", + "m_ObjectId": "ee051e47d9d64a33a4811c0ac326e183", + "m_ActiveSubTarget": { + "m_Id": "87f2c347dc564f52ae23c4f775148df5" + }, + "m_Datas": [ + { + "m_Id": "c108f46c8ba04b18a9d02786fdcb1eed" + }, + { + "m_Id": "1b6581e1233243f782276d8d4f8c90d3" + }, + { + "m_Id": "ee2dc426570b476ca3beebf8969cf950" + }, + { + "m_Id": "382e6e2696b8410e806db1ab8b153292" + } + ], + "m_CustomEditorGUI": "", + "m_SupportVFX": false, + "m_SupportComputeForVertexSetup": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.LightingData", + "m_ObjectId": "ee2dc426570b476ca3beebf8969cf950", + "m_NormalDropOffSpace": 0, + "m_BlendPreserveSpecular": true, + "m_ReceiveDecals": true, + "m_ReceiveSSR": true, + "m_ReceiveSSRTransparent": false, + "m_SpecularAA": false, + "m_SpecularOcclusionMode": 1, + "m_OverrideBakedGI": false +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "f06ab67a6b4b49b3a4278635a106eaff", + "m_Guid": { + "m_GuidSerialized": "2e3aef6a-9c80-41d0-b7ff-ec085321628b" + }, + "m_Name": "_EmissionColor", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionColor", + "m_DefaultReferenceName": "_EmissionColor", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "f361337b8ced4f8f9f5ad693331337e9", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "f44f003e46a54a568c9f36cd1c0d4b8f", + "m_Guid": { + "m_GuidSerialized": "aaa3a14d-3ad5-4b1d-9e7d-f7da96332a40" + }, + "m_Name": "_Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Color", + "m_DefaultReferenceName": "_Color", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "f4bd0c98b5c546f2bbd553e976d85cc9", + "m_Id": 2, + "m_DisplayName": "specularBase", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "specularBase", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f5268e4774f948b295eaafe98eab5922", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "f59d4a3c34d845a0ac5acf8fff0060d7", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1803.1622314453125, + "y": -1052.751220703125, + "width": 119.0, + "height": 148.99998474121095 + } + }, + "m_Slots": [ + { + "m_Id": "49f365d4ec4f44b3a7ff52f8e92941fd" + }, + { + "m_Id": "fb9430e3539e40be815723728fff6c27" + }, + { + "m_Id": "491c5b0874f740299bdac9679f245053" + }, + { + "m_Id": "4aa7e47751634f1a8e0d8b2715617451" + }, + { + "m_Id": "b417d77d1bca44188aba959be825b8bb" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "f660bf9b62804a97bebcc519f9fadfac", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "f99244b32e044139a29e8c03ad94ad18", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "fb7f89201f9342028c450c3960f4ca82", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "fb9430e3539e40be815723728fff6c27", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPSpecularGLTF2.shadergraph.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPSpecularGLTF2.shadergraph.meta new file mode 100644 index 00000000..0cf85b75 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPSpecularGLTF2.shadergraph.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: fcb0070ccef9d3644beed525d311ad57 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/HDRP/HDRPSpecularGLTF2.shadergraph + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard.meta new file mode 100644 index 00000000..af9cf7f7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40c4e127e8ea1464a86fe7cde159ef1f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.mat b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.mat new file mode 100644 index 00000000..81a19db2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.mat @@ -0,0 +1,97 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: StandardGLTF2 + m_Shader: {fileID: -6465566751694194690, guid: 30584142f4fd5864ab6b31fa94e04f0e, + type: 3} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BUILTIN_QueueControl: 0 + - _BUILTIN_QueueOffset: 0 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SPECGLOSS: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &3628760742412330452 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.mat.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.mat.meta new file mode 100644 index 00000000..a9829711 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: e2779d07b2355234e873fff7f74e0727 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.mat + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.shadergraph b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.shadergraph new file mode 100644 index 00000000..23e05296 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.shadergraph @@ -0,0 +1,4096 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "8f1787159dc04bc1a588f0aff6eaea2d", + "m_Properties": [ + { + "m_Id": "d73151a495364c299fd28edd387b4f7f" + }, + { + "m_Id": "400b9aa797ff4ffa99094683901c4e0c" + }, + { + "m_Id": "309e56b2eea848fba43e52beefb48d8e" + }, + { + "m_Id": "ce0ca4087f284fb68cbfd39c1f5b5be5" + }, + { + "m_Id": "be8b2f40504947bbb27b19f121ee6d8e" + }, + { + "m_Id": "f59ce221023a4bde808c66a4b0294ec3" + }, + { + "m_Id": "9c61f4d144ad4e278d706cb29d416e4d" + }, + { + "m_Id": "d7cd8f6769ab4ffb8eed13b3cd178461" + }, + { + "m_Id": "bdd5c006e66f4f9f8c7b507ffcb55e4f" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "ef68eef16d6847a2a42a943c36a96a5e" + } + ], + "m_Nodes": [ + { + "m_Id": "4ca4b46d16da476cb2da3bb3adecc690" + }, + { + "m_Id": "974b9cfcb9364dc99cda8dfbaa02aaf2" + }, + { + "m_Id": "3421547d496044beb2da5470cda0e9d3" + }, + { + "m_Id": "4ac987a39c2d4fa8a11931a865e039ec" + }, + { + "m_Id": "31ee1cc5933647d3859adb438f999d4e" + }, + { + "m_Id": "bc3e3295467d4e03ac3bbb2c9027e48a" + }, + { + "m_Id": "6507b729e4a04a3487fa829f990fc6ad" + }, + { + "m_Id": "a0fd0e58d2604d5dadf2d795e5e627c5" + }, + { + "m_Id": "dd698676683b4fe189338fe5024a281f" + }, + { + "m_Id": "c41a7ab193b64707a17ed309aaf12594" + }, + { + "m_Id": "8ec2767c10e349b88f8be2b810684e7a" + }, + { + "m_Id": "1768b4e7002f4124a1a88c4a2f7be047" + }, + { + "m_Id": "48df368541ec4ddcbff7cc4c4fcb11c5" + }, + { + "m_Id": "c60c7cbec38b47eca5afc8209c75007c" + }, + { + "m_Id": "9f9debde35c5458d8c174803cd72814b" + }, + { + "m_Id": "98f1c0c687e34ad6b6b545bedc9dea4c" + }, + { + "m_Id": "e6d27ac76b3d4ae9aa13685f7b04ade6" + }, + { + "m_Id": "d88e83c358624d658d855472b2c6dab2" + }, + { + "m_Id": "957db5b0a4924871b8596ef35819e4fb" + }, + { + "m_Id": "d4de24e1965a4110bce61eda5cd92963" + }, + { + "m_Id": "e262fbf6b2e44d74b0efc1ddcce0e1cc" + }, + { + "m_Id": "7618b7d23f37467fa8f4622ccea5f03c" + }, + { + "m_Id": "e65f5476a870416790fdcbd685fb12f2" + }, + { + "m_Id": "88dc528928824f1b9f131b46ddb7a9d1" + }, + { + "m_Id": "4837dab5c4f1452baf974163f439337a" + }, + { + "m_Id": "355c05aacaaf431a840e41a48e70aecc" + }, + { + "m_Id": "63df49fc70814b608d27b6d21fa4b470" + }, + { + "m_Id": "c12f91d88a7d4f11a3bd66dda463f4a4" + }, + { + "m_Id": "adf0e30d3e624a73a48839e83e6fbfcc" + }, + { + "m_Id": "44509a6da66a49258fec0d81eee6ad0b" + }, + { + "m_Id": "23efcefa698d4dea855b09a3d5baa103" + }, + { + "m_Id": "04fcb42aafd34ab0a183aeabacc1eeb2" + }, + { + "m_Id": "1b657e0aef2b4585a6758df226e23889" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "04fcb42aafd34ab0a183aeabacc1eeb2" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c12f91d88a7d4f11a3bd66dda463f4a4" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1768b4e7002f4124a1a88c4a2f7be047" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "63df49fc70814b608d27b6d21fa4b470" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1b657e0aef2b4585a6758df226e23889" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bc3e3295467d4e03ac3bbb2c9027e48a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "23efcefa698d4dea855b09a3d5baa103" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "adf0e30d3e624a73a48839e83e6fbfcc" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "355c05aacaaf431a840e41a48e70aecc" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "63df49fc70814b608d27b6d21fa4b470" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4837dab5c4f1452baf974163f439337a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "88dc528928824f1b9f131b46ddb7a9d1" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "48df368541ec4ddcbff7cc4c4fcb11c5" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1768b4e7002f4124a1a88c4a2f7be047" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "63df49fc70814b608d27b6d21fa4b470" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "23efcefa698d4dea855b09a3d5baa103" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "63df49fc70814b608d27b6d21fa4b470" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4ac987a39c2d4fa8a11931a865e039ec" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7618b7d23f37467fa8f4622ccea5f03c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e65f5476a870416790fdcbd685fb12f2" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "88dc528928824f1b9f131b46ddb7a9d1" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "dd698676683b4fe189338fe5024a281f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8ec2767c10e349b88f8be2b810684e7a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1768b4e7002f4124a1a88c4a2f7be047" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "957db5b0a4924871b8596ef35819e4fb" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1b657e0aef2b4585a6758df226e23889" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "98f1c0c687e34ad6b6b545bedc9dea4c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e6d27ac76b3d4ae9aa13685f7b04ade6" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9f9debde35c5458d8c174803cd72814b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "31ee1cc5933647d3859adb438f999d4e" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c12f91d88a7d4f11a3bd66dda463f4a4" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6507b729e4a04a3487fa829f990fc6ad" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c41a7ab193b64707a17ed309aaf12594" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8ec2767c10e349b88f8be2b810684e7a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c60c7cbec38b47eca5afc8209c75007c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9f9debde35c5458d8c174803cd72814b" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d4de24e1965a4110bce61eda5cd92963" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e65f5476a870416790fdcbd685fb12f2" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d88e83c358624d658d855472b2c6dab2" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "04fcb42aafd34ab0a183aeabacc1eeb2" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e262fbf6b2e44d74b0efc1ddcce0e1cc" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7618b7d23f37467fa8f4622ccea5f03c" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e65f5476a870416790fdcbd685fb12f2" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a0fd0e58d2604d5dadf2d795e5e627c5" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e6d27ac76b3d4ae9aa13685f7b04ade6" + }, + "m_SlotId": 5 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "04fcb42aafd34ab0a183aeabacc1eeb2" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e6d27ac76b3d4ae9aa13685f7b04ade6" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1b657e0aef2b4585a6758df226e23889" + }, + "m_SlotId": 1 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 2762.5, + "y": -140.50009155273438 + }, + "m_Blocks": [ + { + "m_Id": "4ca4b46d16da476cb2da3bb3adecc690" + }, + { + "m_Id": "974b9cfcb9364dc99cda8dfbaa02aaf2" + }, + { + "m_Id": "3421547d496044beb2da5470cda0e9d3" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 2762.5, + "y": 152.4999542236328 + }, + "m_Blocks": [ + { + "m_Id": "4ac987a39c2d4fa8a11931a865e039ec" + }, + { + "m_Id": "31ee1cc5933647d3859adb438f999d4e" + }, + { + "m_Id": "bc3e3295467d4e03ac3bbb2c9027e48a" + }, + { + "m_Id": "6507b729e4a04a3487fa829f990fc6ad" + }, + { + "m_Id": "a0fd0e58d2604d5dadf2d795e5e627c5" + }, + { + "m_Id": "dd698676683b4fe189338fe5024a281f" + }, + { + "m_Id": "adf0e30d3e624a73a48839e83e6fbfcc" + }, + { + "m_Id": "44509a6da66a49258fec0d81eee6ad0b" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "43fed59fa4ed433d94533a6b823cc708" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "00f9f367db73449d9faba2f9e807243e", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "04fcb42aafd34ab0a183aeabacc1eeb2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1653.5, + "y": 356.5, + "width": 126.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "e4d5311d9bc94d728da9e97109251463" + }, + { + "m_Id": "cf97cc89459241c389d51c7b62ebed5a" + }, + { + "m_Id": "bdb9dc88ce064c8797e3d88590338277" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "05d9a2320245402cad99a5680cedeaaf", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "06cd1bda8ca04ff388df3009ec67c236", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "0b0908087e0e47aeb7729857a701328f", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0b5282c8635545b78f904723249dfdc0", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0bdcb74d9d944e489e49231616eeff35", + "m_Id": 0, + "m_DisplayName": "_Metallic", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "146cb91c2f344c03b4d5b629c3b31b75", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "1768b4e7002f4124a1a88c4a2f7be047", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1337.0, + "y": -563.9999389648438, + "width": 129.5, + "height": 117.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "e508be178b5440829618c6bc3ea97099" + }, + { + "m_Id": "f2b660aa2a4b4c088bc583e471eb029c" + }, + { + "m_Id": "89b7cad4cdb945e5a89dc1d46b33f9fa" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1932c67a521a4cd9a37208503bc4da11", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1b1db413b5b14bb381b4189ddef031a4", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "1b657e0aef2b4585a6758df226e23889", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1653.5, + "y": 204.5, + "width": 126.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "f9d78534052f43a5b889f2d1b229ffbd" + }, + { + "m_Id": "bf7770d865b547c59d68b6ff25364046" + }, + { + "m_Id": "a74982b2203b4b60ab582986cd1f87ca" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1f96de7041a549d28f17e06f6c10eccd", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "23efcefa698d4dea855b09a3d5baa103", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2231.5, + "y": -199.5000457763672, + "width": 119.0, + "height": 149.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "b2abbe3ae3da4bf2bbe22e83d8ce09cc" + }, + { + "m_Id": "4f70c8a87ace47729fde6a19d14c9544" + }, + { + "m_Id": "8eac9e07f1d74433b09b2c08c56a4564" + }, + { + "m_Id": "f582e1c579ae47b285cd5404b7efdb1d" + }, + { + "m_Id": "e0e926e4c59548f48323fd0f45a2ed6a" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "242c3772a8854e86b6d47ec2dc894711", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2ac65590367a47fea69470180415d3ba", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "309e56b2eea848fba43e52beefb48d8e", + "m_Guid": { + "m_GuidSerialized": "403db79d-d30b-427b-9db2-a00208a68b0c" + }, + "m_Name": "_MetallicGlossMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_MetallicGlossMap", + "m_DefaultReferenceName": "_MetallicGlossMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": true, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "30e0e6c26b4740ceaee5e81aba02c6dd", + "m_Id": 0, + "m_DisplayName": "_MetallicGlossMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "31ee1cc5933647d3859adb438f999d4e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "51604c39d778405a9663a3d1fd4ad120" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "31f676b7732a44e89cda73ae8182973c", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "32b2fc4a03c8462db5fd788ec5ba68ce", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "338c2a8584bc4f379e5c5c64653a1daf", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "3421547d496044beb2da5470cda0e9d3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "8c51dfe633d44de6ad35808d482dc397" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "343eb3e60fd24addba1439a3056c6577", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.VertexColorNode", + "m_ObjectId": "355c05aacaaf431a840e41a48e70aecc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Vertex Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1594.0, + "y": -457.5, + "width": 117.5001220703125, + "height": 93.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "06cd1bda8ca04ff388df3009ec67c236" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.BuiltIn.ShaderGraph.BuiltInLitSubTarget", + "m_ObjectId": "3574c2da56e740b495a5900460928e45", + "m_WorkflowMode": 1, + "m_NormalDropOffSpace": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "3990e3b4b26d40a39de3886952d495dd", + "m_Id": 0, + "m_DisplayName": "_MainTex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "3b72d3622a3e4aac8d83d9fdcc93e9a5", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "400b9aa797ff4ffa99094683901c4e0c", + "m_Guid": { + "m_GuidSerialized": "5c2f21d5-56fe-4e92-b73e-bc8d42ef00ef" + }, + "m_Name": "_BumpMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_BumpMap", + "m_DefaultReferenceName": "_BumpMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"14eeb87a1b34eaa4db60b71bcf17bdad\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": true, + "m_Modifiable": true, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.Rendering.BuiltIn.ShaderGraph.BuiltInTarget", + "m_ObjectId": "43fed59fa4ed433d94533a6b823cc708", + "m_ActiveSubTarget": { + "m_Id": "3574c2da56e740b495a5900460928e45" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZWriteControl": 0, + "m_ZTestMode": 4, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": true, + "m_CustomEditorGUI": "" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "44509a6da66a49258fec0d81eee6ad0b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.AlphaClipThreshold", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "6499d6cbb88544e3bed810a4afa43359" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "4837dab5c4f1452baf974163f439337a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1779.5, + "y": 983.0, + "width": 162.5001220703125, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "5fe4039655d843cf938430869e73a5f6" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "bdd5c006e66f4f9f8c7b507ffcb55e4f" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "48df368541ec4ddcbff7cc4c4fcb11c5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1188.0, + "y": -457.49993896484377, + "width": 110.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "779c55b3b3a746e496375228a0e09a8f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "be8b2f40504947bbb27b19f121ee6d8e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "4ac987a39c2d4fa8a11931a865e039ec", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "9c9e2f06a9514e5a89eb6c46f2fdc5f1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "4ca4b46d16da476cb2da3bb3adecc690", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1906.4998779296875, + "y": -24.000024795532228, + "width": 200.0001220703125, + "height": 41.000038146972659 + } + }, + "m_Slots": [ + { + "m_Id": "31f676b7732a44e89cda73ae8182973c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4f70c8a87ace47729fde6a19d14c9544", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "51604c39d778405a9663a3d1fd4ad120", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5506de06ef564b4ab4e5eaf0609842f9", + "m_Id": 0, + "m_DisplayName": "_Roughness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "56d1d1258d714ad98099a44c977fa982", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "57737a8d87b84a6b9047ce8a6e32432b", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5b7c40da69a3450b9f118aa7b2453353", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5f617d5260424a58bccd8992ff7ad8d6", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "5fe4039655d843cf938430869e73a5f6", + "m_Id": 0, + "m_DisplayName": "_OcclusionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "63df49fc70814b608d27b6d21fa4b470", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1844.5001220703125, + "y": -564.0, + "width": 207.9998779296875, + "height": 301.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "ba159af155c94713abe90a5787fa5569" + }, + { + "m_Id": "b90b7d0fbaf640ed872fd55aff15d429" + }, + { + "m_Id": "9f303b1139074d41bc52fa948096f956" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "644e2401fa484786a4e211993c81d39b", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6499d6cbb88544e3bed810a4afa43359", + "m_Id": 0, + "m_DisplayName": "Alpha Clip Threshold", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "AlphaClipThreshold", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "6507b729e4a04a3487fa829f990fc6ad", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "1f96de7041a549d28f17e06f6c10eccd" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "726f6f8ff59449c2bef76e42ae02455e", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "7618b7d23f37467fa8f4622ccea5f03c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1584.5, + "y": 631.5000610351563, + "width": 183.0001220703125, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "0b0908087e0e47aeb7729857a701328f" + }, + { + "m_Id": "5b7c40da69a3450b9f118aa7b2453353" + }, + { + "m_Id": "c1c9ac691b3f4cb2aac1448f2ac81c99" + }, + { + "m_Id": "d75acc54ebd94413a10e5b68ee237bee" + }, + { + "m_Id": "a0e4716f1cc046fda82a3e93f8ee6ded" + }, + { + "m_Id": "8c87ef0df8094e7fa228f3369d4d9060" + }, + { + "m_Id": "af4ca618e6ba4b06acf12a9be696ac96" + }, + { + "m_Id": "56d1d1258d714ad98099a44c977fa982" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "76762eb64c4247f9bbf907efdd52dd43", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "779c55b3b3a746e496375228a0e09a8f", + "m_Id": 0, + "m_DisplayName": "_Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "787cf024f1fb41a68b7123e5323b1ed1", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "7d364c170ef44189a6982ecb8fc8d459", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8235ac341d5c4b9487376049c4ac509a", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "82394c5b419d48f2969b23d20f6c6617", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "88dc528928824f1b9f131b46ddb7a9d1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1965.5, + "y": 983.0, + "width": 183.0, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "726f6f8ff59449c2bef76e42ae02455e" + }, + { + "m_Id": "0b5282c8635545b78f904723249dfdc0" + }, + { + "m_Id": "2ac65590367a47fea69470180415d3ba" + }, + { + "m_Id": "76762eb64c4247f9bbf907efdd52dd43" + }, + { + "m_Id": "32b2fc4a03c8462db5fd788ec5ba68ce" + }, + { + "m_Id": "b8a1a4e856ba4ee088196eb0627a703a" + }, + { + "m_Id": "89b114c40e314df79e9f79f0b4dd0744" + }, + { + "m_Id": "f80930e92099497d821582d806054022" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "89b114c40e314df79e9f79f0b4dd0744", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "89b7cad4cdb945e5a89dc1d46b33f9fa", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "8c51dfe633d44de6ad35808d482dc397", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "8c87ef0df8094e7fa228f3369d4d9060", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8eac9e07f1d74433b09b2c08c56a4564", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "8ec2767c10e349b88f8be2b810684e7a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 972.0, + "y": -563.9999389648438, + "width": 183.0, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "a953573d187f4263be0ccce8a3993015" + }, + { + "m_Id": "c7c0ba5915384a1cbb96db4f2ecea164" + }, + { + "m_Id": "5f617d5260424a58bccd8992ff7ad8d6" + }, + { + "m_Id": "c275f39b86f24cf6aada099684b3b9e0" + }, + { + "m_Id": "338c2a8584bc4f379e5c5c64653a1daf" + }, + { + "m_Id": "242c3772a8854e86b6d47ec2dc894711" + }, + { + "m_Id": "e98cd23a80894b3d939485f749e12f21" + }, + { + "m_Id": "b8c1541c2342425cb77a2b9d2c145f39" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "957db5b0a4924871b8596ef35819e4fb", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1431.0001220703125, + "y": 247.49993896484376, + "width": 120.5, + "height": 34.000091552734378 + } + }, + "m_Slots": [ + { + "m_Id": "0bdcb74d9d944e489e49231616eeff35" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "d7cd8f6769ab4ffb8eed13b3cd178461" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "964039f94cac43f0b5b878b7e73c8ef8", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "974b9cfcb9364dc99cda8dfbaa02aaf2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "7d364c170ef44189a6982ecb8fc8d459" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "98f1c0c687e34ad6b6b545bedc9dea4c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 758.9999389648438, + "y": 304.50006103515627, + "width": 181.0001220703125, + "height": 33.999969482421878 + } + }, + "m_Slots": [ + { + "m_Id": "30e0e6c26b4740ceaee5e81aba02c6dd" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "309e56b2eea848fba43e52beefb48d8e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "999908adc09e471dba0d776ba13c194f", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "9c61f4d144ad4e278d706cb29d416e4d", + "m_Guid": { + "m_GuidSerialized": "92a2e77c-b053-4e5a-aafb-93275ea40fd9" + }, + "m_Name": "_Roughness", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Roughness", + "m_DefaultReferenceName": "_Roughness", + "m_OverrideReferenceName": "_Glossiness", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "9c9e2f06a9514e5a89eb6c46f2fdc5f1", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "9eb21dad5ed94327b0fa553840eb5237", + "m_Id": 0, + "m_DisplayName": "_BumpMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9f303b1139074d41bc52fa948096f956", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "9f9debde35c5458d8c174803cd72814b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2019.0001220703125, + "y": -50.49997329711914, + "width": 182.9998779296875, + "height": 250.00001525878907 + } + }, + "m_Slots": [ + { + "m_Id": "a455893f2b5341cbaab1c006cb81ea02" + }, + { + "m_Id": "a04869c301834773bc9b4d54d8fde5f2" + }, + { + "m_Id": "1932c67a521a4cd9a37208503bc4da11" + }, + { + "m_Id": "00f9f367db73449d9faba2f9e807243e" + }, + { + "m_Id": "c52e0f08b19743c3b8163db61e94de9e" + }, + { + "m_Id": "82394c5b419d48f2969b23d20f6c6617" + }, + { + "m_Id": "343eb3e60fd24addba1439a3056c6577" + }, + { + "m_Id": "644e2401fa484786a4e211993c81d39b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 1, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a04869c301834773bc9b4d54d8fde5f2", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a0e4716f1cc046fda82a3e93f8ee6ded", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "a0fd0e58d2604d5dadf2d795e5e627c5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "adeb74d0a8ef41dba9e9c8fe36990849" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "a455893f2b5341cbaab1c006cb81ea02", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "a74982b2203b4b60ab582986cd1f87ca", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "a953573d187f4263be0ccce8a3993015", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "adeb74d0a8ef41dba9e9c8fe36990849", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "adf0e30d3e624a73a48839e83e6fbfcc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "cd14e344708c4ab491dd8dffe2226f81" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "af4ca618e6ba4b06acf12a9be696ac96", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b2abbe3ae3da4bf2bbe22e83d8ce09cc", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "b8a1a4e856ba4ee088196eb0627a703a", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "b8c1541c2342425cb77a2b9d2c145f39", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b90b7d0fbaf640ed872fd55aff15d429", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "ba159af155c94713abe90a5787fa5569", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "bc3e3295467d4e03ac3bbb2c9027e48a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "c0d6119461a048d1a904dd58e9ae5ce1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "bdb9dc88ce064c8797e3d88590338277", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "bdd5c006e66f4f9f8c7b507ffcb55e4f", + "m_Guid": { + "m_GuidSerialized": "fe35a820-52b5-4a40-9b5a-cc2518a8c4ce" + }, + "m_Name": "_OcclusionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_OcclusionMap", + "m_DefaultReferenceName": "_OcclusionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 5 +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "be8b2f40504947bbb27b19f121ee6d8e", + "m_Guid": { + "m_GuidSerialized": "725268b2-b35d-4dbd-944e-5b42eedfe8bc" + }, + "m_Name": "_Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Color", + "m_DefaultReferenceName": "_Color", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "bf7770d865b547c59d68b6ff25364046", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c0d6119461a048d1a904dd58e9ae5ce1", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", + "m_ObjectId": "c12f91d88a7d4f11a3bd66dda463f4a4", + "m_Group": { + "m_Id": "" + }, + "m_Name": "One Minus", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2019.0, + "y": 353.5000305175781, + "width": 127.5, + "height": 94.0 + } + }, + "m_Slots": [ + { + "m_Id": "1b1db413b5b14bb381b4189ddef031a4" + }, + { + "m_Id": "57737a8d87b84a6b9047ce8a6e32432b" + } + ], + "synonyms": [ + "complement", + "invert", + "opposite" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c1c9ac691b3f4cb2aac1448f2ac81c99", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c275f39b86f24cf6aada099684b3b9e0", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "c41a7ab193b64707a17ed309aaf12594", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 801.0, + "y": -580.9999389648438, + "width": 133.5, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "3990e3b4b26d40a39de3886952d495dd" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "d73151a495364c299fd28edd387b4f7f" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "c452469d88f14cd497ae5ee287f8256e", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c52e0f08b19743c3b8163db61e94de9e", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "c60c7cbec38b47eca5afc8209c75007c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1844.5001220703125, + "y": -84.49998474121094, + "width": 141.4998779296875, + "height": 34.0000114440918 + } + }, + "m_Slots": [ + { + "m_Id": "9eb21dad5ed94327b0fa553840eb5237" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "400b9aa797ff4ffa99094683901c4e0c" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c7c0ba5915384a1cbb96db4f2ecea164", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "cd14e344708c4ab491dd8dffe2226f81", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "ce0ca4087f284fb68cbfd39c1f5b5be5", + "m_Guid": { + "m_GuidSerialized": "ada2c00d-d892-4b8e-8011-052b6de5bc7d" + }, + "m_Name": "_EmissionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionMap", + "m_DefaultReferenceName": "_EmissionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": true, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "cf97cc89459241c389d51c7b62ebed5a", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "d4de24e1965a4110bce61eda5cd92963", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1832.0, + "y": 844.5000610351563, + "width": 156.0001220703125, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "fe2b9ce1710d4fe68f9ea12c14779ed2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "f59ce221023a4bde808c66a4b0294ec3" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "d73151a495364c299fd28edd387b4f7f", + "m_Guid": { + "m_GuidSerialized": "94fc34de-4546-4ebb-af37-df74f9b3c656" + }, + "m_Name": "_MainTex", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_MainTex", + "m_DefaultReferenceName": "_MainTex", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": true, + "useTilingAndOffset": true, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d75acc54ebd94413a10e5b68ee237bee", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d7bab5957156473fa1e2d25d362af17c", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "d7cd8f6769ab4ffb8eed13b3cd178461", + "m_Guid": { + "m_GuidSerialized": "e6d3c627-1ac8-4a70-93b6-195f08a9dd18" + }, + "m_Name": "_Metallic", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Metallic", + "m_DefaultReferenceName": "_Metallic", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "d88e83c358624d658d855472b2c6dab2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1431.0001220703125, + "y": 381.49993896484377, + "width": 135.9998779296875, + "height": 34.000091552734378 + } + }, + "m_Slots": [ + { + "m_Id": "5506de06ef564b4ab4e5eaf0609842f9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "9c61f4d144ad4e278d706cb29d416e4d" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "dd698676683b4fe189338fe5024a281f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "d7bab5957156473fa1e2d25d362af17c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e0e926e4c59548f48323fd0f45a2ed6a", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e250b400c03a46b4a0e8d83c589e55c6", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "e262fbf6b2e44d74b0efc1ddcce0e1cc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1396.0, + "y": 597.5000610351563, + "width": 157.5, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "ee3103f54ba84afaa163d1685dac8573" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "ce0ca4087f284fb68cbfd39c1f5b5be5" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e4d5311d9bc94d728da9e97109251463", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e508be178b5440829618c6bc3ea97099", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "e65f5476a870416790fdcbd685fb12f2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2019.0001220703125, + "y": 631.5000610351563, + "width": 129.4998779296875, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "146cb91c2f344c03b4d5b629c3b31b75" + }, + { + "m_Id": "964039f94cac43f0b5b878b7e73c8ef8" + }, + { + "m_Id": "05d9a2320245402cad99a5680cedeaaf" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "e6d27ac76b3d4ae9aa13685f7b04ade6", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 972.0001220703125, + "y": 322.5, + "width": 182.9998779296875, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "f19a0e7b2bf2421f854912f91bb3c8ad" + }, + { + "m_Id": "e250b400c03a46b4a0e8d83c589e55c6" + }, + { + "m_Id": "3b72d3622a3e4aac8d83d9fdcc93e9a5" + }, + { + "m_Id": "787cf024f1fb41a68b7123e5323b1ed1" + }, + { + "m_Id": "8235ac341d5c4b9487376049c4ac509a" + }, + { + "m_Id": "ee63d736debe45cb8da4e9a6a6e27976" + }, + { + "m_Id": "999908adc09e471dba0d776ba13c194f" + }, + { + "m_Id": "c452469d88f14cd497ae5ee287f8256e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "e98cd23a80894b3d939485f749e12f21", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "ee3103f54ba84afaa163d1685dac8573", + "m_Id": 0, + "m_DisplayName": "_EmissionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "ee63d736debe45cb8da4e9a6a6e27976", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "ef68eef16d6847a2a42a943c36a96a5e", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "d73151a495364c299fd28edd387b4f7f" + }, + { + "m_Id": "be8b2f40504947bbb27b19f121ee6d8e" + }, + { + "m_Id": "400b9aa797ff4ffa99094683901c4e0c" + }, + { + "m_Id": "d7cd8f6769ab4ffb8eed13b3cd178461" + }, + { + "m_Id": "9c61f4d144ad4e278d706cb29d416e4d" + }, + { + "m_Id": "309e56b2eea848fba43e52beefb48d8e" + }, + { + "m_Id": "f59ce221023a4bde808c66a4b0294ec3" + }, + { + "m_Id": "ce0ca4087f284fb68cbfd39c1f5b5be5" + }, + { + "m_Id": "bdd5c006e66f4f9f8c7b507ffcb55e4f" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "f19a0e7b2bf2421f854912f91bb3c8ad", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f2b660aa2a4b4c088bc583e471eb029c", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f582e1c579ae47b285cd5404b7efdb1d", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "f59ce221023a4bde808c66a4b0294ec3", + "m_Guid": { + "m_GuidSerialized": "d32aaf0c-0796-4b72-a0f5-d13c84de2f34" + }, + "m_Name": "_EmissionColor", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionColor", + "m_DefaultReferenceName": "_EmissionColor", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 1 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "f80930e92099497d821582d806054022", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f9d78534052f43a5b889f2d1b229ffbd", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "fe2b9ce1710d4fe68f9ea12c14779ed2", + "m_Id": 0, + "m_DisplayName": "_EmissionColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.shadergraph.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.shadergraph.meta new file mode 100644 index 00000000..bdf9b828 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.shadergraph.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 30584142f4fd5864ab6b31fa94e04f0e +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardGLTF2.shadergraph + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.mat b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.mat new file mode 100644 index 00000000..018f1dec --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.mat @@ -0,0 +1,100 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: StandardSpecularGLTF2 + m_Shader: {fileID: -6465566751694194690, guid: 891f6943f6007684cbb5e82a80c6afbd, + type: 3} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 14eeb87a1b34eaa4db60b71bcf17bdad, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 2800000, guid: e6e4bc18e57a0c042905df7fed60433c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BUILTIN_QueueControl: 0 + - _BUILTIN_QueueOffset: 0 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &2772223876366377861 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.mat.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.mat.meta new file mode 100644 index 00000000..65f3e939 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 72997b5ef0207744aaf31a8aefec7a91 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.mat + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.shadergraph b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.shadergraph new file mode 100644 index 00000000..9d4c7eb1 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.shadergraph @@ -0,0 +1,3889 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "8f1787159dc04bc1a588f0aff6eaea2d", + "m_Properties": [ + { + "m_Id": "d73151a495364c299fd28edd387b4f7f" + }, + { + "m_Id": "400b9aa797ff4ffa99094683901c4e0c" + }, + { + "m_Id": "309e56b2eea848fba43e52beefb48d8e" + }, + { + "m_Id": "ce0ca4087f284fb68cbfd39c1f5b5be5" + }, + { + "m_Id": "be8b2f40504947bbb27b19f121ee6d8e" + }, + { + "m_Id": "f59ce221023a4bde808c66a4b0294ec3" + }, + { + "m_Id": "9c61f4d144ad4e278d706cb29d416e4d" + }, + { + "m_Id": "d7cd8f6769ab4ffb8eed13b3cd178461" + }, + { + "m_Id": "bdd5c006e66f4f9f8c7b507ffcb55e4f" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "ef68eef16d6847a2a42a943c36a96a5e" + } + ], + "m_Nodes": [ + { + "m_Id": "4ca4b46d16da476cb2da3bb3adecc690" + }, + { + "m_Id": "974b9cfcb9364dc99cda8dfbaa02aaf2" + }, + { + "m_Id": "3421547d496044beb2da5470cda0e9d3" + }, + { + "m_Id": "4ac987a39c2d4fa8a11931a865e039ec" + }, + { + "m_Id": "31ee1cc5933647d3859adb438f999d4e" + }, + { + "m_Id": "bc3e3295467d4e03ac3bbb2c9027e48a" + }, + { + "m_Id": "6507b729e4a04a3487fa829f990fc6ad" + }, + { + "m_Id": "a0fd0e58d2604d5dadf2d795e5e627c5" + }, + { + "m_Id": "dd698676683b4fe189338fe5024a281f" + }, + { + "m_Id": "c41a7ab193b64707a17ed309aaf12594" + }, + { + "m_Id": "8ec2767c10e349b88f8be2b810684e7a" + }, + { + "m_Id": "1768b4e7002f4124a1a88c4a2f7be047" + }, + { + "m_Id": "48df368541ec4ddcbff7cc4c4fcb11c5" + }, + { + "m_Id": "c60c7cbec38b47eca5afc8209c75007c" + }, + { + "m_Id": "9f9debde35c5458d8c174803cd72814b" + }, + { + "m_Id": "98f1c0c687e34ad6b6b545bedc9dea4c" + }, + { + "m_Id": "e6d27ac76b3d4ae9aa13685f7b04ade6" + }, + { + "m_Id": "d88e83c358624d658d855472b2c6dab2" + }, + { + "m_Id": "d4de24e1965a4110bce61eda5cd92963" + }, + { + "m_Id": "e262fbf6b2e44d74b0efc1ddcce0e1cc" + }, + { + "m_Id": "7618b7d23f37467fa8f4622ccea5f03c" + }, + { + "m_Id": "e65f5476a870416790fdcbd685fb12f2" + }, + { + "m_Id": "88dc528928824f1b9f131b46ddb7a9d1" + }, + { + "m_Id": "4837dab5c4f1452baf974163f439337a" + }, + { + "m_Id": "355c05aacaaf431a840e41a48e70aecc" + }, + { + "m_Id": "3bf25413e79f46719192a26ac0f556c1" + }, + { + "m_Id": "0fbeb8d17dd34190a491d77504b4f728" + }, + { + "m_Id": "5bd8deeb120d4dc598bf53fa3e07bde9" + }, + { + "m_Id": "bfb08b904bb34e66941b818a3bb676c1" + }, + { + "m_Id": "2dbe5df92b454bb2885fc3bd4c780581" + }, + { + "m_Id": "c048c45a6d794001bbeb251952feafcc" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0fbeb8d17dd34190a491d77504b4f728" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2dbe5df92b454bb2885fc3bd4c780581" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0fbeb8d17dd34190a491d77504b4f728" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4ac987a39c2d4fa8a11931a865e039ec" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1768b4e7002f4124a1a88c4a2f7be047" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3bf25413e79f46719192a26ac0f556c1" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2dbe5df92b454bb2885fc3bd4c780581" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5bd8deeb120d4dc598bf53fa3e07bde9" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "355c05aacaaf431a840e41a48e70aecc" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0fbeb8d17dd34190a491d77504b4f728" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3bf25413e79f46719192a26ac0f556c1" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bc3e3295467d4e03ac3bbb2c9027e48a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3bf25413e79f46719192a26ac0f556c1" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0fbeb8d17dd34190a491d77504b4f728" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4837dab5c4f1452baf974163f439337a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "88dc528928824f1b9f131b46ddb7a9d1" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "48df368541ec4ddcbff7cc4c4fcb11c5" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1768b4e7002f4124a1a88c4a2f7be047" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7618b7d23f37467fa8f4622ccea5f03c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e65f5476a870416790fdcbd685fb12f2" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "88dc528928824f1b9f131b46ddb7a9d1" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "dd698676683b4fe189338fe5024a281f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8ec2767c10e349b88f8be2b810684e7a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1768b4e7002f4124a1a88c4a2f7be047" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "98f1c0c687e34ad6b6b545bedc9dea4c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e6d27ac76b3d4ae9aa13685f7b04ade6" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9f9debde35c5458d8c174803cd72814b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "31ee1cc5933647d3859adb438f999d4e" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c048c45a6d794001bbeb251952feafcc" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6507b729e4a04a3487fa829f990fc6ad" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c41a7ab193b64707a17ed309aaf12594" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8ec2767c10e349b88f8be2b810684e7a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c60c7cbec38b47eca5afc8209c75007c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9f9debde35c5458d8c174803cd72814b" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d4de24e1965a4110bce61eda5cd92963" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e65f5476a870416790fdcbd685fb12f2" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d88e83c358624d658d855472b2c6dab2" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c048c45a6d794001bbeb251952feafcc" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e262fbf6b2e44d74b0efc1ddcce0e1cc" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7618b7d23f37467fa8f4622ccea5f03c" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e65f5476a870416790fdcbd685fb12f2" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a0fd0e58d2604d5dadf2d795e5e627c5" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e6d27ac76b3d4ae9aa13685f7b04ade6" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3bf25413e79f46719192a26ac0f556c1" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e6d27ac76b3d4ae9aa13685f7b04ade6" + }, + "m_SlotId": 7 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c048c45a6d794001bbeb251952feafcc" + }, + "m_SlotId": 1 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 2762.5, + "y": -140.50009155273438 + }, + "m_Blocks": [ + { + "m_Id": "4ca4b46d16da476cb2da3bb3adecc690" + }, + { + "m_Id": "974b9cfcb9364dc99cda8dfbaa02aaf2" + }, + { + "m_Id": "3421547d496044beb2da5470cda0e9d3" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 2762.5, + "y": 152.50001525878907 + }, + "m_Blocks": [ + { + "m_Id": "4ac987a39c2d4fa8a11931a865e039ec" + }, + { + "m_Id": "31ee1cc5933647d3859adb438f999d4e" + }, + { + "m_Id": "bc3e3295467d4e03ac3bbb2c9027e48a" + }, + { + "m_Id": "6507b729e4a04a3487fa829f990fc6ad" + }, + { + "m_Id": "a0fd0e58d2604d5dadf2d795e5e627c5" + }, + { + "m_Id": "dd698676683b4fe189338fe5024a281f" + }, + { + "m_Id": "5bd8deeb120d4dc598bf53fa3e07bde9" + }, + { + "m_Id": "bfb08b904bb34e66941b818a3bb676c1" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "43fed59fa4ed433d94533a6b823cc708" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "00f9f367db73449d9faba2f9e807243e", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "05d9a2320245402cad99a5680cedeaaf", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "06cd1bda8ca04ff388df3009ec67c236", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "0b0908087e0e47aeb7729857a701328f", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0b5282c8635545b78f904723249dfdc0", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "0fbeb8d17dd34190a491d77504b4f728", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2213.5, + "y": -234.5, + "width": 208.0, + "height": 302.00006103515627 + } + }, + "m_Slots": [ + { + "m_Id": "d5b35f01b95e405caa82219d06715b5b" + }, + { + "m_Id": "b087d0c6a747482fb7303c5de1e23f3d" + }, + { + "m_Id": "3e9ea41de79a4a1c899c8948cc2b5940" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "146cb91c2f344c03b4d5b629c3b31b75", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "1768b4e7002f4124a1a88c4a2f7be047", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1477.9998779296875, + "y": -642.5, + "width": 208.0001220703125, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "e508be178b5440829618c6bc3ea97099" + }, + { + "m_Id": "f2b660aa2a4b4c088bc583e471eb029c" + }, + { + "m_Id": "89b7cad4cdb945e5a89dc1d46b33f9fa" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1841bb4bdb7145f19e76777e77ed5271", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1932c67a521a4cd9a37208503bc4da11", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1f96de7041a549d28f17e06f6c10eccd", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "242c3772a8854e86b6d47ec2dc894711", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "27038e86ca374b2a8a3f1f441897a4aa", + "m_Id": 2, + "m_DisplayName": "specularBase", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "specularBase", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2ac65590367a47fea69470180415d3ba", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "2dbe5df92b454bb2885fc3bd4c780581", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2506.5, + "y": 55.0000114440918, + "width": 119.0, + "height": 148.99998474121095 + } + }, + "m_Slots": [ + { + "m_Id": "36a870fb7d7146b29024bcc8d491c4a1" + }, + { + "m_Id": "7f38df2ff8114323a20ce28703a258bc" + }, + { + "m_Id": "5cb8596dcd7c4865aedaad8c9e01ae65" + }, + { + "m_Id": "68518d4c75c2442dbf1101253a8a4fa1" + }, + { + "m_Id": "1841bb4bdb7145f19e76777e77ed5271" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "309e56b2eea848fba43e52beefb48d8e", + "m_Guid": { + "m_GuidSerialized": "403db79d-d30b-427b-9db2-a00208a68b0c" + }, + "m_Name": "_SpecGlossMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_SpecGlossMap", + "m_DefaultReferenceName": "_SpecGlossMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": true, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "30e0e6c26b4740ceaee5e81aba02c6dd", + "m_Id": 0, + "m_DisplayName": "_SpecGlossMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "31ee1cc5933647d3859adb438f999d4e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "51604c39d778405a9663a3d1fd4ad120" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "31f676b7732a44e89cda73ae8182973c", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "32b2fc4a03c8462db5fd788ec5ba68ce", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "338c2a8584bc4f379e5c5c64653a1daf", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "3421547d496044beb2da5470cda0e9d3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "8c51dfe633d44de6ad35808d482dc397" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "343eb3e60fd24addba1439a3056c6577", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.VertexColorNode", + "m_ObjectId": "355c05aacaaf431a840e41a48e70aecc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Vertex Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1987.9998779296875, + "y": -234.50001525878907, + "width": 117.5001220703125, + "height": 93.99998474121094 + } + }, + "m_Slots": [ + { + "m_Id": "06cd1bda8ca04ff388df3009ec67c236" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.BuiltIn.ShaderGraph.BuiltInLitSubTarget", + "m_ObjectId": "3574c2da56e740b495a5900460928e45", + "m_WorkflowMode": 1, + "m_NormalDropOffSpace": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "36a870fb7d7146b29024bcc8d491c4a1", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "3990e3b4b26d40a39de3886952d495dd", + "m_Id": 0, + "m_DisplayName": "_MainTex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "3b72d3622a3e4aac8d83d9fdcc93e9a5", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", + "m_ObjectId": "3bf25413e79f46719192a26ac0f556c1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SpecularToMetalness (Custom Function)", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1828.0001220703125, + "y": 53.00001525878906, + "width": 277.4998779296875, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "e9994a619439487795ad869bd56c564e" + }, + { + "m_Id": "27038e86ca374b2a8a3f1f441897a4aa" + }, + { + "m_Id": "cc9c6657a5c74e44bb53780034fca1d4" + }, + { + "m_Id": "b1aec57685374c62bbef7bdd1e3a7103" + } + ], + "synonyms": [ + "code", + "HLSL" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SourceType": 1, + "m_FunctionName": "SpecularToMetalness", + "m_FunctionSource": "", + "m_FunctionBody": "// Constants\r\nfloat3 dielectricSpecular = 0.04; // Specular reflectance for dielectric materials\r\nfloat epsilon = 1e-5; // Small value to avoid division by zero\r\n\r\n// Compute perceived brightness of diffuse and specular\r\nfloat diffuseBrightness = dot(diffuseBase.xyz, float3(0.2126, 0.7152, 0.0722)); // Luminance (perceived brightness)\r\nfloat specularBrightness = dot(specularBase, float3(0.2126, 0.7152, 0.0722)); // Luminance (perceived brightness)\r\n\r\n// Compute one minus specular strength\r\nfloat oneMinusSpecularStrength = 1.0 - max(max(specularBase.r, specularBase.g), specularBase.b);\r\n\r\n// Inline solveMetallic logic\r\nif (specularBrightness < dielectricSpecular.r) {\r\n metalness = 0.0;\r\n}\r\nelse {\r\n float a = dielectricSpecular.r;\r\n float b = diffuseBrightness * oneMinusSpecularStrength / (1.0 - dielectricSpecular.r) + specularBrightness - 2.0 * dielectricSpecular.r;\r\n float c = dielectricSpecular.r - specularBrightness;\r\n float D = b * b - 4.0 * a * c;\r\n\r\n metalness = saturate((-b + sqrt(D)) / (2.0 * a));\r\n}\r\n\r\n// Compute base color\r\nfloat3 baseColorFromDiffuse = diffuseBase.xyz * (oneMinusSpecularStrength / (1.0 - dielectricSpecular.r) / max(1.0 - metalness, epsilon));\r\nfloat3 baseColorFromSpecular = (specularBase - dielectricSpecular * (1.0 - metalness)) / max(metalness, epsilon);\r\n\r\nbaseColor = float4(lerp(baseColorFromDiffuse, baseColorFromSpecular, metalness * metalness), diffuseBase.a);\r\nbaseColor = saturate(baseColor); // Clamp values between 0 and 1" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "3e9ea41de79a4a1c899c8948cc2b5940", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "400b9aa797ff4ffa99094683901c4e0c", + "m_Guid": { + "m_GuidSerialized": "5c2f21d5-56fe-4e92-b73e-bc8d42ef00ef" + }, + "m_Name": "_BumpMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_BumpMap", + "m_DefaultReferenceName": "_BumpMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"14eeb87a1b34eaa4db60b71bcf17bdad\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": true, + "m_Modifiable": true, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.Rendering.BuiltIn.ShaderGraph.BuiltInTarget", + "m_ObjectId": "43fed59fa4ed433d94533a6b823cc708", + "m_ActiveSubTarget": { + "m_Id": "3574c2da56e740b495a5900460928e45" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZWriteControl": 0, + "m_ZTestMode": 4, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": true, + "m_CustomEditorGUI": "" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "4837dab5c4f1452baf974163f439337a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1219.0001220703125, + "y": 1267.5, + "width": 162.5, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "5fe4039655d843cf938430869e73a5f6" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "bdd5c006e66f4f9f8c7b507ffcb55e4f" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "48df368541ec4ddcbff7cc4c4fcb11c5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1329.0, + "y": -536.0, + "width": 109.9998779296875, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "779c55b3b3a746e496375228a0e09a8f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "be8b2f40504947bbb27b19f121ee6d8e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "4ac987a39c2d4fa8a11931a865e039ec", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "9c9e2f06a9514e5a89eb6c46f2fdc5f1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "4ca4b46d16da476cb2da3bb3adecc690", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1906.4998779296875, + "y": -24.000024795532228, + "width": 200.0001220703125, + "height": 41.000038146972659 + } + }, + "m_Slots": [ + { + "m_Id": "31f676b7732a44e89cda73ae8182973c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "51604c39d778405a9663a3d1fd4ad120", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5506de06ef564b4ab4e5eaf0609842f9", + "m_Id": 0, + "m_DisplayName": "_Roughness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "56d1d1258d714ad98099a44c977fa982", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5b7c40da69a3450b9f118aa7b2453353", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "5bd8deeb120d4dc598bf53fa3e07bde9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "b2f30c95c2e14e82a7623c9e708c7234" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5cb8596dcd7c4865aedaad8c9e01ae65", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5f617d5260424a58bccd8992ff7ad8d6", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "5fe4039655d843cf938430869e73a5f6", + "m_Id": 0, + "m_DisplayName": "_OcclusionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "6114b6f9a0d340ea8389a9cf52c46e8e", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "644e2401fa484786a4e211993c81d39b", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "64dcdb1b0b2b4724a74fd5563a2cb2be", + "m_Id": 0, + "m_DisplayName": "Alpha Clip Threshold", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "AlphaClipThreshold", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "6507b729e4a04a3487fa829f990fc6ad", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "1f96de7041a549d28f17e06f6c10eccd" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "68518d4c75c2442dbf1101253a8a4fa1", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "726f6f8ff59449c2bef76e42ae02455e", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "7618b7d23f37467fa8f4622ccea5f03c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1421.5, + "y": 814.9999389648438, + "width": 182.9998779296875, + "height": 250.00006103515626 + } + }, + "m_Slots": [ + { + "m_Id": "0b0908087e0e47aeb7729857a701328f" + }, + { + "m_Id": "5b7c40da69a3450b9f118aa7b2453353" + }, + { + "m_Id": "c1c9ac691b3f4cb2aac1448f2ac81c99" + }, + { + "m_Id": "d75acc54ebd94413a10e5b68ee237bee" + }, + { + "m_Id": "a0e4716f1cc046fda82a3e93f8ee6ded" + }, + { + "m_Id": "8c87ef0df8094e7fa228f3369d4d9060" + }, + { + "m_Id": "af4ca618e6ba4b06acf12a9be696ac96" + }, + { + "m_Id": "56d1d1258d714ad98099a44c977fa982" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "76762eb64c4247f9bbf907efdd52dd43", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "779c55b3b3a746e496375228a0e09a8f", + "m_Id": 0, + "m_DisplayName": "_Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "787cf024f1fb41a68b7123e5323b1ed1", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "7d364c170ef44189a6982ecb8fc8d459", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7f38df2ff8114323a20ce28703a258bc", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8235ac341d5c4b9487376049c4ac509a", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "82394c5b419d48f2969b23d20f6c6617", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "88dc528928824f1b9f131b46ddb7a9d1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1405.000244140625, + "y": 1267.5, + "width": 208.0, + "height": 434.0001220703125 + } + }, + "m_Slots": [ + { + "m_Id": "726f6f8ff59449c2bef76e42ae02455e" + }, + { + "m_Id": "0b5282c8635545b78f904723249dfdc0" + }, + { + "m_Id": "2ac65590367a47fea69470180415d3ba" + }, + { + "m_Id": "76762eb64c4247f9bbf907efdd52dd43" + }, + { + "m_Id": "32b2fc4a03c8462db5fd788ec5ba68ce" + }, + { + "m_Id": "b8a1a4e856ba4ee088196eb0627a703a" + }, + { + "m_Id": "89b114c40e314df79e9f79f0b4dd0744" + }, + { + "m_Id": "f80930e92099497d821582d806054022" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "89b114c40e314df79e9f79f0b4dd0744", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "89b7cad4cdb945e5a89dc1d46b33f9fa", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "8c51dfe633d44de6ad35808d482dc397", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "8c87ef0df8094e7fa228f3369d4d9060", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "8ec2767c10e349b88f8be2b810684e7a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1114.9998779296875, + "y": -642.5, + "width": 183.0001220703125, + "height": 249.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "a953573d187f4263be0ccce8a3993015" + }, + { + "m_Id": "c7c0ba5915384a1cbb96db4f2ecea164" + }, + { + "m_Id": "5f617d5260424a58bccd8992ff7ad8d6" + }, + { + "m_Id": "c275f39b86f24cf6aada099684b3b9e0" + }, + { + "m_Id": "338c2a8584bc4f379e5c5c64653a1daf" + }, + { + "m_Id": "242c3772a8854e86b6d47ec2dc894711" + }, + { + "m_Id": "e98cd23a80894b3d939485f749e12f21" + }, + { + "m_Id": "b8c1541c2342425cb77a2b9d2c145f39" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9071a0b62fc5458ba8f4fcd5d6bdf295", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "964039f94cac43f0b5b878b7e73c8ef8", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "974b9cfcb9364dc99cda8dfbaa02aaf2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "7d364c170ef44189a6982ecb8fc8d459" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "98f1c0c687e34ad6b6b545bedc9dea4c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1208.5, + "y": 337.0000305175781, + "width": 166.5, + "height": 33.999969482421878 + } + }, + "m_Slots": [ + { + "m_Id": "30e0e6c26b4740ceaee5e81aba02c6dd" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "309e56b2eea848fba43e52beefb48d8e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "999908adc09e471dba0d776ba13c194f", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "9c61f4d144ad4e278d706cb29d416e4d", + "m_Guid": { + "m_GuidSerialized": "92a2e77c-b053-4e5a-aafb-93275ea40fd9" + }, + "m_Name": "_Roughness", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Roughness", + "m_DefaultReferenceName": "_Roughness", + "m_OverrideReferenceName": "_Glossiness", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "9c9e2f06a9514e5a89eb6c46f2fdc5f1", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "9eb21dad5ed94327b0fa553840eb5237", + "m_Id": 0, + "m_DisplayName": "_BumpMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "9f9debde35c5458d8c174803cd72814b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1503.0, + "y": -182.49998474121095, + "width": 183.0, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "a455893f2b5341cbaab1c006cb81ea02" + }, + { + "m_Id": "a04869c301834773bc9b4d54d8fde5f2" + }, + { + "m_Id": "1932c67a521a4cd9a37208503bc4da11" + }, + { + "m_Id": "00f9f367db73449d9faba2f9e807243e" + }, + { + "m_Id": "c52e0f08b19743c3b8163db61e94de9e" + }, + { + "m_Id": "82394c5b419d48f2969b23d20f6c6617" + }, + { + "m_Id": "343eb3e60fd24addba1439a3056c6577" + }, + { + "m_Id": "644e2401fa484786a4e211993c81d39b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 1, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a04869c301834773bc9b4d54d8fde5f2", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a0e4716f1cc046fda82a3e93f8ee6ded", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "a0fd0e58d2604d5dadf2d795e5e627c5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "adeb74d0a8ef41dba9e9c8fe36990849" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "a455893f2b5341cbaab1c006cb81ea02", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "a953573d187f4263be0ccce8a3993015", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "adeb74d0a8ef41dba9e9c8fe36990849", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "af4ca618e6ba4b06acf12a9be696ac96", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b087d0c6a747482fb7303c5de1e23f3d", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "b1aec57685374c62bbef7bdd1e3a7103", + "m_Id": 3, + "m_DisplayName": "baseColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "baseColor", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b2f30c95c2e14e82a7623c9e708c7234", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "b8a1a4e856ba4ee088196eb0627a703a", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "b8c1541c2342425cb77a2b9d2c145f39", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "bc3e3295467d4e03ac3bbb2c9027e48a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "c0d6119461a048d1a904dd58e9ae5ce1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "bdd5c006e66f4f9f8c7b507ffcb55e4f", + "m_Guid": { + "m_GuidSerialized": "fe35a820-52b5-4a40-9b5a-cc2518a8c4ce" + }, + "m_Name": "_OcclusionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_OcclusionMap", + "m_DefaultReferenceName": "_OcclusionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 5 +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "be8b2f40504947bbb27b19f121ee6d8e", + "m_Guid": { + "m_GuidSerialized": "725268b2-b35d-4dbd-944e-5b42eedfe8bc" + }, + "m_Name": "_Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Color", + "m_DefaultReferenceName": "_Color", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "bfb08b904bb34e66941b818a3bb676c1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.AlphaClipThreshold", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "64dcdb1b0b2b4724a74fd5563a2cb2be" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "c048c45a6d794001bbeb251952feafcc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1905.5, + "y": 469.0, + "width": 126.0001220703125, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "6114b6f9a0d340ea8389a9cf52c46e8e" + }, + { + "m_Id": "9071a0b62fc5458ba8f4fcd5d6bdf295" + }, + { + "m_Id": "dcbc9ea4c41247e2b6aa9b6dbbfdeda0" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c0d6119461a048d1a904dd58e9ae5ce1", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c1c9ac691b3f4cb2aac1448f2ac81c99", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c275f39b86f24cf6aada099684b3b9e0", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "c41a7ab193b64707a17ed309aaf12594", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 941.9999389648438, + "y": -659.5, + "width": 133.50006103515626, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "3990e3b4b26d40a39de3886952d495dd" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "d73151a495364c299fd28edd387b4f7f" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "c452469d88f14cd497ae5ee287f8256e", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c52e0f08b19743c3b8163db61e94de9e", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "c60c7cbec38b47eca5afc8209c75007c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1253.0, + "y": -203.0, + "width": 141.5, + "height": 34.00001525878906 + } + }, + "m_Slots": [ + { + "m_Id": "9eb21dad5ed94327b0fa553840eb5237" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "400b9aa797ff4ffa99094683901c4e0c" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c7c0ba5915384a1cbb96db4f2ecea164", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "cc9c6657a5c74e44bb53780034fca1d4", + "m_Id": 0, + "m_DisplayName": "metalness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "metalness", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "ce0ca4087f284fb68cbfd39c1f5b5be5", + "m_Guid": { + "m_GuidSerialized": "ada2c00d-d892-4b8e-8011-052b6de5bc7d" + }, + "m_Name": "_EmissionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionMap", + "m_DefaultReferenceName": "_EmissionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": true, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "d4de24e1965a4110bce61eda5cd92963", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1669.0, + "y": 1028.0, + "width": 155.9998779296875, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "fe2b9ce1710d4fe68f9ea12c14779ed2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "f59ce221023a4bde808c66a4b0294ec3" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "d5b35f01b95e405caa82219d06715b5b", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "d73151a495364c299fd28edd387b4f7f", + "m_Guid": { + "m_GuidSerialized": "94fc34de-4546-4ebb-af37-df74f9b3c656" + }, + "m_Name": "_MainTex", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_MainTex", + "m_DefaultReferenceName": "_MainTex", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": true, + "useTilingAndOffset": true, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d75acc54ebd94413a10e5b68ee237bee", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d7bab5957156473fa1e2d25d362af17c", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "d7cd8f6769ab4ffb8eed13b3cd178461", + "m_Guid": { + "m_GuidSerialized": "e6d3c627-1ac8-4a70-93b6-195f08a9dd18" + }, + "m_Name": "_Metallic", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Metallic", + "m_DefaultReferenceName": "_Metallic", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "d88e83c358624d658d855472b2c6dab2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1720.0, + "y": 460.9999694824219, + "width": 136.0, + "height": 34.000030517578128 + } + }, + "m_Slots": [ + { + "m_Id": "5506de06ef564b4ab4e5eaf0609842f9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "9c61f4d144ad4e278d706cb29d416e4d" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "dcbc9ea4c41247e2b6aa9b6dbbfdeda0", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "dd698676683b4fe189338fe5024a281f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "d7bab5957156473fa1e2d25d362af17c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e250b400c03a46b4a0e8d83c589e55c6", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "e262fbf6b2e44d74b0efc1ddcce0e1cc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1233.0, + "y": 781.0, + "width": 157.4998779296875, + "height": 33.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "ee3103f54ba84afaa163d1685dac8573" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "ce0ca4087f284fb68cbfd39c1f5b5be5" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e508be178b5440829618c6bc3ea97099", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "e65f5476a870416790fdcbd685fb12f2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1856.0, + "y": 814.9999389648438, + "width": 129.5, + "height": 118.00006103515625 + } + }, + "m_Slots": [ + { + "m_Id": "146cb91c2f344c03b4d5b629c3b31b75" + }, + { + "m_Id": "964039f94cac43f0b5b878b7e73c8ef8" + }, + { + "m_Id": "05d9a2320245402cad99a5680cedeaaf" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "e6d27ac76b3d4ae9aa13685f7b04ade6", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1421.5001220703125, + "y": 355.0, + "width": 182.9998779296875, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "f19a0e7b2bf2421f854912f91bb3c8ad" + }, + { + "m_Id": "e250b400c03a46b4a0e8d83c589e55c6" + }, + { + "m_Id": "3b72d3622a3e4aac8d83d9fdcc93e9a5" + }, + { + "m_Id": "787cf024f1fb41a68b7123e5323b1ed1" + }, + { + "m_Id": "8235ac341d5c4b9487376049c4ac509a" + }, + { + "m_Id": "ee63d736debe45cb8da4e9a6a6e27976" + }, + { + "m_Id": "999908adc09e471dba0d776ba13c194f" + }, + { + "m_Id": "c452469d88f14cd497ae5ee287f8256e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "e98cd23a80894b3d939485f749e12f21", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "e9994a619439487795ad869bd56c564e", + "m_Id": 1, + "m_DisplayName": "diffuseBase", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "diffuseBase", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "ee3103f54ba84afaa163d1685dac8573", + "m_Id": 0, + "m_DisplayName": "_EmissionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "ee63d736debe45cb8da4e9a6a6e27976", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "ef68eef16d6847a2a42a943c36a96a5e", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "d73151a495364c299fd28edd387b4f7f" + }, + { + "m_Id": "be8b2f40504947bbb27b19f121ee6d8e" + }, + { + "m_Id": "400b9aa797ff4ffa99094683901c4e0c" + }, + { + "m_Id": "d7cd8f6769ab4ffb8eed13b3cd178461" + }, + { + "m_Id": "9c61f4d144ad4e278d706cb29d416e4d" + }, + { + "m_Id": "309e56b2eea848fba43e52beefb48d8e" + }, + { + "m_Id": "f59ce221023a4bde808c66a4b0294ec3" + }, + { + "m_Id": "ce0ca4087f284fb68cbfd39c1f5b5be5" + }, + { + "m_Id": "bdd5c006e66f4f9f8c7b507ffcb55e4f" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "f19a0e7b2bf2421f854912f91bb3c8ad", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f2b660aa2a4b4c088bc583e471eb029c", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "f59ce221023a4bde808c66a4b0294ec3", + "m_Guid": { + "m_GuidSerialized": "d32aaf0c-0796-4b72-a0f5-d13c84de2f34" + }, + "m_Name": "_EmissionColor", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionColor", + "m_DefaultReferenceName": "_EmissionColor", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 1 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "f80930e92099497d821582d806054022", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "fe2b9ce1710d4fe68f9ea12c14779ed2", + "m_Id": 0, + "m_DisplayName": "_EmissionColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.shadergraph.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.shadergraph.meta new file mode 100644 index 00000000..f256eba1 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.shadergraph.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 891f6943f6007684cbb5e82a80c6afbd +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/Standard/StandardSpecularGLTF2.shadergraph + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP.meta new file mode 100644 index 00000000..aa759f92 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa116f92938e9894d9990ef27e610cae +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPGLTF2.shadergraph b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPGLTF2.shadergraph new file mode 100644 index 00000000..4518868c --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPGLTF2.shadergraph @@ -0,0 +1,4151 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "24070fbd46954c2a986f247934ebc414", + "m_Properties": [ + { + "m_Id": "61074f5554e64694a89b9acf56bc8f69" + }, + { + "m_Id": "b4de155467044f068425684a0f81f844" + }, + { + "m_Id": "b16c9a809e5c4859b7f0e28edeb75078" + }, + { + "m_Id": "959f11f1a28d4b4ab253ffa21bdc7c04" + }, + { + "m_Id": "06a69810d09e4531b98148d9d6a3cb5e" + }, + { + "m_Id": "5a87305e0f044714b855e435ec9f65a1" + }, + { + "m_Id": "f609d14623e64e67bcc6adc5fb89fdde" + }, + { + "m_Id": "210d49182b1a4c4b91866c60d4694d25" + }, + { + "m_Id": "ef5d43ac2f9c48d3902c6f4a23a8ef4d" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "246f94e9b52d46ee8d3e75f85fff5ad5" + } + ], + "m_Nodes": [ + { + "m_Id": "54d94087af3e48fc9e5287ef474a0752" + }, + { + "m_Id": "c3b2ba211ad84c4cb81933451bf8ebd7" + }, + { + "m_Id": "b09af3d9da904bb596ac66e4eae3ce62" + }, + { + "m_Id": "79cb9bef2c8b4f528862227daa9c54d2" + }, + { + "m_Id": "0e4f55c8d6104bcbab4fa9d4540163be" + }, + { + "m_Id": "b19675f3a9df4e9f8b5363d058993247" + }, + { + "m_Id": "53129f50cb534bd28bf33ebd03413acf" + }, + { + "m_Id": "92965a4c37b24f0a8f6413f55aa88b2c" + }, + { + "m_Id": "0168e4b08c734525bedc73c4a4ffd836" + }, + { + "m_Id": "11d5b2e33a7a40aead6e405f070d251f" + }, + { + "m_Id": "796621b2939a421e9fc682e8178f4c84" + }, + { + "m_Id": "3cb10bac2b6a4d49bb71ff47ed457f19" + }, + { + "m_Id": "abb921a8d44749ce87bbf2088b8a79a3" + }, + { + "m_Id": "793548d3f3a34a9787fbd8e8c0d8d4ad" + }, + { + "m_Id": "53732c117aa5481da0b7469c71da895a" + }, + { + "m_Id": "f1364201b9e34a0d943b78c94c470ed4" + }, + { + "m_Id": "b7b97bc68a9c4a899f0366e6f1f78d8a" + }, + { + "m_Id": "8051f2a874df453ca515fbe1100ac687" + }, + { + "m_Id": "76f02d7b41d64afb9292ff92a2baf0f8" + }, + { + "m_Id": "c4d506ce00cd426ca88f5d27e2de648b" + }, + { + "m_Id": "6845804a042843c0b597bc1c334f8a85" + }, + { + "m_Id": "629577dc323647d4bf221ba811793d9c" + }, + { + "m_Id": "c5b660f3c95e43558b2b6178ee286b54" + }, + { + "m_Id": "cc583593c47e4bbe92ae54b83f499d05" + }, + { + "m_Id": "089cdb6f0871434dbc63d7a14fce3279" + }, + { + "m_Id": "1a998c75357547bca97096abceef31ef" + }, + { + "m_Id": "41f56f647b5b45d88737ae04757382a2" + }, + { + "m_Id": "30a1b03ce60c4065858002e9044902f1" + }, + { + "m_Id": "fc177a84c3cd49e0b3abc3585f716cad" + }, + { + "m_Id": "244bf6caead3491695e332a25fd4146b" + }, + { + "m_Id": "6bd307cde92b409c83bfa70461cd3554" + }, + { + "m_Id": "1041474715994721b85ae94605c60353" + }, + { + "m_Id": "c5ea0c0273114a289d8af8f2eccbe944" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "089cdb6f0871434dbc63d7a14fce3279" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "92965a4c37b24f0a8f6413f55aa88b2c" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1041474715994721b85ae94605c60353" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b19675f3a9df4e9f8b5363d058993247" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1a998c75357547bca97096abceef31ef" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0168e4b08c734525bedc73c4a4ffd836" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "244bf6caead3491695e332a25fd4146b" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "53129f50cb534bd28bf33ebd03413acf" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "30a1b03ce60c4065858002e9044902f1" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "fc177a84c3cd49e0b3abc3585f716cad" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3cb10bac2b6a4d49bb71ff47ed457f19" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "abb921a8d44749ce87bbf2088b8a79a3" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "41f56f647b5b45d88737ae04757382a2" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1a998c75357547bca97096abceef31ef" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "53732c117aa5481da0b7469c71da895a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "793548d3f3a34a9787fbd8e8c0d8d4ad" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "629577dc323647d4bf221ba811793d9c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "089cdb6f0871434dbc63d7a14fce3279" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6845804a042843c0b597bc1c334f8a85" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1041474715994721b85ae94605c60353" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6bd307cde92b409c83bfa70461cd3554" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "11d5b2e33a7a40aead6e405f070d251f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "76f02d7b41d64afb9292ff92a2baf0f8" + }, + "m_SlotId": 5 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c5ea0c0273114a289d8af8f2eccbe944" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "76f02d7b41d64afb9292ff92a2baf0f8" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1041474715994721b85ae94605c60353" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "793548d3f3a34a9787fbd8e8c0d8d4ad" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "fc177a84c3cd49e0b3abc3585f716cad" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8051f2a874df453ca515fbe1100ac687" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "76f02d7b41d64afb9292ff92a2baf0f8" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "abb921a8d44749ce87bbf2088b8a79a3" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "793548d3f3a34a9787fbd8e8c0d8d4ad" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b7b97bc68a9c4a899f0366e6f1f78d8a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0e4f55c8d6104bcbab4fa9d4540163be" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c4d506ce00cd426ca88f5d27e2de648b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c5ea0c0273114a289d8af8f2eccbe944" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c5b660f3c95e43558b2b6178ee286b54" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cc583593c47e4bbe92ae54b83f499d05" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c5ea0c0273114a289d8af8f2eccbe944" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "244bf6caead3491695e332a25fd4146b" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "cc583593c47e4bbe92ae54b83f499d05" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "089cdb6f0871434dbc63d7a14fce3279" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f1364201b9e34a0d943b78c94c470ed4" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b7b97bc68a9c4a899f0366e6f1f78d8a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "fc177a84c3cd49e0b3abc3585f716cad" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6bd307cde92b409c83bfa70461cd3554" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "fc177a84c3cd49e0b3abc3585f716cad" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "79cb9bef2c8b4f528862227daa9c54d2" + }, + "m_SlotId": 0 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": -2594.500244140625, + "y": -153.5 + }, + "m_Blocks": [ + { + "m_Id": "54d94087af3e48fc9e5287ef474a0752" + }, + { + "m_Id": "c3b2ba211ad84c4cb81933451bf8ebd7" + }, + { + "m_Id": "b09af3d9da904bb596ac66e4eae3ce62" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": -2594.500244140625, + "y": 46.49997329711914 + }, + "m_Blocks": [ + { + "m_Id": "79cb9bef2c8b4f528862227daa9c54d2" + }, + { + "m_Id": "0e4f55c8d6104bcbab4fa9d4540163be" + }, + { + "m_Id": "b19675f3a9df4e9f8b5363d058993247" + }, + { + "m_Id": "53129f50cb534bd28bf33ebd03413acf" + }, + { + "m_Id": "92965a4c37b24f0a8f6413f55aa88b2c" + }, + { + "m_Id": "0168e4b08c734525bedc73c4a4ffd836" + }, + { + "m_Id": "11d5b2e33a7a40aead6e405f070d251f" + }, + { + "m_Id": "796621b2939a421e9fc682e8178f4c84" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_SubDatas": [], + "m_ActiveTargets": [ + { + "m_Id": "6f902a5d504b4577842e6170b8ab6e7a" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "0168e4b08c734525bedc73c4a4ffd836", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "5d9a09efd0634f58a30d4cb7fee6e2b7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "06906d6b7fd9408aad87704432c7882a", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "06a69810d09e4531b98148d9d6a3cb5e", + "m_Guid": { + "m_GuidSerialized": "f5e9ca6d-09e2-4869-9967-e9f52d4df99e" + }, + "m_Name": "_Glossiness", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Glossiness", + "m_DefaultReferenceName": "_Glossiness", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "07c1eb67dd8940a6b07433a8c9f5c166", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0819478775e243758e810b4b7ac6332b", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "089cdb6f0871434dbc63d7a14fce3279", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3174.51611328125, + "y": 806.1188354492188, + "width": 129.4998779296875, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "a98ba8930309410cb5a2293f7d5b1d55" + }, + { + "m_Id": "6c361095dce24aa2a510677b5fafb0fa" + }, + { + "m_Id": "9521e53071c64bbeb6d637ee7684d546" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "0c94f5ab194345c597e4e4b52320fc1a", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "0c976ff2bb554dc7b93b6d407e10d1e5", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "0e4f55c8d6104bcbab4fa9d4540163be", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "7ce85f7b84984f76b85c361d3a441b8b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "0ed7a69e85484ec996005b6d13fdd270", + "m_Id": 0, + "m_DisplayName": "_Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "1041474715994721b85ae94605c60353", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3603.000244140625, + "y": 304.0, + "width": 126.0, + "height": 118.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "49d766f12f79496bbfe589a2d37fcf03" + }, + { + "m_Id": "de92fd6392aa47cbbc29dbfa4f09e70f" + }, + { + "m_Id": "6a4b7dcaaf30492d8a741b0ac8d21002" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "11d5b2e33a7a40aead6e405f070d251f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "542d923d0e164161877b645a9ac5cfc6" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1312036ff986432fb97058afe3516abc", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "14ee80a1ff154eacb92aba53e35f95e8", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "17aea84fe1ea41578b5d83fca81e8d86", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "1a998c75357547bca97096abceef31ef", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3228.01611328125, + "y": 1157.6187744140625, + "width": 183.0, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "c2a5d2a1bf584325b722b8931c391bce" + }, + { + "m_Id": "b2fb9f4a19fe4e669878d0d20bead71d" + }, + { + "m_Id": "80fdd7971a684c4e807c9b329ddf2aef" + }, + { + "m_Id": "55d7a8ecbd67453d802d3f6a2df31a7a" + }, + { + "m_Id": "8c1ed9994dc14c8cb8257367099b3ec7" + }, + { + "m_Id": "17aea84fe1ea41578b5d83fca81e8d86" + }, + { + "m_Id": "aacc57b691604d9b90cee23327c34697" + }, + { + "m_Id": "c0e2bbb9f7b7423a957825a2081bc446" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "1d5502bd4c0b42178c4895e18c762114", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "210d49182b1a4c4b91866c60d4694d25", + "m_Guid": { + "m_GuidSerialized": "748bc92e-fabc-4da3-90a6-8ad6d044718b" + }, + "m_Name": "_EmissionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionMap", + "m_DefaultReferenceName": "_EmissionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2204a6e72dec43c1ae93bb900e0fb9ae", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", + "m_ObjectId": "244bf6caead3491695e332a25fd4146b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "One Minus", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3174.51611328125, + "y": 528.1188354492188, + "width": 127.5, + "height": 94.0 + } + }, + "m_Slots": [ + { + "m_Id": "5ed2bdff7b2d4a688cb785bb41b7b22c" + }, + { + "m_Id": "e2b47a17521b45d79f15b44d519b1ea8" + } + ], + "synonyms": [ + "complement", + "invert", + "opposite" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "246f94e9b52d46ee8d3e75f85fff5ad5", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "61074f5554e64694a89b9acf56bc8f69" + }, + { + "m_Id": "b4de155467044f068425684a0f81f844" + }, + { + "m_Id": "b16c9a809e5c4859b7f0e28edeb75078" + }, + { + "m_Id": "959f11f1a28d4b4ab253ffa21bdc7c04" + }, + { + "m_Id": "06a69810d09e4531b98148d9d6a3cb5e" + }, + { + "m_Id": "5a87305e0f044714b855e435ec9f65a1" + }, + { + "m_Id": "f609d14623e64e67bcc6adc5fb89fdde" + }, + { + "m_Id": "210d49182b1a4c4b91866c60d4694d25" + }, + { + "m_Id": "ef5d43ac2f9c48d3902c6f4a23a8ef4d" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "258e23116bb8441da4684f2d93cf30d2", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2f4ea4cf5c9f4942a82ffe1f5a178cbd", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.VertexColorNode", + "m_ObjectId": "30a1b03ce60c4065858002e9044902f1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Vertex Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3599.51611328125, + "y": -282.8812255859375, + "width": 117.5001220703125, + "height": 93.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "83c5ba84a51946eab53d0396ad45418a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "32cb345ea1fb41399a8550f6c1f7131f", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "3cb10bac2b6a4d49bb71ff47ed457f19", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4392.51611328125, + "y": -406.38116455078127, + "width": 133.5, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "6ca28bbeafc748118eb15d6ce3101c22" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "61074f5554e64694a89b9acf56bc8f69" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4070f1977e4749ab90e0154fd04bc13f", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "41f56f647b5b45d88737ae04757382a2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3414.01611328125, + "y": 1157.6187744140625, + "width": 162.5001220703125, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "901294bb1c5b4ddc94e89924579d8405" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "ef5d43ac2f9c48d3902c6f4a23a8ef4d" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "43d107ec46dc4b4da74044cbe20ebdb8", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "43ee6c6ef31d45a89db3493a179aac06", + "m_Id": 0, + "m_DisplayName": "_EmissionColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4806e61749ce4561b6cde0e7927e5b03", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "49d766f12f79496bbfe589a2d37fcf03", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "4bd2f067c7594fb3b9f6193f7b347d67", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "53129f50cb534bd28bf33ebd03413acf", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "cba7fb95349443bbb3eb64653c8b7641" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "53732c117aa5481da0b7469c71da895a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4005.51611328125, + "y": -282.88116455078127, + "width": 110.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "0ed7a69e85484ec996005b6d13fdd270" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "b4de155467044f068425684a0f81f844" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "542d923d0e164161877b645a9ac5cfc6", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "54d94087af3e48fc9e5287ef474a0752", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "abaa0ae0a15648f18714f070098a39f1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "55944f57e1cb4829920628b93f1d83d3", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "55d7a8ecbd67453d802d3f6a2df31a7a", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "584958883ee743c58249bd7c5bc409a8", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "5a87305e0f044714b855e435ec9f65a1", + "m_Guid": { + "m_GuidSerialized": "284492c5-70d5-49cd-ba52-fa4bebb3399b" + }, + "m_Name": "_MetallicGlossMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_MetallicGlossMap", + "m_DefaultReferenceName": "_MetallicGlossMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "5b91f55bdf3e4b899a15e36e58fa2ef6", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5ce4e0ee6dbe4431aa8448436aad3a37", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5d9a09efd0634f58a30d4cb7fee6e2b7", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "5ed2bdff7b2d4a688cb785bb41b7b22c", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "61074f5554e64694a89b9acf56bc8f69", + "m_Guid": { + "m_GuidSerialized": "ad68ca9a-1531-439a-b9f3-88b12542f1ab" + }, + "m_Name": "_MainTex", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_MainTex", + "m_DefaultReferenceName": "_MainTex", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "6194e689291049dfad60fa2239f6a826", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "629577dc323647d4bf221ba811793d9c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3361.51611328125, + "y": 1019.1188354492188, + "width": 156.0001220703125, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "43ee6c6ef31d45a89db3493a179aac06" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "f609d14623e64e67bcc6adc5fb89fdde" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "6845804a042843c0b597bc1c334f8a85", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3762.500244140625, + "y": 304.0, + "width": 120.5, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "7368adda76b84c47a27c66a243f2299d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "959f11f1a28d4b4ab253ffa21bdc7c04" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "6a4b7dcaaf30492d8a741b0ac8d21002", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6b594948da0141fb96c45742b5bb17e2", + "m_Id": 0, + "m_DisplayName": "_Glossiness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "6bd307cde92b409c83bfa70461cd3554", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2962.01611328125, + "y": -24.881256103515626, + "width": 119.0, + "height": 149.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "cded14d8543b4bb5a43b95fa67e1079f" + }, + { + "m_Id": "5ce4e0ee6dbe4431aa8448436aad3a37" + }, + { + "m_Id": "07c1eb67dd8940a6b07433a8c9f5c166" + }, + { + "m_Id": "258e23116bb8441da4684f2d93cf30d2" + }, + { + "m_Id": "94da5faa075e45698020dd464884fc59" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "6c361095dce24aa2a510677b5fafb0fa", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "6ca28bbeafc748118eb15d6ce3101c22", + "m_Id": 0, + "m_DisplayName": "_MainTex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "6f902a5d504b4577842e6170b8ab6e7a", + "m_Datas": [], + "m_ActiveSubTarget": { + "m_Id": "9250c5106159418494228aefc7f301d5" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": true, + "m_CastShadows": true, + "m_ReceiveShadows": true, + "m_SupportsLODCrossFade": false, + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7368adda76b84c47a27c66a243f2299d", + "m_Id": 0, + "m_DisplayName": "_Metallic", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "76f02d7b41d64afb9292ff92a2baf0f8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4221.51611328125, + "y": 497.1187744140625, + "width": 182.9998779296875, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "be81c39a604d4bbcab78eda0dbc58e0b" + }, + { + "m_Id": "8847ce93c3a64c0a9d6bb088e8d1df6b" + }, + { + "m_Id": "c6efa892995040d4ac9182106c5093a8" + }, + { + "m_Id": "4806e61749ce4561b6cde0e7927e5b03" + }, + { + "m_Id": "de4db0115c524f8382ae1f2b6a08b719" + }, + { + "m_Id": "a676f917f09043058984744e8418c8d6" + }, + { + "m_Id": "99d9f3b90b5f4763adbac7eab05ca5ff" + }, + { + "m_Id": "f636deddad664adb81dbef01bbc2c69c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "793548d3f3a34a9787fbd8e8c0d8d4ad", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3856.51611328125, + "y": -389.38116455078127, + "width": 129.5, + "height": 117.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "4bd2f067c7594fb3b9f6193f7b347d67" + }, + { + "m_Id": "95282799412346fb939968463560a783" + }, + { + "m_Id": "2f4ea4cf5c9f4942a82ffe1f5a178cbd" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "796621b2939a421e9fc682e8178f4c84", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.AlphaClipThreshold", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "91ad5b766b1041809a1704ce5263e9d8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "79cb9bef2c8b4f528862227daa9c54d2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2398.0, + "y": 55.49998474121094, + "width": 199.999755859375, + "height": 40.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "e022048f062843c5acc5d8804cb03ab8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "7ce85f7b84984f76b85c361d3a441b8b", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "8051f2a874df453ca515fbe1100ac687", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4434.51611328125, + "y": 479.11883544921877, + "width": 181.0001220703125, + "height": 33.999969482421878 + } + }, + "m_Slots": [ + { + "m_Id": "8c1d3163336542eab792417a1222a7f3" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "5a87305e0f044714b855e435ec9f65a1" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "80d3fec6e4094a1daa9c555cab0a1b85", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "80fdd7971a684c4e807c9b329ddf2aef", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "83c373e2a2ee446f9264dacc7136a8cf", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "83c5ba84a51946eab53d0396ad45418a", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "85a3e77e207f4565ab16beb25f8b5aee", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8847ce93c3a64c0a9d6bb088e8d1df6b", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "8c1d3163336542eab792417a1222a7f3", + "m_Id": 0, + "m_DisplayName": "_MetallicGlossMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8c1ed9994dc14c8cb8257367099b3ec7", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "901294bb1c5b4ddc94e89924579d8405", + "m_Id": 0, + "m_DisplayName": "_OcclusionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "91565b87d4e34b30865f3bc0870ae62c", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "91ad5b766b1041809a1704ce5263e9d8", + "m_Id": 0, + "m_DisplayName": "Alpha Clip Threshold", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "AlphaClipThreshold", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", + "m_ObjectId": "9250c5106159418494228aefc7f301d5", + "m_WorkflowMode": 1, + "m_NormalDropOffSpace": 0, + "m_ClearCoat": false, + "m_BlendModePreserveSpecular": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "92965a4c37b24f0a8f6413f55aa88b2c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "bc054480a0b144b1a16e96849990d4c5" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "94da5faa075e45698020dd464884fc59", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9521e53071c64bbeb6d637ee7684d546", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "95282799412346fb939968463560a783", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "959f11f1a28d4b4ab253ffa21bdc7c04", + "m_Guid": { + "m_GuidSerialized": "a04759a2-d273-4805-bb04-7fbb9ac2bbf9" + }, + "m_Name": "_Metallic", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Metallic", + "m_DefaultReferenceName": "_Metallic", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "99d9f3b90b5f4763adbac7eab05ca5ff", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "9fc0ef8b8c444a89bb961f9fad21ae8a", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "a4e0b6d286e34aeba30aa585848e7f17", + "m_Id": 0, + "m_DisplayName": "_EmissionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "a5f350527bd049ae9187b9573f14bf98", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "a676f917f09043058984744e8418c8d6", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "a98ba8930309410cb5a2293f7d5b1d55", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "aacc57b691604d9b90cee23327c34697", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "abaa0ae0a15648f18714f070098a39f1", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "abb921a8d44749ce87bbf2088b8a79a3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4221.51611328125, + "y": -389.38116455078127, + "width": 183.0, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "f52fcb92d7cf467cb1dd945d4c548fbc" + }, + { + "m_Id": "43d107ec46dc4b4da74044cbe20ebdb8" + }, + { + "m_Id": "55944f57e1cb4829920628b93f1d83d3" + }, + { + "m_Id": "4070f1977e4749ab90e0154fd04bc13f" + }, + { + "m_Id": "0819478775e243758e810b4b7ac6332b" + }, + { + "m_Id": "b8bd45e4c22545458fd238c974aeef69" + }, + { + "m_Id": "c38eed8ddeae45ddb69d8a9d8b3cfeee" + }, + { + "m_Id": "584958883ee743c58249bd7c5bc409a8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ae2b4d356c9a45a7b5f9c3fa8d53e00c", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "b09af3d9da904bb596ac66e4eae3ce62", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "be236ef8b4db43e5ade173feaec6f075" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "b16c9a809e5c4859b7f0e28edeb75078", + "m_Guid": { + "m_GuidSerialized": "c1831af4-ea07-4e1a-95ab-e9765dd0925f" + }, + "m_Name": "_BumpMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_BumpMap", + "m_DefaultReferenceName": "_BumpMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"14eeb87a1b34eaa4db60b71bcf17bdad\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "b19675f3a9df4e9f8b5363d058993247", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "2204a6e72dec43c1ae93bb900e0fb9ae" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b2fb9f4a19fe4e669878d0d20bead71d", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "b345d11226554bd48696b1110d4aecf7", + "m_Id": 0, + "m_DisplayName": "_BumpMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "b4de155467044f068425684a0f81f844", + "m_Guid": { + "m_GuidSerialized": "ead02f08-91e6-46f0-989d-e73692297501" + }, + "m_Name": "_Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Color", + "m_DefaultReferenceName": "_Color", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "b7b97bc68a9c4a899f0366e6f1f78d8a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3177.5, + "y": 129.00001525878907, + "width": 183.0, + "height": 249.99998474121095 + } + }, + "m_Slots": [ + { + "m_Id": "1d5502bd4c0b42178c4895e18c762114" + }, + { + "m_Id": "ccd804e6c6be4de4a112f0fd6b997287" + }, + { + "m_Id": "80d3fec6e4094a1daa9c555cab0a1b85" + }, + { + "m_Id": "d9e4b06a17434fbdb00373394cfa8d31" + }, + { + "m_Id": "85a3e77e207f4565ab16beb25f8b5aee" + }, + { + "m_Id": "9fc0ef8b8c444a89bb961f9fad21ae8a" + }, + { + "m_Id": "83c373e2a2ee446f9264dacc7136a8cf" + }, + { + "m_Id": "32cb345ea1fb41399a8550f6c1f7131f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 1, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "b8bd45e4c22545458fd238c974aeef69", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "bc054480a0b144b1a16e96849990d4c5", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "be236ef8b4db43e5ade173feaec6f075", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "be81c39a604d4bbcab78eda0dbc58e0b", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "c0e2bbb9f7b7423a957825a2081bc446", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "c2a5d2a1bf584325b722b8931c391bce", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "c38eed8ddeae45ddb69d8a9d8b3cfeee", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "c3b2ba211ad84c4cb81933451bf8ebd7", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "0c94f5ab194345c597e4e4b52320fc1a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "c4d506ce00cd426ca88f5d27e2de648b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3762.51611328125, + "y": 556.1187133789063, + "width": 135.9998779296875, + "height": 34.000091552734378 + } + }, + "m_Slots": [ + { + "m_Id": "6b594948da0141fb96c45742b5bb17e2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "06a69810d09e4531b98148d9d6a3cb5e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "c5b660f3c95e43558b2b6178ee286b54", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3797.51611328125, + "y": 772.1188354492188, + "width": 157.5, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "a4e0b6d286e34aeba30aa585848e7f17" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "210d49182b1a4c4b91866c60d4694d25" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "c5ea0c0273114a289d8af8f2eccbe944", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3603.000244140625, + "y": 531.0, + "width": 126.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "e5604d6fc9084f01b62891d6689eb229" + }, + { + "m_Id": "5b91f55bdf3e4b899a15e36e58fa2ef6" + }, + { + "m_Id": "14ee80a1ff154eacb92aba53e35f95e8" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c6efa892995040d4ac9182106c5093a8", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "cb644d40521a41c697cc13c2e7d7eee8", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "cba7fb95349443bbb3eb64653c8b7641", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "cc583593c47e4bbe92ae54b83f499d05", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3609.01611328125, + "y": 806.1188354492188, + "width": 183.0001220703125, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "6194e689291049dfad60fa2239f6a826" + }, + { + "m_Id": "db5927d58ec4495e993dd638e81dcb42" + }, + { + "m_Id": "cb644d40521a41c697cc13c2e7d7eee8" + }, + { + "m_Id": "ae2b4d356c9a45a7b5f9c3fa8d53e00c" + }, + { + "m_Id": "06906d6b7fd9408aad87704432c7882a" + }, + { + "m_Id": "a5f350527bd049ae9187b9573f14bf98" + }, + { + "m_Id": "fcbca01f5ed944b7b65f22f79430d475" + }, + { + "m_Id": "91565b87d4e34b30865f3bc0870ae62c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ccd804e6c6be4de4a112f0fd6b997287", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "cded14d8543b4bb5a43b95fa67e1079f", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d9e4b06a17434fbdb00373394cfa8d31", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "db5927d58ec4495e993dd638e81dcb42", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "de4db0115c524f8382ae1f2b6a08b719", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "de92fd6392aa47cbbc29dbfa4f09e70f", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "e022048f062843c5acc5d8804cb03ab8", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "e2b47a17521b45d79f15b44d519b1ea8", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e5604d6fc9084f01b62891d6689eb229", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e5f95c921a6b464f8fa02af0291f8562", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "ef5d43ac2f9c48d3902c6f4a23a8ef4d", + "m_Guid": { + "m_GuidSerialized": "7c184f98-b575-4666-88c1-5cf123003c63" + }, + "m_Name": "_OcclusionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_OcclusionMap", + "m_DefaultReferenceName": "_OcclusionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "f1364201b9e34a0d943b78c94c470ed4", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3349.01611328125, + "y": 90.11880493164063, + "width": 141.4998779296875, + "height": 34.0000114440918 + } + }, + "m_Slots": [ + { + "m_Id": "b345d11226554bd48696b1110d4aecf7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "b16c9a809e5c4859b7f0e28edeb75078" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "f52fcb92d7cf467cb1dd945d4c548fbc", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "f609d14623e64e67bcc6adc5fb89fdde", + "m_Guid": { + "m_GuidSerialized": "fb09272f-ff92-42ca-bdbd-a6d99cbdf0d9" + }, + "m_Name": "_EmissionColor", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionColor", + "m_DefaultReferenceName": "_EmissionColor", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "f636deddad664adb81dbef01bbc2c69c", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "fc177a84c3cd49e0b3abc3585f716cad", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3349.01611328125, + "y": -389.3812255859375, + "width": 207.9998779296875, + "height": 301.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "e5f95c921a6b464f8fa02af0291f8562" + }, + { + "m_Id": "1312036ff986432fb97058afe3516abc" + }, + { + "m_Id": "0c976ff2bb554dc7b93b6d407e10d1e5" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "fcbca01f5ed944b7b65f22f79430d475", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPGLTF2.shadergraph.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPGLTF2.shadergraph.meta new file mode 100644 index 00000000..ba1509f6 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPGLTF2.shadergraph.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: cd7c53a04fac81c41b9df6b407a829f1 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPGLTF2.shadergraph + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPSpecularGLTF2.shadergraph b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPSpecularGLTF2.shadergraph new file mode 100644 index 00000000..9fd49e7f --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPSpecularGLTF2.shadergraph @@ -0,0 +1,3942 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "24070fbd46954c2a986f247934ebc414", + "m_Properties": [ + { + "m_Id": "61074f5554e64694a89b9acf56bc8f69" + }, + { + "m_Id": "b4de155467044f068425684a0f81f844" + }, + { + "m_Id": "b16c9a809e5c4859b7f0e28edeb75078" + }, + { + "m_Id": "959f11f1a28d4b4ab253ffa21bdc7c04" + }, + { + "m_Id": "06a69810d09e4531b98148d9d6a3cb5e" + }, + { + "m_Id": "5a87305e0f044714b855e435ec9f65a1" + }, + { + "m_Id": "f609d14623e64e67bcc6adc5fb89fdde" + }, + { + "m_Id": "210d49182b1a4c4b91866c60d4694d25" + }, + { + "m_Id": "ef5d43ac2f9c48d3902c6f4a23a8ef4d" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "246f94e9b52d46ee8d3e75f85fff5ad5" + } + ], + "m_Nodes": [ + { + "m_Id": "54d94087af3e48fc9e5287ef474a0752" + }, + { + "m_Id": "c3b2ba211ad84c4cb81933451bf8ebd7" + }, + { + "m_Id": "b09af3d9da904bb596ac66e4eae3ce62" + }, + { + "m_Id": "79cb9bef2c8b4f528862227daa9c54d2" + }, + { + "m_Id": "0e4f55c8d6104bcbab4fa9d4540163be" + }, + { + "m_Id": "b19675f3a9df4e9f8b5363d058993247" + }, + { + "m_Id": "53129f50cb534bd28bf33ebd03413acf" + }, + { + "m_Id": "92965a4c37b24f0a8f6413f55aa88b2c" + }, + { + "m_Id": "0168e4b08c734525bedc73c4a4ffd836" + }, + { + "m_Id": "11d5b2e33a7a40aead6e405f070d251f" + }, + { + "m_Id": "796621b2939a421e9fc682e8178f4c84" + }, + { + "m_Id": "218fcfc122674d3981cc0baa74a67fda" + }, + { + "m_Id": "8a96ab620eb14501bc0f4ff9b93cdb6a" + }, + { + "m_Id": "b48fb78d92b24405b412ee7041a9e575" + }, + { + "m_Id": "fc959d75e3de474798bfb49ef6ab8728" + }, + { + "m_Id": "8317605ccd9648d6a38e7cb7fed745c3" + }, + { + "m_Id": "5d34e8d26fcb49a0903763f5c7542305" + }, + { + "m_Id": "1acc5e28ec6f4e8abfe0a2099241682f" + }, + { + "m_Id": "9f771eb082ab4c59af174bd73b7c506d" + }, + { + "m_Id": "70ed8a3524934feb8878fa68eaa424ec" + }, + { + "m_Id": "41b816548bd74f898fb4bd5b123dad2a" + }, + { + "m_Id": "5a7c502cd121444f88f27ba4d1bb5977" + }, + { + "m_Id": "4c4ae53c326c4c53a94d9708a52ab768" + }, + { + "m_Id": "eee1485ff3834b2c8e08df1255f517a6" + }, + { + "m_Id": "4a8a64ad2cd947d99259f27dc48c7bfc" + }, + { + "m_Id": "a941e3d0d63e45fca2c4a4e65ca18469" + }, + { + "m_Id": "7822605aabc04398b0f9064483337612" + }, + { + "m_Id": "d112e8f14eee4778bbf7ab003355b212" + }, + { + "m_Id": "abaa814f05b64ccf8d1d9fe89da50ce5" + }, + { + "m_Id": "2d09b4a8d83e4c718b23b39e4b5d5018" + }, + { + "m_Id": "e11c8b1ce2474f7a98e383d5446c733f" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1acc5e28ec6f4e8abfe0a2099241682f" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9f771eb082ab4c59af174bd73b7c506d" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "218fcfc122674d3981cc0baa74a67fda" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8a96ab620eb14501bc0f4ff9b93cdb6a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2d09b4a8d83e4c718b23b39e4b5d5018" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "11d5b2e33a7a40aead6e405f070d251f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "41b816548bd74f898fb4bd5b123dad2a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "eee1485ff3834b2c8e08df1255f517a6" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4a8a64ad2cd947d99259f27dc48c7bfc" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0168e4b08c734525bedc73c4a4ffd836" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4c4ae53c326c4c53a94d9708a52ab768" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "eee1485ff3834b2c8e08df1255f517a6" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5a7c502cd121444f88f27ba4d1bb5977" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4c4ae53c326c4c53a94d9708a52ab768" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5d34e8d26fcb49a0903763f5c7542305" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0e4f55c8d6104bcbab4fa9d4540163be" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "70ed8a3524934feb8878fa68eaa424ec" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e11c8b1ce2474f7a98e383d5446c733f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7822605aabc04398b0f9064483337612" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "abaa814f05b64ccf8d1d9fe89da50ce5" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8317605ccd9648d6a38e7cb7fed745c3" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5d34e8d26fcb49a0903763f5c7542305" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8a96ab620eb14501bc0f4ff9b93cdb6a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b48fb78d92b24405b412ee7041a9e575" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9f771eb082ab4c59af174bd73b7c506d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d112e8f14eee4778bbf7ab003355b212" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9f771eb082ab4c59af174bd73b7c506d" + }, + "m_SlotId": 7 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e11c8b1ce2474f7a98e383d5446c733f" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a941e3d0d63e45fca2c4a4e65ca18469" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4a8a64ad2cd947d99259f27dc48c7bfc" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "abaa814f05b64ccf8d1d9fe89da50ce5" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2d09b4a8d83e4c718b23b39e4b5d5018" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "abaa814f05b64ccf8d1d9fe89da50ce5" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "79cb9bef2c8b4f528862227daa9c54d2" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b48fb78d92b24405b412ee7041a9e575" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d112e8f14eee4778bbf7ab003355b212" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d112e8f14eee4778bbf7ab003355b212" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b19675f3a9df4e9f8b5363d058993247" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d112e8f14eee4778bbf7ab003355b212" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "abaa814f05b64ccf8d1d9fe89da50ce5" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e11c8b1ce2474f7a98e383d5446c733f" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "53129f50cb534bd28bf33ebd03413acf" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "eee1485ff3834b2c8e08df1255f517a6" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "92965a4c37b24f0a8f6413f55aa88b2c" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "fc959d75e3de474798bfb49ef6ab8728" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b48fb78d92b24405b412ee7041a9e575" + }, + "m_SlotId": 1 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": -2403.0, + "y": -144.5 + }, + "m_Blocks": [ + { + "m_Id": "54d94087af3e48fc9e5287ef474a0752" + }, + { + "m_Id": "c3b2ba211ad84c4cb81933451bf8ebd7" + }, + { + "m_Id": "b09af3d9da904bb596ac66e4eae3ce62" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": -2403.0, + "y": 86.49999237060547 + }, + "m_Blocks": [ + { + "m_Id": "79cb9bef2c8b4f528862227daa9c54d2" + }, + { + "m_Id": "0e4f55c8d6104bcbab4fa9d4540163be" + }, + { + "m_Id": "b19675f3a9df4e9f8b5363d058993247" + }, + { + "m_Id": "53129f50cb534bd28bf33ebd03413acf" + }, + { + "m_Id": "92965a4c37b24f0a8f6413f55aa88b2c" + }, + { + "m_Id": "0168e4b08c734525bedc73c4a4ffd836" + }, + { + "m_Id": "11d5b2e33a7a40aead6e405f070d251f" + }, + { + "m_Id": "796621b2939a421e9fc682e8178f4c84" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_SubDatas": [], + "m_ActiveTargets": [ + { + "m_Id": "6f902a5d504b4577842e6170b8ab6e7a" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "0168e4b08c734525bedc73c4a4ffd836", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "5d9a09efd0634f58a30d4cb7fee6e2b7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "06a69810d09e4531b98148d9d6a3cb5e", + "m_Guid": { + "m_GuidSerialized": "f5e9ca6d-09e2-4869-9967-e9f52d4df99e" + }, + "m_Name": "_Glossiness", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Glossiness", + "m_DefaultReferenceName": "_Glossiness", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0b6aa34a1c9d456e9167de9b32eb0e74", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0b7885bc94e643e19e137baa60f1cac5", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "0c94f5ab194345c597e4e4b52320fc1a", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "0e4f55c8d6104bcbab4fa9d4540163be", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "7ce85f7b84984f76b85c361d3a441b8b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "11d5b2e33a7a40aead6e405f070d251f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "542d923d0e164161877b645a9ac5cfc6" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "1508bbc1b57249dca9b94f6c0241580f", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "1acc5e28ec6f4e8abfe0a2099241682f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3944.943359375, + "y": 368.71185302734377, + "width": 166.5, + "height": 33.999969482421878 + } + }, + "m_Slots": [ + { + "m_Id": "89a93209f67f420490bc391cb6804304" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "5a87305e0f044714b855e435ec9f65a1" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "1b4cd06e900f4ffdb75964d8397c532d", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1ba730182935430faf2787742cc08b3c", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1f7f9c29578d4fa9b805ae69855a7498", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "1ff0018a5a5a4cff8f37963099010ae2", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "210d49182b1a4c4b91866c60d4694d25", + "m_Guid": { + "m_GuidSerialized": "748bc92e-fabc-4da3-90a6-8ad6d044718b" + }, + "m_Name": "_EmissionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionMap", + "m_DefaultReferenceName": "_EmissionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "21753896e4be4a52b10f36398cd41330", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "218fcfc122674d3981cc0baa74a67fda", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4211.443359375, + "y": -627.7882080078125, + "width": 133.50006103515626, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "ceac95699fd64989b914511bbe62f852" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "61074f5554e64694a89b9acf56bc8f69" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2204a6e72dec43c1ae93bb900e0fb9ae", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "23f51d0375c04f58b28d502be3718d0b", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "246f94e9b52d46ee8d3e75f85fff5ad5", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "61074f5554e64694a89b9acf56bc8f69" + }, + { + "m_Id": "b4de155467044f068425684a0f81f844" + }, + { + "m_Id": "b16c9a809e5c4859b7f0e28edeb75078" + }, + { + "m_Id": "959f11f1a28d4b4ab253ffa21bdc7c04" + }, + { + "m_Id": "06a69810d09e4531b98148d9d6a3cb5e" + }, + { + "m_Id": "5a87305e0f044714b855e435ec9f65a1" + }, + { + "m_Id": "f609d14623e64e67bcc6adc5fb89fdde" + }, + { + "m_Id": "210d49182b1a4c4b91866c60d4694d25" + }, + { + "m_Id": "ef5d43ac2f9c48d3902c6f4a23a8ef4d" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2472acc63452494eb91c84ec375dc390", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "252ef20e8a694d05b78597a98ed51fd5", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "258002358f5e4ecd9c12a3c24c369334", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "27f1f04c9248444f874ac27793f18e4c", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "297c6e08230e4675a7326ab990c0d2a2", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2a955a56eabc4160aeb8b269d782d03c", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "2d09b4a8d83e4c718b23b39e4b5d5018", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2646.943359375, + "y": 86.71183776855469, + "width": 119.0, + "height": 148.99998474121095 + } + }, + "m_Slots": [ + { + "m_Id": "0b7885bc94e643e19e137baa60f1cac5" + }, + { + "m_Id": "1ba730182935430faf2787742cc08b3c" + }, + { + "m_Id": "5916bb95d44048bdbd3d364440317229" + }, + { + "m_Id": "297c6e08230e4675a7326ab990c0d2a2" + }, + { + "m_Id": "e55a1e53d40d4a9382d571f2b54766f1" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "2edcaa2d736742bdaa2481407c359fe3", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "318f1a4ad4204b8eb0717f81c1da9847", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "382654da5e9849efb15944bbf9f04f69", + "m_Id": 1, + "m_DisplayName": "diffuseBase", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "diffuseBase", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "3f20e7ca81684fdd9e93876ea442b9de", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "40e9e086458f43acac8cc4ddc4181286", + "m_Id": 0, + "m_DisplayName": "_EmissionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "41b816548bd74f898fb4bd5b123dad2a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3484.443359375, + "y": 1059.7117919921875, + "width": 155.9998779296875, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "d1d9cfe925fa45938c32d53a6467b758" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "f609d14623e64e67bcc6adc5fb89fdde" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "45408d17ec5a4972ad25215c9eae9031", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "4a8a64ad2cd947d99259f27dc48c7bfc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3748.44287109375, + "y": 1299.2117919921875, + "width": 208.0, + "height": 434.0001220703125 + } + }, + "m_Slots": [ + { + "m_Id": "ed0326919d8c4f3aa35332120198f4f4" + }, + { + "m_Id": "2472acc63452494eb91c84ec375dc390" + }, + { + "m_Id": "258002358f5e4ecd9c12a3c24c369334" + }, + { + "m_Id": "a3d047383c6e407483f1610c3badceb1" + }, + { + "m_Id": "21753896e4be4a52b10f36398cd41330" + }, + { + "m_Id": "1508bbc1b57249dca9b94f6c0241580f" + }, + { + "m_Id": "f51f026b56bf4a9c8a8177fe0cff9943" + }, + { + "m_Id": "644ea1acd6844942bc67b14b36cf5077" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "4c4ae53c326c4c53a94d9708a52ab768", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3731.943359375, + "y": 846.7117919921875, + "width": 182.9998779296875, + "height": 250.00006103515626 + } + }, + "m_Slots": [ + { + "m_Id": "318f1a4ad4204b8eb0717f81c1da9847" + }, + { + "m_Id": "c3616bfac7824403aa6adde10cf6d23d" + }, + { + "m_Id": "3f20e7ca81684fdd9e93876ea442b9de" + }, + { + "m_Id": "52bfff5017a14df6a38666d0ef8b35bc" + }, + { + "m_Id": "553a6f01349b4a039b9aed1c8d681fb3" + }, + { + "m_Id": "bf20669a4bee4d478075e4e26d242a46" + }, + { + "m_Id": "4e211285cf3648fe9741336f100ebbb0" + }, + { + "m_Id": "23f51d0375c04f58b28d502be3718d0b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "4e211285cf3648fe9741336f100ebbb0", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "52bfff5017a14df6a38666d0ef8b35bc", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "53129f50cb534bd28bf33ebd03413acf", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "cba7fb95349443bbb3eb64653c8b7641" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "542d923d0e164161877b645a9ac5cfc6", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "54d94087af3e48fc9e5287ef474a0752", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "abaa0ae0a15648f18714f070098a39f1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "553a6f01349b4a039b9aed1c8d681fb3", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "56c5e09521da4b7d97046cf3472c4132", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "587e3591aa3046bb85285f41f533584c", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5916bb95d44048bdbd3d364440317229", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5a142b5fcd4c421a990c7d1a1a60832e", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "5a7c502cd121444f88f27ba4d1bb5977", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3920.443359375, + "y": 812.7117919921875, + "width": 157.4998779296875, + "height": 33.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "40e9e086458f43acac8cc4ddc4181286" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "210d49182b1a4c4b91866c60d4694d25" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "5a87305e0f044714b855e435ec9f65a1", + "m_Guid": { + "m_GuidSerialized": "284492c5-70d5-49cd-ba52-fa4bebb3399b" + }, + "m_Name": "_SpecGlossMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_SpecGlossMap", + "m_DefaultReferenceName": "_SpecGlossMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "5d34e8d26fcb49a0903763f5c7542305", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3650.443359375, + "y": -150.78817749023438, + "width": 183.0, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "794a0b5e3f28496997ebf13dd819c769" + }, + { + "m_Id": "eed7702b73ab4229b73eb74aa1756614" + }, + { + "m_Id": "56c5e09521da4b7d97046cf3472c4132" + }, + { + "m_Id": "d4bec6f7b19c48b9b7a2e8129b5d9c57" + }, + { + "m_Id": "75a6f77ad819431e81e05bae9836e6a8" + }, + { + "m_Id": "587e3591aa3046bb85285f41f533584c" + }, + { + "m_Id": "1ff0018a5a5a4cff8f37963099010ae2" + }, + { + "m_Id": "8059e6106bb94cae895f10d6737572b9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 1, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5d9a09efd0634f58a30d4cb7fee6e2b7", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "61074f5554e64694a89b9acf56bc8f69", + "m_Guid": { + "m_GuidSerialized": "ad68ca9a-1531-439a-b9f3-88b12542f1ab" + }, + "m_Name": "_MainTex", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_MainTex", + "m_DefaultReferenceName": "_MainTex", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "644ea1acd6844942bc67b14b36cf5077", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "6eb84a35b5de445aa5615404369a8e91", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "6f902a5d504b4577842e6170b8ab6e7a", + "m_Datas": [], + "m_ActiveSubTarget": { + "m_Id": "9250c5106159418494228aefc7f301d5" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": true, + "m_CastShadows": true, + "m_ReceiveShadows": true, + "m_SupportsLODCrossFade": false, + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "70ed8a3524934feb8878fa68eaa424ec", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3433.443359375, + "y": 492.7117919921875, + "width": 136.0, + "height": 34.000030517578128 + } + }, + "m_Slots": [ + { + "m_Id": "bc1ba6d8512841e29d253fd07b6d957f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "06a69810d09e4531b98148d9d6a3cb5e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "75a6f77ad819431e81e05bae9836e6a8", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.VertexColorNode", + "m_ObjectId": "7822605aabc04398b0f9064483337612", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Vertex Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3165.443359375, + "y": -202.78817749023438, + "width": 117.5001220703125, + "height": 93.99998474121094 + } + }, + "m_Slots": [ + { + "m_Id": "6eb84a35b5de445aa5615404369a8e91" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "794a0b5e3f28496997ebf13dd819c769", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "796621b2939a421e9fc682e8178f4c84", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.AlphaClipThreshold", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "91ad5b766b1041809a1704ce5263e9d8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "79cb9bef2c8b4f528862227daa9c54d2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2398.0, + "y": 55.49998474121094, + "width": 199.999755859375, + "height": 40.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "e022048f062843c5acc5d8804cb03ab8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "7ce85f7b84984f76b85c361d3a441b8b", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "8059e6106bb94cae895f10d6737572b9", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "8317605ccd9648d6a38e7cb7fed745c3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3900.443359375, + "y": -171.28817749023438, + "width": 141.5, + "height": 34.00001525878906 + } + }, + "m_Slots": [ + { + "m_Id": "c84c9042408b4ddabeab6d4cf32c331e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "b16c9a809e5c4859b7f0e28edeb75078" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "87065bb05d164fa1b3261212c27e7954", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "89a93209f67f420490bc391cb6804304", + "m_Id": 0, + "m_DisplayName": "_SpecGlossMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "8a96ab620eb14501bc0f4ff9b93cdb6a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4038.443359375, + "y": -610.7882080078125, + "width": 183.0001220703125, + "height": 249.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "91f8c550580f424493a76f5fd5103b15" + }, + { + "m_Id": "a594f0b08d6d41bf8586d5e4f1552932" + }, + { + "m_Id": "0b6aa34a1c9d456e9167de9b32eb0e74" + }, + { + "m_Id": "96e2808bb10a468ebcf1e65926eab1b8" + }, + { + "m_Id": "45408d17ec5a4972ad25215c9eae9031" + }, + { + "m_Id": "bfb3297685c9497882a36b5f4d48150d" + }, + { + "m_Id": "aa3d34c96a544519b17d5e36f60a0d7d" + }, + { + "m_Id": "2edcaa2d736742bdaa2481407c359fe3" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "91ad5b766b1041809a1704ce5263e9d8", + "m_Id": 0, + "m_DisplayName": "Alpha Clip Threshold", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "AlphaClipThreshold", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "91f8c550580f424493a76f5fd5103b15", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", + "m_ObjectId": "9250c5106159418494228aefc7f301d5", + "m_WorkflowMode": 1, + "m_NormalDropOffSpace": 0, + "m_ClearCoat": false, + "m_BlendModePreserveSpecular": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "92965a4c37b24f0a8f6413f55aa88b2c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "bc054480a0b144b1a16e96849990d4c5" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "959f11f1a28d4b4ab253ffa21bdc7c04", + "m_Guid": { + "m_GuidSerialized": "a04759a2-d273-4805-bb04-7fbb9ac2bbf9" + }, + "m_Name": "_Metallic", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Metallic", + "m_DefaultReferenceName": "_Metallic", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "96b3d04257ad4fcfbf256f0b20a4317e", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "96e2808bb10a468ebcf1e65926eab1b8", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "998adf1c41234f09b9c672bd70082a0b", + "m_Id": 0, + "m_DisplayName": "_Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9c317d6616ef402cb7c5571b0129df9a", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9dee41e3898c4bf9b3861f7612313c2c", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "9f771eb082ab4c59af174bd73b7c506d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3731.943115234375, + "y": 386.7118225097656, + "width": 182.9998779296875, + "height": 250.0 + } + }, + "m_Slots": [ + { + "m_Id": "c98bafbacfe64ea19a03f924aff5b876" + }, + { + "m_Id": "f751ceaa4ba745f5b08ed592651ba164" + }, + { + "m_Id": "5a142b5fcd4c421a990c7d1a1a60832e" + }, + { + "m_Id": "f9bf696693d540a297a4bfe6a1e67041" + }, + { + "m_Id": "27f1f04c9248444f874ac27793f18e4c" + }, + { + "m_Id": "b6c587606fc0470db5543635637d60b7" + }, + { + "m_Id": "1b4cd06e900f4ffdb75964d8397c532d" + }, + { + "m_Id": "87065bb05d164fa1b3261212c27e7954" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a3d047383c6e407483f1610c3badceb1", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "a4bedd18a1cc4954862ceb9d07f1b4df", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "a57844522e0e47d09f47d5f10b697d29", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a594f0b08d6d41bf8586d5e4f1552932", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "a941e3d0d63e45fca2c4a4e65ca18469", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3934.443115234375, + "y": 1299.2117919921875, + "width": 162.5, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "f37ab328a91c48b5936b8a97b5e9e1ba" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "ef5d43ac2f9c48d3902c6f4a23a8ef4d" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "a9ca35bad7be43ccac41ef310d8aa3e2", + "m_Id": 2, + "m_DisplayName": "specularBase", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "specularBase", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "aa3d34c96a544519b17d5e36f60a0d7d", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "abaa0ae0a15648f18714f070098a39f1", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "abaa814f05b64ccf8d1d9fe89da50ce5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2939.943359375, + "y": -202.78817749023438, + "width": 208.0, + "height": 302.00006103515627 + } + }, + "m_Slots": [ + { + "m_Id": "e8a40f56cca04272ae243d095f0e7c0a" + }, + { + "m_Id": "b196fb1435bd464a9aedde25c9f6649c" + }, + { + "m_Id": "e7c4430dacf045ab989f1cadf2fdd536" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "b09af3d9da904bb596ac66e4eae3ce62", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "be236ef8b4db43e5ade173feaec6f075" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "b16c9a809e5c4859b7f0e28edeb75078", + "m_Guid": { + "m_GuidSerialized": "c1831af4-ea07-4e1a-95ab-e9765dd0925f" + }, + "m_Name": "_BumpMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_BumpMap", + "m_DefaultReferenceName": "_BumpMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"14eeb87a1b34eaa4db60b71bcf17bdad\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "b19675f3a9df4e9f8b5363d058993247", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "2204a6e72dec43c1ae93bb900e0fb9ae" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b196fb1435bd464a9aedde25c9f6649c", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "b48fb78d92b24405b412ee7041a9e575", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3675.443359375, + "y": -610.7882080078125, + "width": 208.0001220703125, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "252ef20e8a694d05b78597a98ed51fd5" + }, + { + "m_Id": "9c317d6616ef402cb7c5571b0129df9a" + }, + { + "m_Id": "f94f4beecf2c485789a62889c4d3f1dd" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "b4de155467044f068425684a0f81f844", + "m_Guid": { + "m_GuidSerialized": "ead02f08-91e6-46f0-989d-e73692297501" + }, + "m_Name": "_Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_Color", + "m_DefaultReferenceName": "_Color", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "b6c587606fc0470db5543635637d60b7", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "bc054480a0b144b1a16e96849990d4c5", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bc1ba6d8512841e29d253fd07b6d957f", + "m_Id": 0, + "m_DisplayName": "_Glossiness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "be236ef8b4db43e5ade173feaec6f075", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "bf20669a4bee4d478075e4e26d242a46", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "bfb3297685c9497882a36b5f4d48150d", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c3616bfac7824403aa6adde10cf6d23d", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c3935587d56648858f60b7a6f27004c7", + "m_Id": 0, + "m_DisplayName": "metalness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "metalness", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "c3b2ba211ad84c4cb81933451bf8ebd7", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "0c94f5ab194345c597e4e4b52320fc1a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "c84c9042408b4ddabeab6d4cf32c331e", + "m_Id": 0, + "m_DisplayName": "_BumpMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "c98bafbacfe64ea19a03f924aff5b876", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "cba7fb95349443bbb3eb64653c8b7641", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "ceac95699fd64989b914511bbe62f852", + "m_Id": 0, + "m_DisplayName": "_MainTex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", + "m_ObjectId": "d112e8f14eee4778bbf7ab003355b212", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SpecularToMetalness (Custom Function)", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3325.443115234375, + "y": 84.71183776855469, + "width": 277.4998779296875, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "382654da5e9849efb15944bbf9f04f69" + }, + { + "m_Id": "a9ca35bad7be43ccac41ef310d8aa3e2" + }, + { + "m_Id": "c3935587d56648858f60b7a6f27004c7" + }, + { + "m_Id": "f592054721ee4f5d9989df189ed9dafb" + } + ], + "synonyms": [ + "code", + "HLSL" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SourceType": 1, + "m_FunctionName": "SpecularToMetalness", + "m_FunctionSource": "", + "m_FunctionBody": "// Constants\r\nfloat3 dielectricSpecular = 0.04; // Specular reflectance for dielectric materials\r\nfloat epsilon = 1e-5; // Small value to avoid division by zero\r\n\r\n// Compute perceived brightness of diffuse and specular\r\nfloat diffuseBrightness = dot(diffuseBase.xyz, float3(0.2126, 0.7152, 0.0722)); // Luminance (perceived brightness)\r\nfloat specularBrightness = dot(specularBase, float3(0.2126, 0.7152, 0.0722)); // Luminance (perceived brightness)\r\n\r\n// Compute one minus specular strength\r\nfloat oneMinusSpecularStrength = 1.0 - max(max(specularBase.r, specularBase.g), specularBase.b);\r\n\r\n// Inline solveMetallic logic\r\nif (specularBrightness < dielectricSpecular.r) {\r\n metalness = 0.0;\r\n}\r\nelse {\r\n float a = dielectricSpecular.r;\r\n float b = diffuseBrightness * oneMinusSpecularStrength / (1.0 - dielectricSpecular.r) + specularBrightness - 2.0 * dielectricSpecular.r;\r\n float c = dielectricSpecular.r - specularBrightness;\r\n float D = b * b - 4.0 * a * c;\r\n\r\n metalness = saturate((-b + sqrt(D)) / (2.0 * a));\r\n}\r\n\r\n// Compute base color\r\nfloat3 baseColorFromDiffuse = diffuseBase.xyz * (oneMinusSpecularStrength / (1.0 - dielectricSpecular.r) / max(1.0 - metalness, epsilon));\r\nfloat3 baseColorFromSpecular = (specularBase - dielectricSpecular * (1.0 - metalness)) / max(metalness, epsilon);\r\n\r\nbaseColor = float4(lerp(baseColorFromDiffuse, baseColorFromSpecular, metalness * metalness), diffuseBase.a);\r\nbaseColor = saturate(baseColor); // Clamp values between 0 and 1" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "d1d9cfe925fa45938c32d53a6467b758", + "m_Id": 0, + "m_DisplayName": "_EmissionColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d4bec6f7b19c48b9b7a2e8129b5d9c57", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "e022048f062843c5acc5d8804cb03ab8", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "e11c8b1ce2474f7a98e383d5446c733f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3261.499755859375, + "y": 492.4999694824219, + "width": 126.0, + "height": 117.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "1f7f9c29578d4fa9b805ae69855a7498" + }, + { + "m_Id": "2a955a56eabc4160aeb8b269d782d03c" + }, + { + "m_Id": "96b3d04257ad4fcfbf256f0b20a4317e" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e55a1e53d40d4a9382d571f2b54766f1", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e7c4430dacf045ab989f1cadf2fdd536", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e8a40f56cca04272ae243d095f0e7c0a", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "ed0326919d8c4f3aa35332120198f4f4", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "eed7702b73ab4229b73eb74aa1756614", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "eee1485ff3834b2c8e08df1255f517a6", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3297.443359375, + "y": 846.7117919921875, + "width": 129.5, + "height": 118.00006103515625 + } + }, + "m_Slots": [ + { + "m_Id": "a57844522e0e47d09f47d5f10b697d29" + }, + { + "m_Id": "9dee41e3898c4bf9b3861f7612313c2c" + }, + { + "m_Id": "a4bedd18a1cc4954862ceb9d07f1b4df" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "ef5d43ac2f9c48d3902c6f4a23a8ef4d", + "m_Guid": { + "m_GuidSerialized": "7c184f98-b575-4666-88c1-5cf123003c63" + }, + "m_Name": "_OcclusionMap", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_OcclusionMap", + "m_DefaultReferenceName": "_OcclusionMap", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"e6e4bc18e57a0c042905df7fed60433c\",\"type\":3}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "f37ab328a91c48b5936b8a97b5e9e1ba", + "m_Id": 0, + "m_DisplayName": "_OcclusionMap", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "f51f026b56bf4a9c8a8177fe0cff9943", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "f592054721ee4f5d9989df189ed9dafb", + "m_Id": 3, + "m_DisplayName": "baseColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "baseColor", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "f609d14623e64e67bcc6adc5fb89fdde", + "m_Guid": { + "m_GuidSerialized": "fb09272f-ff92-42ca-bdbd-a6d99cbdf0d9" + }, + "m_Name": "_EmissionColor", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_EmissionColor", + "m_DefaultReferenceName": "_EmissionColor", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f751ceaa4ba745f5b08ed592651ba164", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f94f4beecf2c485789a62889c4d3f1dd", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f9bf696693d540a297a4bfe6a1e67041", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "fc959d75e3de474798bfb49ef6ab8728", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3824.443359375, + "y": -504.2881774902344, + "width": 109.9998779296875, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "998adf1c41234f09b9c672bd70082a0b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "b4de155467044f068425684a0f81f844" + } +} + diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPSpecularGLTF2.shadergraph.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPSpecularGLTF2.shadergraph.meta new file mode 100644 index 00000000..a1ec4c75 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPSpecularGLTF2.shadergraph.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: edac662c7e3ad10419929814e6e72763 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Resources/Materials/glTF2/UniversalRP/UniversalRPSpecularGLTF2.shadergraph + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes.meta new file mode 100644 index 00000000..2be10d92 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e398f248c04fee409678c1d76746e37 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/GltfMaterials.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/GltfMaterials.unity new file mode 100644 index 00000000..a632b366 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/GltfMaterials.unity @@ -0,0 +1,1000 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44824708, g: 0.49827492, b: 0.5755839, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 546969407} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &153877214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 153877216} + - component: {fileID: 153877217} + m_Layer: 0 + m_Name: GltfMaterials + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &153877216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!114 &153877217 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45898b4277cc7c444834f92e6ee8e5ba, type: 3} + m_Name: + m_EditorClassIdentifier: + _loadModelButton: {fileID: 1280881142} + _progressText: {fileID: 1806920293} +--- !u!850595691 &546969407 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 4 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 +--- !u!1 &809567019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 809567021} + - component: {fileID: 809567020} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &809567020 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &809567021 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_LocalRotation: {x: -0.21949817, y: 0.7567979, z: -0.31347594, w: -0.5299155} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 45, y: 250, z: 0} +--- !u!1 &1118294650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118294651} + - component: {fileID: 1118294654} + - component: {fileID: 1118294653} + - component: {fileID: 1118294652} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1118294651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1932248235} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1118294652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1118294653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: This sample loads a model using a custom Material Mapper that creates and + populates glTF2 materials +--- !u!222 &1118294654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_CullTransparentMesh: 0 +--- !u!1 &1280881140 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1280881141} + - component: {fileID: 1280881144} + - component: {fileID: 1280881143} + - component: {fileID: 1280881142} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1280881141 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280881140} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1602568267} + m_Father: {fileID: 1932248235} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 20, y: -90} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1280881142 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280881140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1280881143} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 153877217} + m_TargetAssemblyTypeName: TriLibCore.Samples.GltfMaterialsSample, Assembly-CSharp + m_MethodName: LoadModel + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1280881143 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280881140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1280881144 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280881140} + m_CullTransparentMesh: 0 +--- !u!1 &1602568266 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1602568267} + - component: {fileID: 1602568269} + - component: {fileID: 1602568268} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1602568267 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1602568266} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1280881141} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1602568268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1602568266} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Load Model + +' +--- !u!222 &1602568269 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1602568266} + m_CullTransparentMesh: 0 +--- !u!1 &1806920290 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1806920291} + - component: {fileID: 1806920294} + - component: {fileID: 1806920293} + - component: {fileID: 1806920292} + m_Layer: 5 + m_Name: Progress + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1806920291 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1806920290} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1932248235} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -50} + m_SizeDelta: {x: -20, y: -50} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1806920292 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1806920290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1806920293 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1806920290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1806920294 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1806920290} + m_CullTransparentMesh: 0 +--- !u!1 &1813965413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813965417} + - component: {fileID: 1813965416} + - component: {fileID: 1813965415} + - component: {fileID: 1813965414} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1813965414 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!124 &1813965415 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!20 &1813965416 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1813965417 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.01, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1868373955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868373958} + - component: {fileID: 1868373957} + - component: {fileID: 1868373956} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1868373956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1868373957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1868373958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1932248231 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1932248235} + - component: {fileID: 1932248234} + - component: {fileID: 1932248233} + - component: {fileID: 1932248232} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1932248232 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932248231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1932248233 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932248231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1932248234 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932248231} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1932248235 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932248231} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1118294651} + - {fileID: 1806920291} + - {fileID: 1280881141} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/GltfMaterials.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/GltfMaterials.unity.meta new file mode 100644 index 00000000..95758aba --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/GltfMaterials.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 37be5a2c615e89a40a4a54671b209451 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/GltfMaterials.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/Scripts.meta new file mode 100644 index 00000000..0cfa61d4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 06339f51754d77b499f09c5aad927567 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/Scripts/GltfMaterialsSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/Scripts/GltfMaterialsSample.cs new file mode 100644 index 00000000..7c9f28cf --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/Scripts/GltfMaterialsSample.cs @@ -0,0 +1,157 @@ +#pragma warning disable 649 +using TriLibCore.Extensions; +using TriLibCore.Utils; +using UnityEngine; +using UnityEngine.UI; + +namespace TriLibCore.Samples +{ + /// + /// Demonstrates how to load a 3D model using an OS file picker and apply a custom material mapping for glTF2 materials. + /// This sample creates the if necessary, configures them using + /// , and then launches the file picker via + /// . + /// + public class GltfMaterialsSample : MonoBehaviour + { + /// + /// The most recently loaded model GameObject. + /// + private GameObject _loadedGameObject; + + /// + /// Button used to trigger the model loading process. + /// + [SerializeField] + private Button _loadModelButton; + + /// + /// UI text element used to display the loading progress. + /// + [SerializeField] + private Text _progressText; + + /// + /// Cached instance of used to configure the model loading process. + /// + private AssetLoaderOptions _assetLoaderOptions; + + /// + /// Creates the if necessary, configures them to use the glTF2 material mapper, + /// and then opens the OS file-picker for the user to select a model file. + /// + /// + /// You can create custom AssetLoaderOptions by right-clicking in the Assets Explorer and selecting + /// "TriLib->Create->AssetLoaderOptions->Pre-Built AssetLoaderOptions". + /// + public void LoadModel() + { + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + } + // Configure the options to use the glTF2 material mapper. + GltfMaterialsHelper.SetupStatic(ref _assetLoaderOptions); + + // Create a file picker loader and open the file selection dialog. + var assetLoaderFilePicker = AssetLoaderFilePicker.Create(); + assetLoaderFilePicker.LoadModelFromFilePickerAsync( + "Select a Model file", + OnLoad, + OnMaterialsLoad, + OnProgress, + OnBeginLoad, + OnError, + null, + _assetLoaderOptions); + } + + /// + /// Called when the model loading process begins. + /// This callback updates the UI to reflect that a file selection has been made and loading has started. + /// + /// + /// true if a file has been selected; otherwise, false. + /// + private void OnBeginLoad(bool filesSelected) + { + _loadModelButton.interactable = !filesSelected; + _progressText.enabled = filesSelected; + } + + /// + /// Callback invoked when an error occurs during model loading. + /// Logs the error to the console. + /// + /// + /// The contextualized error, which contains details about the original exception and loading context. + /// + private void OnError(IContextualizedError obj) + { + Debug.LogError($"An error occurred while loading your model: {obj.GetInnerException()}"); + } + + /// + /// Callback invoked to update the UI with the current loading progress. + /// + /// + /// The context used to load the model, which contains progress information. + /// + /// + /// A float value between 0 and 1 representing the current loading progress. + /// + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + _progressText.text = $"Progress: {progress:P}"; + } + + /// + /// Callback invoked when the model, including its textures and materials, has been fully loaded. + /// + /// + /// The fully loaded model GameObject is available via the property. + /// + /// + /// The context used to load the model. + /// + private void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + if (assetLoaderContext.RootGameObject != null) + { + Debug.Log("Model fully loaded."); + } + else + { + Debug.Log("Model could not be loaded."); + } + _loadModelButton.interactable = true; + _progressText.enabled = false; + } + + /// + /// Callback invoked when the model's meshes and hierarchy have been loaded. + /// This callback updates the sample by replacing any previously loaded model and adjusting + /// the main camera to frame the new model. + /// + /// + /// The loaded model is stored in and is accessible via + /// the property. + /// + /// + /// The context that holds the loaded model data. + /// + private void OnLoad(AssetLoaderContext assetLoaderContext) + { + if (_loadedGameObject != null) + { + Destroy(_loadedGameObject); + } + _loadedGameObject = assetLoaderContext.RootGameObject; + if (_loadedGameObject != null && Camera.main != null) + { + // Adjust the main camera to fit the bounds of the loaded model. + Camera.main.FitToBounds(assetLoaderContext.RootGameObject, 2f); + } + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/Scripts/GltfMaterialsSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/Scripts/GltfMaterialsSample.cs.meta new file mode 100644 index 00000000..25dc933b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/Scripts/GltfMaterialsSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 45898b4277cc7c444834f92e6ee8e5ba +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scenes/Scripts/GltfMaterialsSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts.meta new file mode 100644 index 00000000..61895303 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: acb588ea2c13c814b8a593b1798fb218 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Mappers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Mappers.meta new file mode 100644 index 00000000..8a865f0f --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Mappers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ec3227896666e542a249584c3320adc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Mappers/glTF2StandardMaterialMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Mappers/glTF2StandardMaterialMapper.cs new file mode 100644 index 00000000..ab1c363d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Mappers/glTF2StandardMaterialMapper.cs @@ -0,0 +1,121 @@ +using System; +using System.Collections; +using TriLibCore.General; +using TriLibCore.Gltf; +using TriLibCore.Gltf.Reader; +using TriLibCore.Utils; +using UnityEngine; + +namespace TriLibCore.Mappers +{ + /// + /// Converts TriLib virtual materials of glTF2 assets into Unity Standard materials, + /// using shader properties and material presets appropriate for the currently active render pipeline. + /// + /// + /// This mapper supports both the specular-glossiness and metallic-roughness workflows. + /// Based on the flag , it selects a material preset from HDRP, URP, or Standard + /// resource directories. It forces the use of a shader variant collection and extracts metallic and smoothness properties. + /// The mapper is considered compatible if the reader is a . + /// + [Serializable] + [CreateAssetMenu(menuName = "TriLib/Mappers/Material/glTF2 Standard Material Mapper", fileName = "glTF2StandardMaterialMapper")] + public class glTF2StandardMaterialMapper : StandardMaterialMapper + { + public override bool UseShaderVariantCollection => true; + protected bool UsingSpecularGlossiness; + + public override Material MaterialPreset + { + get + { + if (UsingSpecularGlossiness) + { + + if (GraphicsSettingsUtils.IsUsingHDRPPipeline) + { + return Resources.Load("Materials/glTF2/HDRP/HDRPSpecularGLTF2"); + } + if (GraphicsSettingsUtils.IsUsingUniversalPipeline) + { + return Resources.Load("Materials/glTF2/UniversalRP/UniversalRPSpecularGLTF2"); + } + return Resources.Load("Materials/glTF2/Standard/StandardSpecularGLTF2"); + } + else + { + if (GraphicsSettingsUtils.IsUsingHDRPPipeline) + { + return Resources.Load("Materials/glTF2/HDRP/HDRPGLTF2"); + } + if (GraphicsSettingsUtils.IsUsingUniversalPipeline) + { + return Resources.Load("Materials/glTF2/UniversalRP/UniversalRPGLTF2"); + } + return Resources.Load("Materials/glTF2/Standard/StandardGLTF2"); + } + } + } + + public override Material LoadingMaterial => MaterialPreset; + + public override Material CutoutMaterialPreset => MaterialPreset; + + public override Material TransparentComposeMaterialPreset => MaterialPreset; + + public override Material TransparentMaterialPreset => MaterialPreset; + + public override Material MaterialPresetNoMetallicTexture => MaterialPreset; + + public override Material CutoutMaterialPresetNoMetallicTexture => MaterialPreset; + + public override Material TransparentMaterialPresetNoMetallicTexture => MaterialPreset; + + public override Material TransparentComposeMaterialPresetNoMetallicTexture => MaterialPreset; + + public override bool ExtractMetallicAndSmoothness => true; + + public override IEnumerable MapCoroutine(MaterialMapperContext materialMapperContext) + { + UsingSpecularGlossiness = materialMapperContext.Material is GltfMaterial gltfMaterial && gltfMaterial.UsingSpecularGlossinness; + return base.MapCoroutine(materialMapperContext); + } + + public override bool IsCompatible(MaterialMapperContext materialMapperContext) + { + return materialMapperContext != null && materialMapperContext.Context.Reader is GltfReader; + } + + protected override IEnumerable ApplyGlossinessMapTexture(TextureLoadingContext textureLoadingContext) + { + if (textureLoadingContext.UnityTexture != null) + { + textureLoadingContext.Context.AddUsedTexture(textureLoadingContext.UnityTexture); + } + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_SpecGlossMap", textureLoadingContext.UnityTexture, GenericMaterialProperty.MetallicMap); + if (textureLoadingContext.UnityTexture != null) + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.EnableKeyword("_SPECGLOSSMAP"); + } + else + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.DisableKeyword("_SPECGLOSSMAP"); + } + yield break; + } + + protected override IEnumerable CheckGlossinessValue(MaterialMapperContext materialMapperContext) + { + var value = 1f - materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.GlossinessOrRoughness, materialMapperContext); + materialMapperContext.VirtualMaterial.SetProperty("_Glossiness", value); + materialMapperContext.VirtualMaterial.SetProperty("_GlossMapScale", value); + yield break; + } + + public override string GetGlossinessOrRoughnessName(MaterialMapperContext materialMapperContext) + { + return "_Glossiness"; + } + + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Mappers/glTF2StandardMaterialMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Mappers/glTF2StandardMaterialMapper.cs.meta new file mode 100644 index 00000000..2eee4b32 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Mappers/glTF2StandardMaterialMapper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c1b706acf04f7d94185154700f825aa7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Mappers/glTF2StandardMaterialMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Utils.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Utils.meta new file mode 100644 index 00000000..69e56caa --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Utils.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 04e24ac68feb85a40946e51abc9011a5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Utils/GltfMaterialsHelper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Utils/GltfMaterialsHelper.cs new file mode 100644 index 00000000..22155fc4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Utils/GltfMaterialsHelper.cs @@ -0,0 +1,67 @@ +using TriLibCore.Mappers; +using TriLibCore.Samples; +using UnityEngine; + +namespace TriLibCore.Utils +{ + /// + /// Provides helper methods for configuring to use the + /// , ensuring that glTF 2.0 materials are applied + /// correctly during model loading. + /// + [CreateAssetMenu(menuName = "TriLib/MaterialsHelper/Gltf Materials Helper", fileName = "GltfMaterialsHelper")] + public class GltfMaterialsHelper : MaterialsHelper + { + /// + /// A static convenience method that creates an instance of + /// and invokes to apply the + /// and related options to . + /// + /// + /// A reference to an existing object. If null, + /// this method generates a default set of loader options before configuring + /// glTF-specific materials. + /// + public static void SetupStatic(ref AssetLoaderOptions assetLoaderOptions) + { + CreateInstance().Setup(ref assetLoaderOptions); + } + + /// + /// Configures to use the , + /// ensuring that glTF materials (such as PBR data) are translated correctly into Unity’s material system. + /// This method also adjusts certain fields for optimal glTF handling. + /// + /// + /// A reference to an object to configure. If it is null, + /// the method creates a default set of loader options. + /// + public override void Setup(ref AssetLoaderOptions assetLoaderOptions) + { + var glTF2MaterialMapper = ScriptableObject.CreateInstance(); + if (glTF2MaterialMapper != null) + { + if (assetLoaderOptions == null) + { + assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(); + } + if (assetLoaderOptions.MaterialMappers == null) + { + assetLoaderOptions.MaterialMappers = new MaterialMapper[] { glTF2MaterialMapper }; + } + else + { + ArrayUtils.Add(ref assetLoaderOptions.MaterialMappers, glTF2MaterialMapper); + } + + // Adjust relevant options for glTF usage + assetLoaderOptions.CreateMaterialsForAllModels = true; + assetLoaderOptions.SetUnusedTexturePropertiesToNull = false; + assetLoaderOptions.ConvertMaterialTextures = false; + + // Assign a checking order to prioritize this mapper among others + glTF2MaterialMapper.CheckingOrder = 2; + } + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Utils/GltfMaterialsHelper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Utils/GltfMaterialsHelper.cs.meta new file mode 100644 index 00000000..83a59e4a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Utils/GltfMaterialsHelper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 3dde1477c5a910a478ec949172a4b45d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibGltfMaterials/Scripts/Utils/GltfMaterialsHelper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPMaterialMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPMaterialMapper.cs index 68ddc201..d317d0fd 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPMaterialMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPMaterialMapper.cs @@ -7,35 +7,36 @@ using UnityEngine.Experimental.Rendering; namespace TriLibCore.HDRP.Mappers { - /// Represents a Material Mapper that converts TriLib Materials into Unity HDRP Materials. + /// + /// Converts TriLib virtual materials into Unity High Definition Render Pipeline (HDRP) materials + /// by processing various texture maps and material properties through an asynchronous coroutine pipeline. + /// [Serializable] [CreateAssetMenu(menuName = "TriLib/Mappers/Material/HDRP Material Mapper", fileName = "HDRPMaterialMapper")] public class HDRPMaterialMapper : MaterialMapper { - private bool _isCompatible; + public bool ForceShaderVariantCollection; + + public override bool UseShaderVariantCollection => ForceShaderVariantCollection; #region Standard - public override Material MaterialPreset => Resources.Load("Materials/TriLib/HDRP/TriLibHDRP"); + public override Material MaterialPreset => Resources.Load("Materials/HDRP/Standard/TriLibHDRP"); - public override Material CutoutMaterialPreset => Resources.Load("Materials/TriLib/HDRP/TriLibHDRPAlphaCutout"); + public override Material CutoutMaterialPreset => Resources.Load("Materials/HDRP/Standard/TriLibHDRPAlphaCutout"); - public override Material TransparentMaterialPreset => Resources.Load("Materials/TriLib/HDRP/TriLibHDRPAlpha"); + public override Material TransparentMaterialPreset => Resources.Load("Materials/HDRP/Standard/TriLibHDRPAlpha"); - public override Material TransparentComposeMaterialPreset => Resources.Load("Materials/TriLib/HDRP/TriLibHDRPAlpha"); + public override Material TransparentComposeMaterialPreset => Resources.Load("Materials/HDRP/Standard/TriLibHDRPAlpha"); #endregion - public override Material LoadingMaterial => Resources.Load("Materials/TriLib/HDRP/TriLibHDRPLoading"); + public override Material LoadingMaterial => Resources.Load("Materials/HDRP/TriLibHDRPLoading"); + public override bool ExtractMetallicAndSmoothness => false; public override bool UsesCoroutines => true; public override bool IsCompatible(MaterialMapperContext materialMapperContext) { - return _isCompatible; - } - - private void Awake() - { - _isCompatible = TriLibSettings.GetBool("HDRPMaterialMapper"); + return TriLibSettings.GetBool("HDRPMaterialMapper", false); } public override IEnumerable MapCoroutine(MaterialMapperContext materialMapperContext) @@ -90,7 +91,6 @@ namespace TriLibCore.HDRP.Mappers { yield return item; } - BuildMaterial(materialMapperContext); foreach (var item in BuildHDRPMask(materialMapperContext)) { @@ -120,7 +120,7 @@ namespace TriLibCore.HDRP.Mappers private IEnumerable CheckGlossinessValue(MaterialMapperContext materialMapperContext) { - var value = materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.Glossiness, materialMapperContext); + var value = materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.GlossinessOrRoughness, materialMapperContext); materialMapperContext.VirtualMaterial.SetProperty("_Smoothness", value); yield break; } diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPMaterialMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPMaterialMapper.cs.meta index df053322..4584ae97 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPMaterialMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPMaterialMapper.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPMaterialMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPVirtualMaterial.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPVirtualMaterial.cs index 303147d3..325503a0 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPVirtualMaterial.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPVirtualMaterial.cs @@ -12,7 +12,6 @@ namespace TriLibCore.HDRP public Texture MetallicTexture; public Texture OcclusionTexture; public Texture DetailMaskTexture; - [Obsolete("Not used anymore.")] public Texture SmoothnessTexture; } } \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPVirtualMaterial.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPVirtualMaterial.cs.meta index 2769dc85..757b11d6 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPVirtualMaterial.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPVirtualMaterial.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/HDRPVirtualMaterial.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources.meta new file mode 100644 index 00000000..18ac4425 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 804833547f2ca6a4b9a9948fa9227104 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers.meta new file mode 100644 index 00000000..64c64d94 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd73fa0f26c88164584e4b22dd5b6083 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers/HDRPMaterialMapper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers/HDRPMaterialMapper.asset new file mode 100644 index 00000000..d04c70b4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers/HDRPMaterialMapper.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 09e91867e63346c408b6a9e5c98cd665, type: 3} + m_Name: HDRPMaterialMapper + m_EditorClassIdentifier: + CheckingOrder: 0 + DisableAlpha: 0 + ForceShaderVariantCollection: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers/HDRPMaterialMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers/HDRPMaterialMapper.asset.meta new file mode 100644 index 00000000..c9e17915 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers/HDRPMaterialMapper.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: d05b00696a114b342806419be3cb4e55 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Mappers/HDRPMaterialMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders.meta new file mode 100644 index 00000000..08ac046d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e47031ff7fd410449952c98efc677ab0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders/BuildHDRPMask.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders/BuildHDRPMask.shader new file mode 100644 index 00000000..a0bbe509 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders/BuildHDRPMask.shader @@ -0,0 +1,58 @@ +Shader "Hidden/TriLib/BuildHDRPMask" +{ + Properties + { + _MetallicTex("_MetallicTex", 2D) = "black" {} + _OcclusionTex("_OcclusionTex", 2D) = "white" {} + _DetailMaskTex("_DetailMaskTex", 2D) = "black" {} + _SmoothnessTex("_SmoothnessTex", 2D) = "gray" {} + } + SubShader + { + // No culling or depth + Cull Off ZWrite Off ZTest Always + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + return o; + } + + sampler2D _MetallicTex; + sampler2D _OcclusionTex; + sampler2D _DetailMaskTex; + + fixed4 frag (v2f i) : SV_Target + { + fixed metallic = tex2D(_MetallicTex, i.uv).x; + fixed occlusion = tex2D(_OcclusionTex, i.uv).x; + fixed detail = tex2D(_DetailMaskTex, i.uv).x; + fixed smoothness = tex2D(_MetallicTex, i.uv).w; + return fixed4(metallic, occlusion, detail, smoothness); + } + ENDCG + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders/BuildHDRPMask.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders/BuildHDRPMask.shader.meta new file mode 100644 index 00000000..f28c1453 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders/BuildHDRPMask.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: a58f867ca8ebbb748955274e7cdbf8b3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibHDRP/Resources/Shaders/BuildHDRPMask.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples.meta new file mode 100644 index 00000000..140ecf4c --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 851776f354bb49e4f86f8738b797d662 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer.meta new file mode 100644 index 00000000..3bdff6f7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9817f3ce75bb15f47b228c53d842a6ba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/AssetViewer.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/AssetViewer.unity new file mode 100644 index 00000000..102f9782 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/AssetViewer.unity @@ -0,0 +1,12500 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 945628077} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &8991922 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8991923} + - component: {fileID: 8991925} + - component: {fileID: 8991924} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8991923 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8991922} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1362597410} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8991924 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8991922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: URL +--- !u!222 &8991925 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8991922} + m_CullTransparentMesh: 0 +--- !u!1 &35996179 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 35996180} + - component: {fileID: 35996182} + - component: {fileID: 35996181} + m_Layer: 5 + m_Name: LoadingOptions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &35996180 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35996179} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1322568273} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &35996181 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35996179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Loading Options +--- !u!222 &35996182 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35996179} + m_CullTransparentMesh: 0 +--- !u!1 &45845129 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 45845130} + - component: {fileID: 45845132} + - component: {fileID: 45845131} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &45845130 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 45845129} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1131260527} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &45845131 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 45845129} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &45845132 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 45845129} + m_CullTransparentMesh: 0 +--- !u!1 &54365622 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 54365624} + - component: {fileID: 54365623} + m_Layer: 0 + m_Name: Reflection Probe + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!215 &54365623 +ReflectionProbe: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 54365622} + m_Enabled: 1 + serializedVersion: 2 + m_Type: 0 + m_Mode: 1 + m_RefreshMode: 2 + m_TimeSlicingMode: 0 + m_Resolution: 128 + m_UpdateFrequency: 0 + m_BoxSize: {x: 10, y: 10, z: 10} + m_BoxOffset: {x: 0, y: 0, z: 0} + m_NearClip: 0.3 + m_FarClip: 1000 + m_ShadowDistance: 100 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_IntensityMultiplier: 1 + m_BlendDistance: 1 + m_HDR: 1 + m_BoxProjection: 0 + m_RenderDynamicObjects: 1 + m_UseOcclusionCulling: 1 + m_Importance: 1 + m_CustomBakedTexture: {fileID: 0} +--- !u!4 &54365624 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 54365622} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2133324252} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &55243912 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 55243913} + - component: {fileID: 55243916} + - component: {fileID: 55243915} + - component: {fileID: 55243914} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &55243913 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 55243912} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1158661207} + m_Father: {fileID: 1446078685} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &55243914 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 55243912} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1173360063} + m_HandleRect: {fileID: 1173360062} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &55243915 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 55243912} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2627451, g: 0.2627451, b: 0.2627451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &55243916 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 55243912} + m_CullTransparentMesh: 0 +--- !u!1 &136727978 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 136727979} + m_Layer: 0 + m_Name: MainFrame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &136727979 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 136727978} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1310066900} + - {fileID: 1680185710} + - {fileID: 2039682734} + m_Father: {fileID: 463444766} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 250, y: 80} + m_SizeDelta: {x: -250.00006, y: -80} + m_Pivot: {x: 0, y: 0} +--- !u!1 &159505845 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 159505846} + - component: {fileID: 159505848} + - component: {fileID: 159505847} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &159505846 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159505845} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1362597410} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &159505847 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159505845} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8396226, g: 0.8396226, b: 0.8396226, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &159505848 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159505845} + m_CullTransparentMesh: 0 +--- !u!1 &189628159 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 189628161} + - component: {fileID: 189628160} + m_Layer: 0 + m_Name: AssetViewer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &189628160 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189628159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f082935f292724642b902915611c40c4, type: 3} + m_Name: + m_EditorClassIdentifier: + AssetLoaderOptions: {fileID: 0} + CameraAngle: {x: 0, y: 0} + CameraDistance: 1 + CameraPivot: {x: 0, y: 0, z: 0} + CanvasScaler: {fileID: 463444764} + FilePickerAssetLoader: {fileID: 0} + InputMultiplier: 1 + PeakMemory: 0 + PeakManagedMemory: 0 + Play: {fileID: 720169784} + PlaybackAnimation: {fileID: 1385684402} + PlaybackSlider: {fileID: 828465941} + PlaybackTime: {fileID: 2115008577} + Skybox: {fileID: 1869889221} + Stop: {fileID: 327905857} + _camerasDropdown: {fileID: 2045680147} + _debugOptionsDropdown: {fileID: 294352965} + _errorPanel: {fileID: 2039682733} + _errorPanelText: {fileID: 286755927} + _fastLoadToggle: {fileID: 1052568142} + _helpWrapper: {fileID: 784115530} + _light: {fileID: 1361698510} + _loadCamerasToggle: {fileID: 954185255} + _loadingBar: {fileID: 1118107521} + _loadingTimeText: {fileID: 1310066904} + _loadingWrapper: {fileID: 1734187536} + _loadLightsToggle: {fileID: 2052455689} + _loadModelFromDirectory: {fileID: 1887509571} + _loadPointClouds: {fileID: 1378981169} + _mainCamera: {fileID: 833394077} + _memoryUsageText: {fileID: 1680185705} + _modelUrl: {fileID: 1362597411} + _modelUrlDialog: {fileID: 1049812439} + _pointCloudSizeWrapper: {fileID: 480612426} + _pointSizeLabel: {fileID: 808987677} + _pointSizeSlider: {fileID: 264444088} + _reflectionProbe: {fileID: 54365623} + _skyboxExposureSlider: {fileID: 386347461} + _skyboxMaterialPreset: {fileID: 2100000, guid: b634952291872fd41b5cda8249a9bedf, + type: 2} + _skyboxRenderer: {fileID: 1869889222} + _usedMemoryText: {fileID: 1411023856} +--- !u!4 &189628161 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189628159} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &210869841 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 210869842} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &210869842 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210869841} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1296154815} + m_Father: {fileID: 352046059} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &240754561 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 240754562} + - component: {fileID: 240754564} + - component: {fileID: 240754563} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &240754562 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 240754561} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1795283057} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 40, y: -30} + m_SizeDelta: {x: -80, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &240754563 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 240754561} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Type-in your model URL (ZIP files with all textures and dependencies on + the root directory are recommended):' +--- !u!222 &240754564 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 240754561} + m_CullTransparentMesh: 0 +--- !u!1 &253458911 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 253458914} + - component: {fileID: 253458913} + - component: {fileID: 253458912} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &253458912 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 253458911} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &253458913 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 253458911} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &253458914 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 253458911} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &264444087 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 264444089} + - component: {fileID: 264444088} + m_Layer: 5 + m_Name: PointCloudSizeSlider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &264444088 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 264444087} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 635210896} + m_FillRect: {fileID: 893840307} + m_HandleRect: {fileID: 635210894} + m_Direction: 0 + m_MinValue: 0.001 + m_MaxValue: 0.1 + m_WholeNumbers: 0 + m_Value: 0.01 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: TriLibCore.Samples.AssetViewer, Assembly-CSharp + m_MethodName: OnPointSizeSliderChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!224 &264444089 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 264444087} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1123619501} + - {fileID: 1201485466} + - {fileID: 404612297} + m_Father: {fileID: 480612427} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 220, y: 13} + m_Pivot: {x: 0, y: 0.5} +--- !u!1 &283214364 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 283214365} + - component: {fileID: 283214367} + - component: {fileID: 283214366} + m_Layer: 5 + m_Name: ModelViewer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &283214365 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 283214364} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1322568273} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &283214366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 283214364} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Model Viewer +--- !u!222 &283214367 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 283214364} + m_CullTransparentMesh: 0 +--- !u!1 &286755924 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 286755925} + - component: {fileID: 286755928} + - component: {fileID: 286755927} + - component: {fileID: 286755926} + - component: {fileID: 286755929} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &286755925 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 286755924} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 790763076} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 52.999992} + m_SizeDelta: {x: 0, y: 17.333334} + m_Pivot: {x: 0, y: 1} +--- !u!114 &286755926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 286755924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 0.5, y: -0.5} + m_UseGraphicAlpha: 1 +--- !u!114 &286755927 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 286755924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 13 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: "Error\t" +--- !u!222 &286755928 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 286755924} + m_CullTransparentMesh: 0 +--- !u!114 &286755929 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 286755924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!1 &294352963 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 294352964} + - component: {fileID: 294352967} + - component: {fileID: 294352966} + - component: {fileID: 294352965} + m_Layer: 5 + m_Name: DebugOptionsDropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &294352964 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 294352963} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 576597973} + - {fileID: 820098286} + - {fileID: 1253007611} + m_Father: {fileID: 1322568273} + m_RootOrder: 16 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &294352965 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 294352963} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.10196079, g: 0.10196079, b: 0.10196079, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 294352966} + m_Template: {fileID: 1253007611} + m_CaptionText: {fileID: 576597974} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 702867379} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: + - m_Text: None + m_Image: {fileID: 0} + - m_Text: Show Skeleton + m_Image: {fileID: 0} + - m_Text: Show Albedo + m_Image: {fileID: 0} + - m_Text: Show Emission + m_Image: {fileID: 0} + - m_Text: Show Occlusion + m_Image: {fileID: 0} + - m_Text: Show Normals + m_Image: {fileID: 0} + - m_Text: Show Metallic + m_Image: {fileID: 0} + - m_Text: Show Smoothness + m_Image: {fileID: 0} + - m_Text: Show Vertex Colors + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: OnDebugOptionsDropdownChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_AlphaFadeSpeed: 0.15 +--- !u!114 &294352966 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 294352963} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &294352967 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 294352963} + m_CullTransparentMesh: 0 +--- !u!1 &324162337 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 324162338} + - component: {fileID: 324162340} + - component: {fileID: 324162339} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &324162338 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 324162337} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1362597410} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &324162339 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 324162337} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 4007709848493184444, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &324162340 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 324162337} + m_CullTransparentMesh: 0 +--- !u!1 &327905856 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 327905861} + - component: {fileID: 327905860} + - component: {fileID: 327905858} + - component: {fileID: 327905857} + - component: {fileID: 327905859} + m_Layer: 5 + m_Name: Stop + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &327905857 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327905856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a98125502f715b4b83cfb77b434e436, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 327905858} +--- !u!114 &327905858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327905856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 808954ac2aebddb40a6c760f56c96f48, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &327905859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327905856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: StopAnimation + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!222 &327905860 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327905856} + m_CullTransparentMesh: 0 +--- !u!224 &327905861 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327905856} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1334042263} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 53, y: -16} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &352046058 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 352046059} + - component: {fileID: 352046062} + - component: {fileID: 352046061} + - component: {fileID: 352046060} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &352046059 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352046058} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 210869842} + m_Father: {fileID: 1253007611} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &352046060 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352046058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1296154816} + m_HandleRect: {fileID: 1296154815} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &352046061 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352046058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2627451, g: 0.2627451, b: 0.2627451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &352046062 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352046058} + m_CullTransparentMesh: 0 +--- !u!1 &354902695 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 354902696} + - component: {fileID: 354902698} + - component: {fileID: 354902697} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &354902696 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 354902695} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 793803128} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &354902697 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 354902695} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Clear Skybox +--- !u!222 &354902698 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 354902695} + m_CullTransparentMesh: 0 +--- !u!1 &386347459 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 386347460} + - component: {fileID: 386347461} + m_Layer: 5 + m_Name: SkyboxExposureSlider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &386347460 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 386347459} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 693358483} + - {fileID: 1718595079} + - {fileID: 1891636017} + m_Father: {fileID: 2101692252} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 220, y: 13} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &386347461 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 386347459} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2101943425} + m_FillRect: {fileID: 764629212} + m_HandleRect: {fileID: 2101943424} + m_Direction: 0 + m_MinValue: -10 + m_MaxValue: 10 + m_WholeNumbers: 0 + m_Value: 1 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: TriLibCore.Samples.AssetViewer, Assembly-CSharp + m_MethodName: OnSkyboxExposureChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &391825599 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 391825600} + - component: {fileID: 391825603} + - component: {fileID: 391825602} + - component: {fileID: 391825601} + m_Layer: 5 + m_Name: LoadModelFromUrl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &391825600 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 391825599} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1781917708} + m_Father: {fileID: 1322568273} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &391825601 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 391825599} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 391825602} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: ShowModelUrlDialog + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &391825602 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 391825599} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &391825603 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 391825599} + m_CullTransparentMesh: 0 +--- !u!1 &404612296 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 404612297} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &404612297 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 404612296} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 635210894} + m_Father: {fileID: 264444089} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.0000029802322, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &437560936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 437560937} + - component: {fileID: 437560939} + - component: {fileID: 437560938} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &437560937 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 437560936} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 828465940} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &437560938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 437560936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 4007709848493184444, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &437560939 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 437560936} + m_CullTransparentMesh: 0 +--- !u!1 &463444762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 463444766} + - component: {fileID: 463444765} + - component: {fileID: 463444764} + - component: {fileID: 463444763} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &463444763 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463444762} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 128 + m_BlockingObjects: 510 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4049675520 +--- !u!114 &463444764 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463444762} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &463444765 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463444762} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &463444766 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463444762} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 136727979} + - {fileID: 2011550031} + - {fileID: 1907477577} + - {fileID: 1118107521} + - {fileID: 784115533} + - {fileID: 1049812440} + - {fileID: 1734187537} + - {fileID: 1573184732} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &466540657 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 466540658} + - component: {fileID: 466540660} + - component: {fileID: 466540659} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &466540658 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 466540657} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 954066431} + m_Father: {fileID: 954185254} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 18, y: 18} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &466540659 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 466540657} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &466540660 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 466540657} + m_CullTransparentMesh: 0 +--- !u!1 &480612426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 480612427} + - component: {fileID: 480612428} + m_Layer: 5 + m_Name: PointCloudSizeWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &480612427 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480612426} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 264444089} + m_Father: {fileID: 1322568273} + m_RootOrder: 14 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 15, y: -473.5} + m_SizeDelta: {x: 220, y: 13} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &480612428 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480612426} + m_CullTransparentMesh: 0 +--- !u!1 &494118320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 494118321} + - component: {fileID: 494118324} + - component: {fileID: 494118323} + - component: {fileID: 494118322} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &494118321 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 494118320} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 782048541} + - {fileID: 1320414562} + m_Father: {fileID: 2045680146} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &494118322 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 494118320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 2039245539} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 782048541} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 1320414563} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &494118323 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 494118320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19215688, g: 0.18039216, b: 0.19215688, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &494118324 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 494118320} + m_CullTransparentMesh: 0 +--- !u!1 &547553929 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 547553930} + - component: {fileID: 547553933} + - component: {fileID: 547553932} + - component: {fileID: 547553931} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &547553930 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547553929} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1447360316} + m_Father: {fileID: 2011550031} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 5, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &547553931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547553929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 681431276} + m_HandleRect: {fileID: 681431275} + m_Direction: 2 + m_Value: 1 + m_Size: 0.82253313 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &547553932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547553929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2627451, g: 0.2627451, b: 0.2627451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &547553933 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547553929} + m_CullTransparentMesh: 1 +--- !u!1 &559388211 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 559388212} + - component: {fileID: 559388215} + - component: {fileID: 559388214} + - component: {fileID: 559388213} + m_Layer: 5 + m_Name: LoadModel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &559388212 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 559388211} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1753907839} + m_Father: {fileID: 1795283057} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -195, y: 20} + m_SizeDelta: {x: 180, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!114 &559388213 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 559388211} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 559388214} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: LoadModelFromURLWithDialogValues + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &559388214 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 559388211} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &559388215 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 559388211} + m_CullTransparentMesh: 0 +--- !u!1 &576094305 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 576094306} + - component: {fileID: 576094309} + - component: {fileID: 576094308} + - component: {fileID: 576094307} + m_Layer: 5 + m_Name: Scrollbar Horizontal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &576094306 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576094305} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1961867578} + m_Father: {fileID: 1234624095} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -2, y: 20} + m_Pivot: {x: 0, y: 0} +--- !u!114 &576094307 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576094305} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 805013342} + m_HandleRect: {fileID: 805013341} + m_Direction: 0 + m_Value: 0 + m_Size: 0.99999994 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &576094308 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576094305} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &576094309 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576094305} + m_CullTransparentMesh: 1 +--- !u!1 &576597972 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 576597973} + - component: {fileID: 576597975} + - component: {fileID: 576597974} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &576597973 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576597972} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 294352964} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 14, y: 0} + m_SizeDelta: {x: -28, y: 17} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &576597974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576597972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: None +--- !u!222 &576597975 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576597972} + m_CullTransparentMesh: 0 +--- !u!1 &584769069 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 584769070} + - component: {fileID: 584769072} + - component: {fileID: 584769071} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &584769070 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 584769069} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 755537487} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &584769071 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 584769069} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &584769072 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 584769069} + m_CullTransparentMesh: 0 +--- !u!1 &589313924 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 589313925} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &589313925 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589313924} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 687902841} + m_Father: {fileID: 1431625907} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &590502115 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 590502116} + - component: {fileID: 590502118} + - component: {fileID: 590502117} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &590502116 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590502115} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2045680146} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 14, y: 0} + m_SizeDelta: {x: -28, y: 17} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &590502117 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590502115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!222 &590502118 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590502115} + m_CullTransparentMesh: 0 +--- !u!1 &604027083 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 604027084} + - component: {fileID: 604027086} + - component: {fileID: 604027085} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &604027084 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 604027083} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 755537487} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: -0.5} + m_SizeDelta: {x: -30, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &604027085 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 604027083} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!222 &604027086 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 604027083} + m_CullTransparentMesh: 0 +--- !u!1 &622883699 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 622883700} + - component: {fileID: 622883702} + - component: {fileID: 622883701} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &622883700 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 622883699} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1385684401} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &622883701 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 622883699} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8e0f018f6409b7e4dab8263a3d5c35d7, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &622883702 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 622883699} + m_CullTransparentMesh: 0 +--- !u!1 &635070203 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 635070204} + - component: {fileID: 635070206} + - component: {fileID: 635070205} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &635070204 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635070203} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2052455688} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 15, y: 0} + m_SizeDelta: {x: -30, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &635070205 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635070203} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Load Lights + +' +--- !u!222 &635070206 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635070203} + m_CullTransparentMesh: 0 +--- !u!1 &635210893 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 635210894} + - component: {fileID: 635210895} + - component: {fileID: 635210896} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &635210894 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635210893} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 404612297} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 14, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &635210895 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635210893} + m_CullTransparentMesh: 0 +--- !u!114 &635210896 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635210893} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 55f5756f24d9d1841b6235690e5bc7c1, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &649533588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 649533589} + - component: {fileID: 649533591} + - component: {fileID: 649533590} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &649533589 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649533588} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1486205267} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 40, y: 9} + m_SizeDelta: {x: -80, y: -18} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &649533590 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649533588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Loading +--- !u!222 &649533591 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649533588} + m_CullTransparentMesh: 0 +--- !u!1 &662666340 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 662666341} + - component: {fileID: 662666343} + - component: {fileID: 662666342} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &662666341 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 662666340} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2134046376} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &662666342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 662666340} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Load Model from File +--- !u!222 &662666343 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 662666340} + m_CullTransparentMesh: 0 +--- !u!1 &674730784 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 674730785} + - component: {fileID: 674730787} + - component: {fileID: 674730786} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &674730785 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674730784} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1385684401} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 14, y: 0} + m_SizeDelta: {x: -28, y: 17} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &674730786 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674730784} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: No Animations +--- !u!222 &674730787 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674730784} + m_CullTransparentMesh: 0 +--- !u!1 &681431274 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 681431275} + - component: {fileID: 681431277} + - component: {fileID: 681431276} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &681431275 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 681431274} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1447360316} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &681431276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 681431274} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &681431277 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 681431274} + m_CullTransparentMesh: 1 +--- !u!1 &687902840 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 687902841} + - component: {fileID: 687902843} + - component: {fileID: 687902842} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &687902841 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 687902840} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 589313925} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &687902842 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 687902840} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &687902843 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 687902840} + m_CullTransparentMesh: 1 +--- !u!1 &693358482 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 693358483} + - component: {fileID: 693358485} + - component: {fileID: 693358484} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &693358483 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 693358482} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 386347460} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &693358484 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 693358482} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 4007709848493184444, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &693358485 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 693358482} + m_CullTransparentMesh: 0 +--- !u!1 &702867377 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 702867378} + - component: {fileID: 702867380} + - component: {fileID: 702867379} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &702867378 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 702867377} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1898374896} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: -0.5} + m_SizeDelta: {x: -30, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &702867379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 702867377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!222 &702867380 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 702867377} + m_CullTransparentMesh: 0 +--- !u!1 &706722837 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 706722838} + - component: {fileID: 706722840} + - component: {fileID: 706722839} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &706722838 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706722837} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1861304404} + m_Father: {fileID: 1378981168} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -11} + m_SizeDelta: {x: 18, y: 18} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &706722839 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706722837} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &706722840 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706722837} + m_CullTransparentMesh: 0 +--- !u!1 &720169782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 720169783} + - component: {fileID: 720169786} + - component: {fileID: 720169785} + - component: {fileID: 720169784} + - component: {fileID: 720169787} + m_Layer: 5 + m_Name: Play + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &720169783 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720169782} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1334042263} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &720169784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720169782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a98125502f715b4b83cfb77b434e436, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 720169785} +--- !u!114 &720169785 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720169782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 538ab41c860fe1b49a78a49218e38ace, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &720169786 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720169782} + m_CullTransparentMesh: 0 +--- !u!114 &720169787 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720169782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: PlayAnimation + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &731074850 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 731074851} + - component: {fileID: 731074853} + - component: {fileID: 731074852} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &731074851 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 731074850} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 755537487} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &731074852 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 731074850} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 0.08627451} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &731074853 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 731074850} + m_CullTransparentMesh: 0 +--- !u!1 &755537486 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 755537487} + - component: {fileID: 755537488} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &755537487 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 755537486} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 731074851} + - {fileID: 584769070} + - {fileID: 604027084} + m_Father: {fileID: 894226586} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &755537488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 755537486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: 0, b: 0, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 731074852} + toggleTransition: 1 + graphic: {fileID: 584769071} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &759360982 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 759360983} + - component: {fileID: 759360986} + - component: {fileID: 759360985} + - component: {fileID: 759360984} + m_Layer: 5 + m_Name: Cancel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &759360983 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 759360982} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2144972044} + m_Father: {fileID: 1795283057} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -40, y: 20} + m_SizeDelta: {x: 140, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!114 &759360984 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 759360982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 759360985} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: HideModelUrlDialog + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &759360985 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 759360982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &759360986 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 759360982} + m_CullTransparentMesh: 0 +--- !u!1 &764384927 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 764384928} + - component: {fileID: 764384930} + - component: {fileID: 764384929} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &764384928 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 764384927} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1887509572} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &764384929 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 764384927} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Load Model from Directory +--- !u!222 &764384930 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 764384927} + m_CullTransparentMesh: 0 +--- !u!1 &764629211 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 764629212} + - component: {fileID: 764629214} + - component: {fileID: 764629213} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &764629212 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 764629211} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1718595079} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &764629213 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 764629211} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 4007709848493184444, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &764629214 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 764629211} + m_CullTransparentMesh: 0 +--- !u!1 &782048540 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 782048541} + - component: {fileID: 782048544} + - component: {fileID: 782048543} + - component: {fileID: 782048542} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &782048541 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782048540} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2039245539} + m_Father: {fileID: 494118321} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -17, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &782048542 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782048540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &782048543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782048540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &782048544 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782048540} + m_CullTransparentMesh: 0 +--- !u!1 &784115530 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 784115533} + - component: {fileID: 784115532} + - component: {fileID: 784115531} + m_Layer: 5 + m_Name: HelpFrameWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &784115531 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784115530} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.45490196} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &784115532 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784115530} + m_CullTransparentMesh: 0 +--- !u!224 &784115533 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784115530} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1944609420} + m_Father: {fileID: 463444766} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &790763075 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 790763076} + - component: {fileID: 790763079} + - component: {fileID: 790763078} + - component: {fileID: 790763077} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &790763076 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790763075} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 286755925} + m_Father: {fileID: 1234624095} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -2, y: -17} + m_Pivot: {x: 0, y: 1} +--- !u!114 &790763077 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790763075} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &790763078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790763075} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &790763079 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790763075} + m_CullTransparentMesh: 1 +--- !u!1 &793803127 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 793803128} + - component: {fileID: 793803131} + - component: {fileID: 793803130} + - component: {fileID: 793803129} + m_Layer: 5 + m_Name: ClearSkybox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &793803128 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793803127} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 354902696} + m_Father: {fileID: 1322568273} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &793803129 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793803127} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 793803130} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: ClearSkybox + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &793803130 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793803127} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &793803131 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793803127} + m_CullTransparentMesh: 0 +--- !u!1 &805013340 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 805013341} + - component: {fileID: 805013343} + - component: {fileID: 805013342} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &805013341 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 805013340} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1961867578} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &805013342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 805013340} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &805013343 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 805013340} + m_CullTransparentMesh: 1 +--- !u!1 &808987677 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 808987678} + - component: {fileID: 808987680} + - component: {fileID: 808987679} + m_Layer: 5 + m_Name: PointCloudSize + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &808987678 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 808987677} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1322568273} + m_RootOrder: 13 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 15, y: -443} + m_SizeDelta: {x: 220, y: 32} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &808987679 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 808987677} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Point Size +--- !u!222 &808987680 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 808987677} + m_CullTransparentMesh: 0 +--- !u!1 &820098285 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 820098286} + - component: {fileID: 820098288} + - component: {fileID: 820098287} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &820098286 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 820098285} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 294352964} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &820098287 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 820098285} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8e0f018f6409b7e4dab8263a3d5c35d7, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &820098288 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 820098285} + m_CullTransparentMesh: 0 +--- !u!1 &828465939 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 828465940} + - component: {fileID: 828465941} + m_Layer: 5 + m_Name: PlaybackSlider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &828465940 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 828465939} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 437560937} + - {fileID: 1176908591} + - {fileID: 1440132591} + m_Father: {fileID: 1907477577} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &828465941 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 828465939} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1199087650} + m_FillRect: {fileID: 1539960796} + m_HandleRect: {fileID: 1199087649} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: TriLibCore.Samples.AssetViewer, Assembly-CSharp + m_MethodName: PlaybackSliderChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &833394073 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 833394078} + - component: {fileID: 833394077} + - component: {fileID: 833394074} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &833394074 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 833394073} + m_Enabled: 1 +--- !u!20 &833394077 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 833394073} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.1698113, g: 0.1698113, b: 0.1698113, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 100000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &833394078 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 833394073} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3.75} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &879743404 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 879743405} + - component: {fileID: 879743407} + - component: {fileID: 879743406} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &879743405 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 879743404} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2045680146} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &879743406 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 879743404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8e0f018f6409b7e4dab8263a3d5c35d7, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &879743407 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 879743404} + m_CullTransparentMesh: 0 +--- !u!1 &888308645 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 888308646} + - component: {fileID: 888308648} + - component: {fileID: 888308647} + m_Layer: 5 + m_Name: SkyboxExposure + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &888308646 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 888308645} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1322568273} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &888308647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 888308645} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Skybox Exposure +--- !u!222 &888308648 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 888308645} + m_CullTransparentMesh: 0 +--- !u!1 &893840306 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 893840307} + - component: {fileID: 893840309} + - component: {fileID: 893840308} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &893840307 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 893840306} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1201485466} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &893840308 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 893840306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 4007709848493184444, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &893840309 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 893840306} + m_CullTransparentMesh: 0 +--- !u!1 &894226585 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 894226586} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &894226586 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 894226585} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 755537487} + m_Father: {fileID: 1026439297} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 28} + m_Pivot: {x: 0.5, y: 1} +--- !u!850595691 &945628077 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 4 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 1 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 +--- !u!1 &954066430 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 954066431} + - component: {fileID: 954066433} + - component: {fileID: 954066432} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &954066431 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 954066430} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 466540658} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &954066432 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 954066430} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &954066433 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 954066430} + m_CullTransparentMesh: 0 +--- !u!1 &954185253 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 954185254} + - component: {fileID: 954185255} + m_Layer: 5 + m_Name: LoadCamerasToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &954185254 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 954185253} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 466540658} + - {fileID: 1996883669} + m_Father: {fileID: 1322568273} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &954185255 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 954185253} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 1, g: 1, b: 1, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 466540659} + toggleTransition: 1 + graphic: {fileID: 954066432} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!1 &1001464143 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1001464144} + - component: {fileID: 1001464146} + - component: {fileID: 1001464145} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1001464144 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1001464143} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1425610687} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1001464145 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1001464143} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1001464146 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1001464143} + m_CullTransparentMesh: 0 +--- !u!1 &1026439296 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1026439297} + - component: {fileID: 1026439300} + - component: {fileID: 1026439299} + - component: {fileID: 1026439298} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1026439297 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1026439296} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 894226586} + m_Father: {fileID: 1446078685} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -17, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1026439298 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1026439296} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &1026439299 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1026439296} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1026439300 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1026439296} + m_CullTransparentMesh: 0 +--- !u!1 &1030649879 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1030649880} + - component: {fileID: 1030649882} + - component: {fileID: 1030649881} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1030649880 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1030649879} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1378981168} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 15, y: -11} + m_SizeDelta: {x: -30, y: 22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1030649881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1030649879} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Load as Point Cloud +--- !u!222 &1030649882 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1030649879} + m_CullTransparentMesh: 0 +--- !u!1 &1049812439 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1049812440} + - component: {fileID: 1049812442} + - component: {fileID: 1049812441} + m_Layer: 5 + m_Name: ModelUrlFrameWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1049812440 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1049812439} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1795283057} + m_Father: {fileID: 463444766} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1049812441 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1049812439} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.45490196} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1049812442 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1049812439} + m_CullTransparentMesh: 0 +--- !u!1 &1052568141 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1052568143} + - component: {fileID: 1052568142} + m_Layer: 5 + m_Name: FastLoadToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1052568142 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1052568141} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 1, g: 1, b: 1, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1604745575} + toggleTransition: 1 + graphic: {fileID: 1915168437} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: TriLibCore.Samples.AssetViewer, Assembly-CSharp + m_MethodName: OnFastLoadToggleChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_IsOn: 0 +--- !u!224 &1052568143 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1052568141} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1604745573} + - {fileID: 1621533426} + m_Father: {fileID: 1322568273} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1118107520 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118107521} + - component: {fileID: 1118107523} + - component: {fileID: 1118107522} + m_Layer: 5 + m_Name: LoadingBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1118107521 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118107520} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 463444766} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 82} + m_SizeDelta: {x: 0, y: 4} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1118107522 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118107520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.5019608, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1118107523 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118107520} + m_CullTransparentMesh: 0 +--- !u!1 &1118847316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118847317} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1118847317 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118847316} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1898374896} + m_Father: {fileID: 1579719401} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 28} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1123619500 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1123619501} + - component: {fileID: 1123619503} + - component: {fileID: 1123619502} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1123619501 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123619500} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 264444089} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1123619502 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123619500} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 4007709848493184444, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1123619503 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123619500} + m_CullTransparentMesh: 0 +--- !u!1 &1131260526 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1131260527} + - component: {fileID: 1131260528} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1131260527 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1131260526} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1539515385} + - {fileID: 45845130} + - {fileID: 2133008368} + m_Father: {fileID: 2039245539} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1131260528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1131260526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: 0, b: 0, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1539515386} + toggleTransition: 1 + graphic: {fileID: 45845131} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1158661206 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1158661207} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1158661207 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158661206} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1173360062} + m_Father: {fileID: 55243913} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1173360061 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1173360062} + - component: {fileID: 1173360064} + - component: {fileID: 1173360063} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1173360062 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1173360061} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1158661207} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1173360063 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1173360061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1173360064 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1173360061} + m_CullTransparentMesh: 0 +--- !u!1 &1176908590 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1176908591} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1176908591 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1176908590} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1539960796} + m_Father: {fileID: 828465940} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1199087648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1199087649} + - component: {fileID: 1199087651} + - component: {fileID: 1199087650} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1199087649 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199087648} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1440132591} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 14, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1199087650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199087648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 55f5756f24d9d1841b6235690e5bc7c1, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1199087651 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199087648} + m_CullTransparentMesh: 0 +--- !u!1 &1201485465 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1201485466} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1201485466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1201485465} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 893840307} + m_Father: {fileID: 264444089} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1234624094 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1234624095} + - component: {fileID: 1234624098} + - component: {fileID: 1234624096} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1234624095 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234624094} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 790763076} + - {fileID: 576094306} + - {fileID: 1431625907} + m_Father: {fileID: 2039682734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -20, y: 15} + m_SizeDelta: {x: -40, y: -30} + m_Pivot: {x: 1, y: 0} +--- !u!114 &1234624096 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234624094} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 286755925} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 790763076} + m_HorizontalScrollbar: {fileID: 576094307} + m_VerticalScrollbar: {fileID: 1431625908} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!222 &1234624098 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234624094} + m_CullTransparentMesh: 1 +--- !u!1 &1242782048 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1242782049} + - component: {fileID: 1242782051} + - component: {fileID: 1242782050} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1242782049 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242782048} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1898374896} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1242782050 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242782048} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 0.08627451} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1242782051 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242782048} + m_CullTransparentMesh: 0 +--- !u!1 &1253007610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1253007611} + - component: {fileID: 1253007614} + - component: {fileID: 1253007613} + - component: {fileID: 1253007612} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1253007611 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253007610} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1579719401} + - {fileID: 352046059} + m_Father: {fileID: 294352964} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1253007612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253007610} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1118847317} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1579719401} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 352046060} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1253007613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253007610} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19215688, g: 0.18039216, b: 0.19215688, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1253007614 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253007610} + m_CullTransparentMesh: 0 +--- !u!1 &1296154814 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1296154815} + - component: {fileID: 1296154817} + - component: {fileID: 1296154816} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1296154815 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1296154814} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 210869842} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1296154816 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1296154814} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1296154817 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1296154814} + m_CullTransparentMesh: 0 +--- !u!1 &1310066899 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1310066900} + - component: {fileID: 1310066905} + - component: {fileID: 1310066904} + - component: {fileID: 1310066903} + - component: {fileID: 1310066902} + - component: {fileID: 1310066906} + m_Layer: 5 + m_Name: LoadingTime + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1310066900 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310066899} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 136727979} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 15, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1310066902 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310066899} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1310066903 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310066899} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &1310066904 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310066899} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1310066905 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310066899} + m_CullTransparentMesh: 0 +--- !u!114 &1310066906 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310066899} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!1 &1320414561 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1320414562} + - component: {fileID: 1320414565} + - component: {fileID: 1320414564} + - component: {fileID: 1320414563} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1320414562 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320414561} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1425610687} + m_Father: {fileID: 494118321} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1320414563 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320414561} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1001464145} + m_HandleRect: {fileID: 1001464144} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1320414564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320414561} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1320414565 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320414561} + m_CullTransparentMesh: 0 +--- !u!1 &1322568272 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1322568273} + - component: {fileID: 1322568276} + - component: {fileID: 1322568274} + - component: {fileID: 1322568277} + m_Layer: 5 + m_Name: SideBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1322568273 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322568272} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 283214365} + - {fileID: 2134046376} + - {fileID: 1887509572} + - {fileID: 391825600} + - {fileID: 1813059362} + - {fileID: 793803128} + - {fileID: 888308646} + - {fileID: 2101692252} + - {fileID: 35996180} + - {fileID: 1052568143} + - {fileID: 954185254} + - {fileID: 2052455688} + - {fileID: 1378981168} + - {fileID: 808987678} + - {fileID: 480612427} + - {fileID: 1620430453} + - {fileID: 294352964} + - {fileID: 1411023855} + m_Father: {fileID: 2011550031} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 250, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1322568274 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322568272} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 15 + m_Right: 15 + m_Top: 6 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 8 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!222 &1322568276 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322568272} + m_CullTransparentMesh: 0 +--- !u!114 &1322568277 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322568272} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 1 +--- !u!1 &1334042262 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1334042263} + - component: {fileID: 1334042266} + - component: {fileID: 1334042264} + m_Layer: 5 + m_Name: Actions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1334042263 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1334042262} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 720169783} + - {fileID: 327905861} + - {fileID: 2115008576} + - {fileID: 1385684401} + - {fileID: 2045680146} + m_Father: {fileID: 1907477577} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1334042264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1334042262} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: -9 + m_Right: -9 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 14 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!222 &1334042266 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1334042262} + m_CullTransparentMesh: 0 +--- !u!1 &1338438163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1338438164} + - component: {fileID: 1338438166} + - component: {fileID: 1338438165} + m_Layer: 5 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1338438164 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1338438163} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1378981168} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 15, y: -32.6} + m_SizeDelta: {x: -30, y: 22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1338438165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1338438163} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.6132076, g: 0.6132076, b: 0.6132076, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 11 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: PLY and OBJ Point Cloud supported +--- !u!222 &1338438166 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1338438163} + m_CullTransparentMesh: 0 +--- !u!1 &1361698509 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1361698511} + - component: {fileID: 1361698510} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1361698510 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1361698509} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 0.5 + m_Bias: 0.5 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 2 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 1 + m_BoundingSphereOverride: {x: 2.2e-44, y: 6e-44, z: 4e-45, w: 1.6154e-41} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1361698511 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1361698509} + m_LocalRotation: {x: 0.35355338, y: 0.35355338, z: -0.1464466, w: 0.8535535} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2133324252} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 45, y: 45, z: 0} +--- !u!1 &1362597409 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1362597410} + - component: {fileID: 1362597412} + - component: {fileID: 1362597411} + m_Layer: 5 + m_Name: ModelUrl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1362597410 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362597409} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 324162338} + - {fileID: 8991923} + - {fileID: 159505846} + m_Father: {fileID: 1795283057} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -95} + m_SizeDelta: {x: -80, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1362597411 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362597409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_TextComponent: {fileID: 159505847} + m_Placeholder: {fileID: 8991924} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnDidEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!222 &1362597412 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362597409} + m_CullTransparentMesh: 0 +--- !u!1 &1374188410 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1374188411} + - component: {fileID: 1374188413} + - component: {fileID: 1374188412} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1374188411 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1374188410} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1898374896} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1374188412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1374188410} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1374188413 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1374188410} + m_CullTransparentMesh: 0 +--- !u!1 &1378981167 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1378981168} + - component: {fileID: 1378981169} + m_Layer: 5 + m_Name: LoadAsPointCloudToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1378981168 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1378981167} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 706722838} + - {fileID: 1030649880} + - {fileID: 1338438164} + m_Father: {fileID: 1322568273} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 36} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1378981169 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1378981167} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 1, g: 1, b: 1, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 706722839} + toggleTransition: 1 + graphic: {fileID: 1861304405} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: TriLibCore.Samples.AssetViewer, Assembly-CSharp + m_MethodName: OnPointCloudToggleChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_IsOn: 0 +--- !u!1 &1385684400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1385684401} + - component: {fileID: 1385684404} + - component: {fileID: 1385684403} + - component: {fileID: 1385684402} + m_Layer: 5 + m_Name: PlaybackAnimation + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1385684401 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1385684400} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 674730785} + - {fileID: 622883700} + - {fileID: 1446078685} + m_Father: {fileID: 1334042263} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 350, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1385684402 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1385684400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.10196079, g: 0.10196079, b: 0.10196079, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 0 + m_TargetGraphic: {fileID: 1385684403} + m_Template: {fileID: 1446078685} + m_CaptionText: {fileID: 674730786} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 604027085} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: + - m_Text: No Animations + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: PlaybackAnimationChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_AlphaFadeSpeed: 0.15 +--- !u!114 &1385684403 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1385684400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1385684404 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1385684400} + m_CullTransparentMesh: 0 +--- !u!1 &1386510352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1386510353} + - component: {fileID: 1386510356} + - component: {fileID: 1386510355} + - component: {fileID: 1386510354} + - component: {fileID: 1386510357} + m_Layer: 0 + m_Name: Fountain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1386510353 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386510352} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1734187537} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -18} + m_SizeDelta: {x: 140, y: 18} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!95 &1386510354 +Animator: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386510352} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: eef4bd362654b3443af45e9c08a34449, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &1386510355 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386510352} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 7772053563467876060, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1386510356 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386510352} + m_CullTransparentMesh: 0 +--- !u!114 &1386510357 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386510352} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!1 &1394730688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1394730689} + - component: {fileID: 1394730691} + - component: {fileID: 1394730690} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1394730689 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1394730688} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1944609420} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 40, y: 0} + m_SizeDelta: {x: -80, y: -40} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1394730690 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1394730688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'To load a model, click on "Load Model from File/URL" and select your model + file along with the textures and binaries it uses. + + + To load an HDR panoramic + skybox image click on "Load Skybox from File" and select your image. + + + To + rotate the camera, click and drag with the left mouse button. + + + To zoom in + and out, use the mouse wheel. + + + To pan the camera, click and drag with the + middle mouse button. + + + To rotate the light, hold the ALT key while clicking + and dragging with the left mouse button.' +--- !u!222 &1394730691 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1394730688} + m_CullTransparentMesh: 0 +--- !u!1 &1411023854 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1411023855} + - component: {fileID: 1411023857} + - component: {fileID: 1411023856} + m_Layer: 5 + m_Name: UsedMemoryInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1411023855 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411023854} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1322568273} + m_RootOrder: 17 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 160} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1411023856 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411023854} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1411023857 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411023854} + m_CullTransparentMesh: 0 +--- !u!1 &1425610686 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1425610687} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1425610687 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1425610686} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1001464144} + m_Father: {fileID: 1320414562} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1431625906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1431625907} + - component: {fileID: 1431625910} + - component: {fileID: 1431625909} + - component: {fileID: 1431625908} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1431625907 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431625906} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 589313925} + m_Father: {fileID: 1234624095} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 5, y: -17} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1431625908 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431625906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 687902842} + m_HandleRect: {fileID: 687902841} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1431625909 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431625906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2627451, g: 0.2627451, b: 0.2627451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1431625910 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431625906} + m_CullTransparentMesh: 1 +--- !u!1 &1439501808 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1439501809} + - component: {fileID: 1439501812} + - component: {fileID: 1439501811} + - component: {fileID: 1439501810} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1439501809 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1439501808} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2011550031} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 1} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1439501810 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1439501808} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &1439501811 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1439501808} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2627451, g: 0.2627451, b: 0.2627451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1439501812 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1439501808} + m_CullTransparentMesh: 0 +--- !u!1 &1440132590 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1440132591} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1440132591 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1440132590} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1199087649} + m_Father: {fileID: 828465940} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.0000029802322, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1446078684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1446078685} + - component: {fileID: 1446078688} + - component: {fileID: 1446078687} + - component: {fileID: 1446078686} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1446078685 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1446078684} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1026439297} + - {fileID: 55243913} + m_Father: {fileID: 1385684401} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1446078686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1446078684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 894226586} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1026439297} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 55243914} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1446078687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1446078684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19215688, g: 0.18039216, b: 0.19215688, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1446078688 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1446078684} + m_CullTransparentMesh: 0 +--- !u!1 &1447360315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1447360316} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1447360316 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1447360315} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 681431275} + m_Father: {fileID: 547553930} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1486205266 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1486205267} + - component: {fileID: 1486205269} + - component: {fileID: 1486205268} + m_Layer: 5 + m_Name: LoadingFrame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1486205267 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1486205266} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 649533589} + m_Father: {fileID: 1734187537} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 640, y: 140} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1486205268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1486205266} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.098039225, g: 0.10196079, b: 0.10196079, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1486205269 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1486205266} + m_CullTransparentMesh: 0 +--- !u!1 &1539515384 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1539515385} + - component: {fileID: 1539515387} + - component: {fileID: 1539515386} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1539515385 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539515384} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1131260527} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1539515386 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539515384} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 0.08627451} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1539515387 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539515384} + m_CullTransparentMesh: 0 +--- !u!1 &1539960795 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1539960796} + - component: {fileID: 1539960798} + - component: {fileID: 1539960797} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1539960796 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539960795} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1176908591} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1539960797 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539960795} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 4007709848493184444, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1539960798 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539960795} + m_CullTransparentMesh: 0 +--- !u!1 &1573184731 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1573184732} + - component: {fileID: 1573184736} + - component: {fileID: 1573184735} + - component: {fileID: 1573184734} + - component: {fileID: 1573184733} + m_Layer: 5 + m_Name: Help + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1573184732 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573184731} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 463444766} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -14, y: 11} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!114 &1573184733 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573184731} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: ShowHelp + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: HideHelp + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1573184734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573184731} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a98125502f715b4b83cfb77b434e436, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 1, g: 1, b: 1, a: 1} + m_PressedColor: {r: 1, g: 1, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 2 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1573184735} +--- !u!114 &1573184735 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573184731} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 163def520e58bd54888fe85a58ea7813, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1573184736 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573184731} + m_CullTransparentMesh: 0 +--- !u!1 &1579719400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1579719401} + - component: {fileID: 1579719404} + - component: {fileID: 1579719403} + - component: {fileID: 1579719402} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1579719401 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1579719400} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1118847317} + m_Father: {fileID: 1253007611} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -17, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1579719402 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1579719400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &1579719403 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1579719400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1579719404 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1579719400} + m_CullTransparentMesh: 0 +--- !u!1 &1604745572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1604745573} + - component: {fileID: 1604745574} + - component: {fileID: 1604745575} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1604745573 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1604745572} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1915168439} + m_Father: {fileID: 1052568143} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -11} + m_SizeDelta: {x: 18, y: 18} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1604745574 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1604745572} + m_CullTransparentMesh: 0 +--- !u!114 &1604745575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1604745572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1620430452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1620430453} + - component: {fileID: 1620430455} + - component: {fileID: 1620430454} + m_Layer: 5 + m_Name: DebugOptions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1620430453 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1620430452} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1322568273} + m_RootOrder: 15 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1620430454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1620430452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Debug Options + +' +--- !u!222 &1620430455 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1620430452} + m_CullTransparentMesh: 0 +--- !u!1 &1621533425 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1621533426} + - component: {fileID: 1621533428} + - component: {fileID: 1621533427} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1621533426 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1621533425} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1052568143} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 15, y: -11} + m_SizeDelta: {x: -30, y: 22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1621533427 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1621533425} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Fast Settings +--- !u!222 &1621533428 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1621533425} + m_CullTransparentMesh: 0 +--- !u!1 &1650291277 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1650291278} + - component: {fileID: 1650291280} + - component: {fileID: 1650291279} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1650291278 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1650291277} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1885689686} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1650291279 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1650291277} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1650291280 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1650291277} + m_CullTransparentMesh: 0 +--- !u!1 &1680185704 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1680185710} + - component: {fileID: 1680185709} + - component: {fileID: 1680185705} + - component: {fileID: 1680185708} + - component: {fileID: 1680185707} + - component: {fileID: 1680185706} + m_Layer: 5 + m_Name: MemoryUsage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1680185705 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680185704} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &1680185706 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680185704} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!114 &1680185707 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680185704} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1680185708 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680185704} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!222 &1680185709 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680185704} + m_CullTransparentMesh: 0 +--- !u!224 &1680185710 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680185704} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 136727979} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 1, y: 0} +--- !u!1 &1718595078 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1718595079} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1718595079 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1718595078} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 764629212} + m_Father: {fileID: 386347460} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1728529019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1728529020} + - component: {fileID: 1728529022} + - component: {fileID: 1728529021} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1728529020 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728529019} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1813059362} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1728529021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728529019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Load Skybox from File +--- !u!222 &1728529022 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728529019} + m_CullTransparentMesh: 0 +--- !u!1 &1734187536 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1734187537} + - component: {fileID: 1734187539} + - component: {fileID: 1734187538} + m_Layer: 5 + m_Name: LoadingFrameWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1734187537 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1734187536} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1486205267} + - {fileID: 1386510353} + m_Father: {fileID: 463444766} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1734187538 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1734187536} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.45490196} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1734187539 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1734187536} + m_CullTransparentMesh: 0 +--- !u!1 &1753907838 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1753907839} + - component: {fileID: 1753907841} + - component: {fileID: 1753907840} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1753907839 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1753907838} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 559388212} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.5999985, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1753907840 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1753907838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Load Model +--- !u!222 &1753907841 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1753907838} + m_CullTransparentMesh: 0 +--- !u!1 &1781917707 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1781917708} + - component: {fileID: 1781917710} + - component: {fileID: 1781917709} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1781917708 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781917707} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 391825600} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1781917709 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781917707} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Load Model from URL +--- !u!222 &1781917710 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781917707} + m_CullTransparentMesh: 0 +--- !u!1 &1795283056 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1795283057} + - component: {fileID: 1795283059} + - component: {fileID: 1795283058} + m_Layer: 5 + m_Name: UrlFrame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1795283057 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1795283056} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 240754562} + - {fileID: 1362597410} + - {fileID: 559388212} + - {fileID: 759360983} + m_Father: {fileID: 1049812440} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 960, y: 182} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1795283058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1795283056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.098039225, g: 0.10196079, b: 0.10196079, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1795283059 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1795283056} + m_CullTransparentMesh: 0 +--- !u!1 &1813059361 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813059362} + - component: {fileID: 1813059365} + - component: {fileID: 1813059364} + - component: {fileID: 1813059363} + m_Layer: 5 + m_Name: LoadSkyboxFromFile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1813059362 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813059361} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1728529020} + m_Father: {fileID: 1322568273} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1813059363 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813059361} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1813059364} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: LoadSkyboxFromFile + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1813059364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813059361} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1813059365 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813059361} + m_CullTransparentMesh: 0 +--- !u!1 &1861304403 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1861304404} + - component: {fileID: 1861304406} + - component: {fileID: 1861304405} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1861304404 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861304403} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 706722838} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1861304405 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861304403} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1861304406 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861304403} + m_CullTransparentMesh: 0 +--- !u!1 &1869889221 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1869889224} + - component: {fileID: 1869889223} + - component: {fileID: 1869889222} + m_Layer: 0 + m_Name: Skybox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1869889222 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1869889221} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b634952291872fd41b5cda8249a9bedf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1869889223 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1869889221} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1869889224 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1869889221} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2133324252} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1885689685 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1885689686} + - component: {fileID: 1885689688} + - component: {fileID: 1885689687} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1885689686 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885689685} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1650291278} + m_Father: {fileID: 2052455688} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 18, y: 18} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1885689687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885689685} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1885689688 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885689685} + m_CullTransparentMesh: 0 +--- !u!1 &1887509571 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1887509572} + - component: {fileID: 1887509575} + - component: {fileID: 1887509574} + - component: {fileID: 1887509573} + m_Layer: 5 + m_Name: LoadModelFromDirectory + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1887509572 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1887509571} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 764384928} + m_Father: {fileID: 1322568273} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 125, y: -102} + m_SizeDelta: {x: 220, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1887509573 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1887509571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1887509574} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: TriLibCore.Samples.AssetViewer, Assembly-CSharp + m_MethodName: LoadModelFromDirectory + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1887509574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1887509571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1887509575 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1887509571} + m_CullTransparentMesh: 0 +--- !u!1 &1891636016 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1891636017} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1891636017 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1891636016} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2101943424} + m_Father: {fileID: 386347460} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.0000029802322, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1898374895 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1898374896} + - component: {fileID: 1898374897} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1898374896 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1898374895} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1242782049} + - {fileID: 1374188411} + - {fileID: 702867378} + m_Father: {fileID: 1118847317} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1898374897 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1898374895} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: 0, b: 0, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1242782050} + toggleTransition: 1 + graphic: {fileID: 1374188412} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1907477576 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1907477577} + - component: {fileID: 1907477579} + - component: {fileID: 1907477578} + - component: {fileID: 1907477580} + m_Layer: 5 + m_Name: BottomBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1907477577 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1907477576} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 828465940} + - {fileID: 1334042263} + m_Father: {fileID: 463444766} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 78} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1907477578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1907477576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1907477579 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1907477576} + m_CullTransparentMesh: 0 +--- !u!114 &1907477580 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1907477576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 14 + m_Right: 14 + m_Top: 11 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 9 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1915168436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1915168439} + - component: {fileID: 1915168438} + - component: {fileID: 1915168437} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1915168437 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1915168436} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1915168438 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1915168436} + m_CullTransparentMesh: 0 +--- !u!224 &1915168439 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1915168436} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1604745573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1944609419 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1944609420} + - component: {fileID: 1944609422} + - component: {fileID: 1944609421} + m_Layer: 5 + m_Name: HelpFrame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1944609420 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1944609419} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1394730689} + m_Father: {fileID: 784115533} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 960, y: 280} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1944609421 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1944609419} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.098039225, g: 0.10196079, b: 0.10196079, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1944609422 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1944609419} + m_CullTransparentMesh: 0 +--- !u!1 &1961867577 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1961867578} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1961867578 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1961867577} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 805013341} + m_Father: {fileID: 576094306} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1996883668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1996883669} + - component: {fileID: 1996883671} + - component: {fileID: 1996883670} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1996883669 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1996883668} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 954185254} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 15, y: 0} + m_SizeDelta: {x: -30, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1996883670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1996883668} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Load Cameras +--- !u!222 &1996883671 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1996883668} + m_CullTransparentMesh: 0 +--- !u!1 &2011550030 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2011550031} + - component: {fileID: 2011550032} + - component: {fileID: 2011550034} + - component: {fileID: 2011550033} + m_Layer: 5 + m_Name: SideBarWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2011550031 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2011550030} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1439501809} + - {fileID: 1322568273} + - {fileID: 547553930} + m_Father: {fileID: 463444766} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 78} + m_SizeDelta: {x: 250, y: -78} + m_Pivot: {x: 0, y: 0} +--- !u!114 &2011550032 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2011550030} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1322568273} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 0} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 547553931} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 1 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &2011550033 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2011550030} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.1, g: 0.1, b: 0.1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2011550034 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2011550030} + m_CullTransparentMesh: 1 +--- !u!1 &2039245538 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2039245539} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2039245539 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2039245538} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1131260527} + m_Father: {fileID: 782048541} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 28} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &2039682733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2039682734} + - component: {fileID: 2039682736} + - component: {fileID: 2039682735} + m_Layer: 0 + m_Name: ErrorPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2039682734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2039682733} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1234624095} + m_Father: {fileID: 136727979} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -15, y: -15} + m_SizeDelta: {x: -30, y: 100} + m_Pivot: {x: 1, y: 1} +--- !u!114 &2039682735 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2039682733} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.10196079, g: 0.10196079, b: 0.10196079, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2039682736 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2039682733} + m_CullTransparentMesh: 1 +--- !u!1 &2045680145 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2045680146} + - component: {fileID: 2045680149} + - component: {fileID: 2045680148} + - component: {fileID: 2045680147} + m_Layer: 5 + m_Name: Cameras + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2045680146 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2045680145} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 590502116} + - {fileID: 879743405} + - {fileID: 494118321} + m_Father: {fileID: 1334042263} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 650, y: -15} + m_SizeDelta: {x: 350, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2045680147 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2045680145} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.10196079, g: 0.10196079, b: 0.10196079, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2045680148} + m_Template: {fileID: 494118321} + m_CaptionText: {fileID: 590502117} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 2133008369} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: CameraChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_AlphaFadeSpeed: 0.15 +--- !u!114 &2045680148 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2045680145} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2045680149 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2045680145} + m_CullTransparentMesh: 0 +--- !u!1 &2052455687 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2052455688} + - component: {fileID: 2052455689} + m_Layer: 5 + m_Name: LoadLightsToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2052455688 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2052455687} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1885689686} + - {fileID: 635070204} + m_Father: {fileID: 1322568273} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2052455689 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2052455687} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 1, g: 1, b: 1, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1885689687} + toggleTransition: 1 + graphic: {fileID: 1650291279} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!1 &2101692251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2101692252} + - component: {fileID: 2101692253} + m_Layer: 5 + m_Name: SkyboxExposureWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2101692252 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101692251} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 386347460} + m_Father: {fileID: 1322568273} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 13} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &2101692253 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101692251} + m_CullTransparentMesh: 0 +--- !u!1 &2101943423 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2101943424} + - component: {fileID: 2101943426} + - component: {fileID: 2101943425} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2101943424 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101943423} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1891636017} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 14, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2101943425 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101943423} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 55f5756f24d9d1841b6235690e5bc7c1, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2101943426 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101943423} + m_CullTransparentMesh: 0 +--- !u!1 &2115008575 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2115008576} + - component: {fileID: 2115008578} + - component: {fileID: 2115008577} + m_Layer: 5 + m_Name: PlaybackTime + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2115008576 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2115008575} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1334042263} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 60, y: 30} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &2115008577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2115008575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 00:00 +--- !u!222 &2115008578 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2115008575} + m_CullTransparentMesh: 0 +--- !u!1 &2133008367 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2133008368} + - component: {fileID: 2133008370} + - component: {fileID: 2133008369} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2133008368 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2133008367} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1131260527} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: -0.5} + m_SizeDelta: {x: -30, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2133008369 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2133008367} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!222 &2133008370 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2133008367} + m_CullTransparentMesh: 0 +--- !u!1 &2133324251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2133324252} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2133324252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2133324251} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1361698511} + - {fileID: 54365624} + - {fileID: 1869889224} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2134046375 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2134046376} + - component: {fileID: 2134046379} + - component: {fileID: 2134046378} + - component: {fileID: 2134046377} + m_Layer: 5 + m_Name: LoadModelFromFile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2134046376 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134046375} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 662666341} + m_Father: {fileID: 1322568273} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2134046377 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134046375} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2134046378} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 189628160} + m_TargetAssemblyTypeName: + m_MethodName: LoadModelFromFile + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &2134046378 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134046375} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2134046379 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134046375} + m_CullTransparentMesh: 0 +--- !u!1 &2144972043 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2144972044} + - component: {fileID: 2144972046} + - component: {fileID: 2144972045} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2144972044 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144972043} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 759360983} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.5999985, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2144972045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144972043} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Cancel +--- !u!222 &2144972046 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144972043} + m_CullTransparentMesh: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/AssetViewer.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/AssetViewer.unity.meta new file mode 100644 index 00000000..16477453 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/AssetViewer.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 8a818d2b4ce6c2540a14f595e69acdde +timeCreated: 1503341856 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/AssetViewer.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Materials.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Materials.meta new file mode 100644 index 00000000..9794e044 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 49811b77afb02ee4b88ebd64e6baca16 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Materials/Skybox.mat b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Materials/Skybox.mat new file mode 100644 index 00000000..82b7ae43 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Materials/Skybox.mat @@ -0,0 +1,84 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Skybox + m_Shader: {fileID: 108, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _MAPPING_LATITUDE_LONGITUDE_LAYOUT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: -1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _Exposure: 1 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _ImageType: 0 + - _Layout: 0 + - _Mapping: 1 + - _Metallic: 0 + - _MirrorOnBack: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Rotation: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 1} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Materials/Skybox.mat.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Materials/Skybox.mat.meta new file mode 100644 index 00000000..456863e7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Materials/Skybox.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: b634952291872fd41b5cda8249a9bedf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Materials/Skybox.mat + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Scripts.meta new file mode 100644 index 00000000..c4f31195 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2bbc2afb13bcca14ab79c5eb18b08805 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Scripts/AssetViewer.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Scripts/AssetViewer.cs new file mode 100644 index 00000000..0b16deca --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Scripts/AssetViewer.cs @@ -0,0 +1,1341 @@ +#pragma warning disable 649 +#pragma warning disable 108 +#pragma warning disable 618 +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using TriLibCore.SFB; +using TriLibCore.Extensions; +using TriLibCore.Extras; +using TriLibCore.Utils; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; +using UnityEngine.Profiling; +using TriLibCore.General; +using UnityEngine.Networking; +using System.Diagnostics; + +namespace TriLibCore.Samples +{ + /// + /// A TriLib sample that allows the user to load models and HDR skyboxes from + /// the local file-system and URLs. The loaded model can be manipulated (rotated, zoomed) + /// within the scene, and the user can toggle various debug and rendering options. + /// + public class AssetViewer : AbstractInputSystem + { + /// + /// Specifies how far the camera should be placed from the loaded model, + /// in relation to the model’s bounding size. + /// + public const float CameraDistanceRatio = 2f; + + /// + /// Scales mouse movement inputs (higher means more sensitive movements). + /// + public const float InputMultiplierRatio = 0.1f; + + /// + /// The maximum pitch angle for the camera or directional light (rotation around X-axis). + /// Prevents flipping beyond 80 degrees. + /// + public const float MaxPitch = 80f; + + /// + /// The minimum allowable camera distance to the pivot (prevents zooming through the model). + /// + public const float MinCameraDistance = 0.01f; + + /// + /// Used for scaling the skybox in relation to the loaded model’s bounding size. + /// + public const float SkyboxScale = 100f; + + /// + /// Options controlling how the model is loaded (e.g., whether to import materials, + /// animations, cameras, etc.). If not set in the inspector, a default is created at runtime. + /// + public AssetLoaderOptions AssetLoaderOptions; + + /// + /// Current angles for camera rotation around the loaded model (x = yaw, y = pitch). + /// + public Vector2 CameraAngle; + + /// + /// Current camera distance from the . + /// + public float CameraDistance = 1f; + + /// + /// The position the camera orbits around (usually at or near the model’s center/bounds). + /// + public Vector3 CameraPivot; + + /// + /// Reference to the scene’s for configuring UI scaling on different devices. + /// + [SerializeField] + public CanvasScaler CanvasScaler; + + /// + /// An instance of the TriLib file picker for selecting models/directories on supported platforms. + /// + public AssetLoaderFilePicker FilePickerAssetLoader; + + /// + /// Dynamically scales input movement based on the loaded model’s bounding size. + /// Larger models result in a higher for easier navigation. + /// + public float InputMultiplier = 1f; + + /// + /// Tracks the peak memory usage (in bytes) observed during model loading. + /// Reset each time a new model is loaded. + /// + public long PeakMemory; + +#if TRILIB_SHOW_MEMORY_USAGE + /// + /// Tracks the peak managed memory usage (in bytes) observed during model loading. + /// Only available when TRILIB_SHOW_MEMORY_USAGE is defined. + /// + public long PeakManagedMemory; +#endif + + /// + /// Button (or other ) used to trigger animation playback. + /// + [SerializeField] + public Selectable Play; + + /// + /// Dropdown listing available animation clips on the loaded model. + /// Allows the user to switch between clips. + /// + [SerializeField] + public Dropdown PlaybackAnimation; + + /// + /// Slider representing the normalized time of the current animation. + /// Allows manual scrubbing through the clip if the animation is not playing. + /// + [SerializeField] + public Slider PlaybackSlider; + + /// + /// Displays the current animation time in a mm:ss format. + /// + [SerializeField] + public Text PlaybackTime; + + /// + /// A dedicated for rendering the HDR skybox. + /// + [SerializeField] + public GameObject Skybox; + + /// + /// Button (or other ) used to stop animation playback. + /// + [SerializeField] + public Selectable Stop; + + /// + /// Defines the maximum ratio for camera distance relative to the model’s bounding size. + /// Used to clamp the zoom level in . + /// + private const float MaxCameraDistanceRatio = 3f; + + /// + /// A reference to an component attached to the loaded model. + /// This is used for basic animation playback if the model contains animation clips. + /// + private Animation _animation; + + /// + /// A list of available objects from the loaded model’s . + /// + private List _animations; + + /// + /// A list of cameras found in the loaded model (if is true). + /// The user can switch to these cameras via the UI. + /// + private IList _cameras; + + /// + /// Dropdown listing all model cameras, plus a default “User Camera” option. + /// + [SerializeField] + private Dropdown _camerasDropdown; + + /// + /// Dropdown for debug or rendering options (e.g., switching to “Show Normals” or “Show Albedo” shaders). + /// + [SerializeField] + private Dropdown _debugOptionsDropdown; + + /// + /// Panel displayed when an error occurs (e.g., model fails to load). + /// + [SerializeField] + private GameObject _errorPanel; + + /// + /// Text used to display the error message within the error panel. + /// + [SerializeField] + private Text _errorPanelText; + + /// + /// Toggle enabling “Fast Mode” for loading. May skip some import steps or detail + /// in order to load models more quickly. + /// + [SerializeField] + private Toggle _fastLoadToggle; + + /// + /// Indicates if was manually set in the Unity Inspector + /// (so as not to override certain user-configured options in ). + /// + private bool _hasAssetLoader; + + /// + /// Wrapper containing help or usage instructions in the UI. + /// + [SerializeField] + private GameObject _helpWrapper; + + /// + /// A used to illuminate the loaded model. Its orientation can be controlled. + /// + [SerializeField] + private Light _light; + + /// + /// The current yaw (x) and pitch (y) angles for the directional . + /// Used similarly to for rotation, but for the scene’s main light. + /// + private Vector2 _lightAngle = new Vector2(0f, -45f); + + /// + /// Toggle controlling whether to import cameras from the model. + /// + [SerializeField] + private Toggle _loadCamerasToggle; + + /// + /// Indicates if the model (or skybox) is currently in the process of loading. + /// + private bool _loading; + + /// + /// A representing a loading bar that displays model or skybox loading progress. + /// + [SerializeField] + private RectTransform _loadingBar; + + /// + /// UI text displaying how long loading the model took once loading completes. + /// + [SerializeField] + private Text _loadingTimeText; + + /// + /// A representing a loading screen or overlay. + /// Useful on platforms that don’t fully support asynchronous loading. + /// + [SerializeField] + private GameObject _loadingWrapper; + + /// + /// Toggle controlling whether to import lights from the model. + /// + [SerializeField] + private Toggle _loadLightsToggle; + + /// + /// A representing the “Load Model from Directory” button in the UI. + /// Visible or hidden depending on platform capabilities (e.g., file system access). + /// + [SerializeField] + private GameObject _loadModelFromDirectory; + + /// + /// Toggle controlling whether to load point clouds from certain model formats. + /// + [SerializeField] + private Toggle _loadPointClouds; + + /// + /// The primary scene used when not viewing through imported cameras. + /// + [SerializeField] + private Camera _mainCamera; + + /// + /// Displays memory usage information in the UI, including total and peak usage. + /// + [SerializeField] + private Text _memoryUsageText; + + /// + /// An for entering a remote model URL to download and load. + /// + [SerializeField] + private InputField _modelUrl; + + /// + /// Dialog wrapping the input for a remote model URL. + /// + [SerializeField] + private GameObject _modelUrlDialog; + + /// + /// A wrapping the point size slider (for point cloud rendering). + /// Active only if is toggled on. + /// + [SerializeField] + private GameObject _pointCloudSizeWrapper; + + /// + /// UI text or label that indicates “Point Size”. + /// + [SerializeField] + private GameObject _pointSizeLabel; + + /// + /// Slider controlling the size of points in point cloud rendering. + /// + [SerializeField] + private Slider _pointSizeSlider; + + /// + /// The main used to update environment reflections after the skybox changes. + /// + [SerializeField] + private ReflectionProbe _reflectionProbe; + + /// + /// A hidden “Show Albedo” shader used for debug rendering. + /// + private Shader _showAlbedoShader; + + /// + /// A hidden “Show Emission” shader used for debug rendering. + /// + private Shader _showEmissionShader; + + /// + /// A hidden “Show Metallic” shader used for debug rendering. + /// + private Shader _showMetallicShader; + + /// + /// A hidden “Show Normals” shader used for debug rendering. + /// + private Shader _showNormalsShader; + + /// + /// A hidden “Show Occlusion” shader used for debug rendering. + /// + private Shader _showOcclusionShader; + + /// + /// A runtime behavior for displaying the skeleton or rig of the loaded model + /// (if relevant) for debugging or educational purposes. + /// + private ShowSkeleton _showSkeleton; + + /// + /// A hidden “Show Smoothness” shader used for debug rendering. + /// + private Shader _showSmoothShader; + + /// + /// A hidden “Show Vertex Colors” shader used for debug rendering. + /// + private Shader _showVertexColorsShader; + + /// + /// Slider controlling the HDR skybox’s _Exposure property, allowing brightness tweaks. + /// + [SerializeField] + private Slider _skyboxExposureSlider; + + /// + /// The active (instantiated) material used for the HDR skybox. + /// + private Material _skyboxMaterial; + + /// + /// A material preset used to instantiate the final skybox material with . + /// + [SerializeField] + private Material _skyboxMaterialPreset; + + /// + /// The component on the . + /// + [SerializeField] + private Renderer _skyboxRenderer; + + /// + /// The loaded HDR texture displayed on the skybox. Assigned in . + /// + private Texture2D _skyboxTexture; + + /// + /// Tracks how long a model load operation takes from user selection until fully loaded. + /// + private Stopwatch _stopwatch; + + /// + /// UI text displaying memory usage per object type (meshes, textures, materials, etc.). + /// + [SerializeField] + private Text _usedMemoryText; + + /// + /// A singleton reference to the active in the scene, + /// established in . + /// + public static AssetViewer Instance { get; private set; } + + /// + /// The root of the currently loaded model. + /// If a new model is loaded, the previous root is destroyed and replaced. + /// + public GameObject RootGameObject { get; set; } + + /// + /// Returns true if any model animation is currently playing via . + /// + private bool AnimationIsPlaying => _animation != null && _animation.isPlaying; + + /// + /// Retrieves the current corresponding to the selection + /// in , if any. + /// + private AnimationState CurrentAnimationState + { + get + { + if (_animation != null) + { + return _animation[PlaybackAnimation.options[PlaybackAnimation.value].text]; + } + return null; + } + } + + /// + /// Switches between cameras (if any) embedded in the loaded model and the default user camera. + /// Triggered by the “Camera” dropdown . + /// + /// The dropdown index indicating which camera to enable. + public void CameraChanged(int index) + { + for (var i = 0; i < _cameras.Count; i++) + { + _cameras[i].enabled = false; + } + if (index == 0) + { + _mainCamera.enabled = true; + } + else + { + _cameras[index - 1].enabled = true; + } + } + + /// + /// Removes the existing HDR skybox texture, setting the skybox to a default blank state. + /// + public void ClearSkybox() + { + if (_skyboxMaterial == null) + { + _skyboxMaterial = Instantiate(_skyboxMaterialPreset); + } + _skyboxMaterial.mainTexture = null; + _skyboxExposureSlider.value = 1f; + OnSkyboxExposureChanged(1f); + } + + /// + /// Hides the help or usage instructions panel. + /// + public void HideHelp() + { + _helpWrapper.SetActive(false); + } + + /// + /// Hides the model URL dialog and clears the entered URL text. + /// + public void HideModelUrlDialog() + { + _modelUrlDialog.SetActive(false); + _modelUrl.text = null; + } + + /// + /// Indicates whether a model (or skybox) is currently being loaded. + /// + /// True if the system is loading; otherwise, false. + public bool IsLoading() + { + return _loading; + } + + /// + /// Displays a folder picker dialog to load a model from all files in the chosen directory. + /// The are updated with user toggles before loading. + /// + public void LoadModelFromDirectory() + { + ConfigureAssetLoaderOptions(); + SetLoading(false); + FilePickerAssetLoader = AssetLoaderFilePicker.Create(); + FilePickerAssetLoader.LoadModelFromDirectoryPickerAsync( + "Select a Directory", + OnLoad, + OnMaterialsLoad, + OnProgress, + OnBeginLoadModel, + OnError, + gameObject, + AssetLoaderOptions, + true + ); + } + + /// + /// Configures the AssetLoaderOptions based on the UI settings. + /// + private void ConfigureAssetLoaderOptions() + { + AssetLoaderOptions.BakeAxisConversion = true; + AssetLoaderOptions.ImportCameras = _loadCamerasToggle.isOn; + AssetLoaderOptions.ImportLights = _loadLightsToggle.isOn; + AssetLoaderOptions.LoadPointClouds = _loadPointClouds.isOn; + AssetLoaderOptions.Timeout = 900; // Increase loading timeout for the viewer scene. + } + + /// + /// Displays a file picker dialog to select a single model file. + /// Updates based on UI toggles before loading. + /// + public void LoadModelFromFile() + { + ConfigureAssetLoaderOptions(); + SetLoading(false); + FilePickerAssetLoader = AssetLoaderFilePicker.Create(); + FilePickerAssetLoader.LoadModelFromFilePickerAsync( + "Select a File", + OnLoad, + OnMaterialsLoad, + OnProgress, + OnBeginLoadModel, + OnError, + gameObject, + AssetLoaderOptions + ); + } + + /// + /// Loads a model from a remote URL, optionally handling zip archives if + /// indicates a “.zip”. Integrates with TriLib’s for network downloads. + /// + /// A pointing to the model. + /// File extension (e.g., fbx, zip) for load logic. + /// Optional parent for the loaded model’s root . + /// Optional user data passed into TriLib load methods. + /// Optional callback after textures and materials finish loading. + public void LoadModelFromURL( + UnityWebRequest request, + string fileExtension, + GameObject wrapperGameObject = null, + object customData = null, + Action onMaterialsLoad = null) + { + if (string.IsNullOrWhiteSpace(fileExtension)) + { + throw new Exception("TriLib could not determine the given model extension."); + } + HideModelUrlDialog(); + SetLoading(true); + OnBeginLoadModel(true); + fileExtension = fileExtension.ToLowerInvariant(); + var isZipFile = fileExtension == "zip" || fileExtension == ".zip"; + AssetDownloader.LoadModelFromUri( + request, + OnLoad, + onMaterialsLoad ?? OnMaterialsLoad, + OnProgress, + OnError, + wrapperGameObject, + AssetLoaderOptions, + customData, + isZipFile ? null : fileExtension, + isZipFile + ); + } + + /// + /// Loads a model from the URL the user entered into . + /// Invokes once the user commits the address. + /// + public void LoadModelFromURLWithDialogValues() + { + ConfigureAssetLoaderOptions(); + if (string.IsNullOrWhiteSpace(_modelUrl.text)) + { + return; + } + var request = AssetDownloader.CreateWebRequest(_modelUrl.text.Trim()); + var fileExtension = FileUtils.GetFileExtension(request.uri.Segments[request.uri.Segments.Length - 1], false); + try + { + LoadModelFromURL(request, fileExtension); + } + catch (Exception e) + { + HideModelUrlDialog(); + OnError(new ContextualizedError(e, null)); + } + } + + /// + /// Opens a file picker dialog to select an HDR image for the skybox. + /// + public void LoadSkyboxFromFile() + { + SetLoading(false); + var title = "Select a skybox image"; + var extensions = new ExtensionFilter[] + { + new ExtensionFilter("Radiance HDR Image (hdr)", "hdr") + }; + StandaloneFileBrowser.OpenFilePanelAsync(title, null, extensions, true, OnSkyboxStreamSelected); + } + + /// + /// Called when the user either selects a file/directory/url or cancels the dialog. + /// If a file was chosen, clears previous model data and starts tracking load time. + /// + /// + /// True if the user selected a file/directory, otherwise false (canceled). + /// + public void OnBeginLoadModel(bool hasFiles) + { + if (hasFiles) + { + Resources.UnloadUnusedAssets(); + if (RootGameObject != null) + { + Destroy(RootGameObject); + } + SetLoading(true); + } + if (hasFiles) + { + if (Application.GetStackTraceLogType(LogType.Exception) != StackTraceLogType.None || + Application.GetStackTraceLogType(LogType.Error) != StackTraceLogType.None) + { + _errorPanel.SetActive(false); + } + _animations = null; + _loadingTimeText.text = null; + _stopwatch = new Stopwatch(); + _stopwatch.Start(); + } + } + + /// + /// Invoked when the user changes an option in the debug dropdown, switching between + /// various debug shaders (e.g., normals, albedo) or showing/hiding the skeleton. + /// + /// The zero-based index of the debug option selected. + public void OnDebugOptionsDropdownChanged(int value) + { + switch (value) + { + default: + if (_showSkeleton != null) + { + _showSkeleton.enabled = (value == 1); + } + _mainCamera.ResetReplacementShader(); + _mainCamera.renderingPath = RenderingPath.UsePlayerSettings; + break; + case 2: + _mainCamera.SetReplacementShader(_showAlbedoShader, null); + _mainCamera.renderingPath = RenderingPath.Forward; + break; + case 3: + _mainCamera.SetReplacementShader(_showEmissionShader, null); + _mainCamera.renderingPath = RenderingPath.Forward; + break; + case 4: + _mainCamera.SetReplacementShader(_showOcclusionShader, null); + _mainCamera.renderingPath = RenderingPath.Forward; + break; + case 5: + _mainCamera.SetReplacementShader(_showNormalsShader, null); + _mainCamera.renderingPath = RenderingPath.Forward; + break; + case 6: + _mainCamera.SetReplacementShader(_showMetallicShader, null); + _mainCamera.renderingPath = RenderingPath.Forward; + break; + case 7: + _mainCamera.SetReplacementShader(_showSmoothShader, null); + _mainCamera.renderingPath = RenderingPath.Forward; + break; + case 8: + _mainCamera.SetReplacementShader(_showVertexColorsShader, null); + _mainCamera.renderingPath = RenderingPath.Forward; + break; + } + } + + /// + /// Called if any error occurs during model loading. Displays the error message in the UI, + /// logs it to the console, stops animation playback, and disables the loading state. + /// + /// + /// Provides context on the error, including the exception and potentially related data. + /// + public void OnError(IContextualizedError contextualizedError) + { + if (Application.GetStackTraceLogType(LogType.Exception) != StackTraceLogType.None || + Application.GetStackTraceLogType(LogType.Error) != StackTraceLogType.None) + { + _errorPanelText.text = contextualizedError.ToString(); + _errorPanel.SetActive(true); + } + UnityEngine.Debug.LogError(contextualizedError); + RootGameObject = null; + SetLoading(false); + StopAnimation(); + } + + /// + /// Toggles “Fast Mode” on or off. When on, certain advanced settings (e.g., advanced geometry processing) + /// are disabled to speed up loading, at the cost of skipping some features. + /// + /// True if fast load mode is toggled on, false otherwise. + public void OnFastLoadToggleChanged(bool value) + { + if (!_hasAssetLoader) + { + AssetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + } + if (value) + { + AssetLoader.LoadFastestSettings(ref AssetLoaderOptions); + } + } + + /// + /// Called once the model’s meshes and hierarchy are loaded (but before textures/materials). + /// Resets certain viewer state, configures cameras, handles animations, etc. + /// + /// + /// Context containing the newly loaded root and other references. + /// + public void OnLoad(AssetLoaderContext assetLoaderContext) + { + PeakMemory = 0; +#if TRILIB_SHOW_MEMORY_USAGE + PeakManagedMemory = 0; +#endif + ResetModelScale(); + _camerasDropdown.options.Clear(); + PlaybackAnimation.options.Clear(); + _cameras = null; + _animation = null; + _mainCamera.enabled = true; + + if (assetLoaderContext.RootGameObject != null) + { + if (assetLoaderContext.Options.ImportCameras) + { + _cameras = assetLoaderContext.RootGameObject.GetComponentsInChildren(); + if (_cameras.Count > 0) + { + _camerasDropdown.gameObject.SetActive(true); + _camerasDropdown.options.Add(new Dropdown.OptionData("User Camera")); + for (var i = 0; i < _cameras.Count; i++) + { + var camera = _cameras[i]; + camera.enabled = false; + _camerasDropdown.options.Add(new Dropdown.OptionData(camera.name)); + } + _camerasDropdown.captionText.text = _cameras[0].name; + } + else + { + _cameras = null; + } + } + _animation = assetLoaderContext.RootGameObject.GetComponent(); + if (_animation != null) + { + _animations = _animation.GetAllAnimationClips(); + if (_animations.Count > 0) + { + PlaybackAnimation.interactable = true; + for (var i = 0; i < _animations.Count; i++) + { + var animationClip = _animations[i]; + PlaybackAnimation.options.Add(new Dropdown.OptionData(animationClip.name)); + } + PlaybackAnimation.captionText.text = _animations[0].name; + } + else + { + _animation = null; + } + } + _camerasDropdown.value = 0; + PlaybackAnimation.value = 0; + StopAnimation(); + RootGameObject = assetLoaderContext.RootGameObject; + } + + if (_cameras == null) + { + _camerasDropdown.gameObject.SetActive(false); + } + if (_animation == null) + { + PlaybackAnimation.interactable = false; + PlaybackAnimation.captionText.text = "No Animations"; + } + } + + /// + /// Invoked once textures and materials finish loading, indicating the model is fully ready. + /// Disables the loading UI, logs load time, and handles post-load actions (e.g., skeleton display). + /// + /// + /// Provides references to the fully loaded model, including RootGameObject + /// and any instantiated components. + /// + public void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + SetLoading(false); + _stopwatch.Stop(); + _loadingTimeText.text = $"Loaded in: {_stopwatch.Elapsed.Minutes:00}:{_stopwatch.Elapsed.Seconds:00}"; + + if (assetLoaderContext.RootGameObject != null) + { + _showSkeleton = assetLoaderContext.RootGameObject.AddComponent(); + _showSkeleton.Setup(assetLoaderContext, this); + assetLoaderContext.Allocations.Add(_showSkeleton); + + if (assetLoaderContext.Options.LoadPointClouds && assetLoaderContext.RootGameObject != null) + { + HandlePointClouds(assetLoaderContext); + } + + var meshAllocation = 0; + var textureAllocation = 0; + var materialAllocation = 0; + var animationClipAllocation = 0; + var miscAllocation = 0; + + foreach (var allocation in assetLoaderContext.Allocations) + { + var runtimeMemorySize = Profiler.GetRuntimeMemorySize(allocation); + if (allocation is Mesh) + { + meshAllocation += runtimeMemorySize; + } + else if (allocation is Texture) + { + textureAllocation += runtimeMemorySize; + } + else if (allocation is Material) + { + materialAllocation += runtimeMemorySize; + } + else if (allocation is AnimationClip) + { + animationClipAllocation += runtimeMemorySize; + } + else + { + miscAllocation += runtimeMemorySize; + } + } + + _usedMemoryText.text = UnityEngine.Debug.isDebugBuild + ? $"Used Memory:\nMeshes: {ProcessUtils.SizeSuffix(meshAllocation)}\nTextures: {ProcessUtils.SizeSuffix(textureAllocation)}\nMaterials: {ProcessUtils.SizeSuffix(materialAllocation)}\nAnimation Clips: {ProcessUtils.SizeSuffix(animationClipAllocation)}\nMisc.: {ProcessUtils.SizeSuffix(miscAllocation)}" + : string.Empty; + } + else + { + _usedMemoryText.text = string.Empty; + } + + OnDebugOptionsDropdownChanged(_debugOptionsDropdown.value); + OnModelTransformChanged(); + } + + /// + /// Repositions the camera relative to the loaded model bounds whenever the model’s transform changes. + /// Adjusts the skybox scale and sets accordingly. + /// + public void OnModelTransformChanged() + { + if (RootGameObject != null && _mainCamera.enabled) + { + var bounds = RootGameObject.CalculateBounds(); + var boundsMagnitude = bounds.size.magnitude; + _mainCamera.FitToBounds(bounds, CameraDistanceRatio); + CameraPivot = bounds.center; + CameraDistance = Vector3.Distance(_mainCamera.transform.position, CameraPivot); + CameraAngle = Vector2.zero; + Skybox.transform.localScale = boundsMagnitude * SkyboxScale * Vector3.one; + InputMultiplier = boundsMagnitude * InputMultiplierRatio; + } + } + + /// + /// Toggles point cloud loading. Also toggles visibility of the point size UI slider/label. + /// + /// True if point clouds should be loaded, false otherwise. + public void OnPointCloudToggleChanged(bool value) + { + _pointCloudSizeWrapper.SetActive(value); + _pointSizeLabel.SetActive(value); + } + + /// + /// Called when the point size slider value changes, updating the size + /// of any components rendering point clouds. + /// + /// A float representing the new point size. + public void OnPointSizeSliderChanged(float value) + { + var pointRenderers = FindObjectsOfType(); + foreach (var pointRenderer in pointRenderers) + { + pointRenderer.PointSize = value; + } + } + + /// + /// Reports loading progress for the current model (0.0 to 1.0). + /// Updates the loading bar’s width accordingly. + /// + /// Provides info about the current load process. + /// A float from 0.0 to 1.0 representing the loading progress. + public void OnProgress(AssetLoaderContext assetLoaderContext, float value) + { + _loadingBar.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, Screen.width * value); + } + + /// + /// Adjusts the skybox exposure level based on , + /// updating the reflection probe to reflect the new brightness. + /// + /// A float representing the skybox exposure multiplier. + public void OnSkyboxExposureChanged(float exposure) + { + _skyboxMaterial.SetFloat("_Exposure", exposure); + _skyboxRenderer.material = _skyboxMaterial; + RenderSettings.skybox = _skyboxMaterial; + DynamicGI.UpdateEnvironment(); + _reflectionProbe.RenderProbe(); + } + + /// + /// Begins playback of the currently selected animation (if any). + /// Uses the name from to identify the clip. + /// + public void PlayAnimation() + { + if (_animation == null) + { + return; + } + _animation.Play(PlaybackAnimation.options[PlaybackAnimation.value].text, PlayMode.StopAll); + } + + /// + /// When the animation selection changes in , + /// stops the currently playing animation to allow switching to the new one. + /// + /// The zero-based index for the selected animation option. + public void PlaybackAnimationChanged(int index) + { + StopAnimation(); + } + + /// + /// Invoked when the value changes. + /// If no animation is playing, updates the to display + /// the current frame of the selected animation at that normalized time. + /// + /// Normalized time [0..1] for the animation. + public void PlaybackSliderChanged(float value) + { + if (!AnimationIsPlaying) + { + var animationState = CurrentAnimationState; + if (animationState != null) + { + SampleAnimationAt(value); + } + } + } + + /// + /// Processes input each frame, such as rotating, zooming, or panning the camera, + /// but only if the primary is active. + /// + public void ProcessInput() + { + if (!_mainCamera.enabled) + { + return; + } + ProcessInputInternal(_mainCamera.transform); + } + + /// + /// Resets the loaded model’s scale to Vector3.one if a model is present. + /// Called after loading or reloading a model to clear any previously applied scaling. + /// + public void ResetModelScale() + { + if (RootGameObject != null) + { + RootGameObject.transform.localScale = Vector3.one; + } + } + + /// + /// Adjusts the camera to fit a specific bounding volume (e.g., after user modifications), + /// updating , , and skybox scaling. + /// + /// The bounding volume to fit the camera to. + public void SetCustomBounds(Bounds bounds) + { + _mainCamera.FitToBounds(bounds, CameraDistanceRatio); + CameraDistance = _mainCamera.transform.position.magnitude; + CameraPivot = bounds.center; + Skybox.transform.localScale = bounds.size.magnitude * SkyboxScale * Vector3.one; + InputMultiplier = bounds.size.magnitude * InputMultiplierRatio; + CameraAngle = Vector2.zero; + } + + /// + /// Toggles loading state UI, disabling or enabling elements, + /// and showing or hiding the and . + /// + /// If true, shows loading UI; false hides loading UI. + public void SetLoading(bool value) + { +#if UNITY_2023_3_OR_NEWER + var selectables = FindObjectsByType(FindObjectsSortMode.None); +#else + var selectables = FindObjectsOfType(); +#endif + for (var i = 0; i < selectables.Length; i++) + { + var button = selectables[i]; + button.interactable = !value; + } + _loadingWrapper.gameObject.SetActive(value); + _loadingBar.gameObject.SetActive(value); + _loading = value; + } + + /// + /// Displays the help panel. + /// + public void ShowHelp() + { + _helpWrapper.SetActive(true); + } + + /// + /// Shows the input field and dialog for loading a model from a remote URL. + /// + public void ShowModelUrlDialog() + { + _modelUrlDialog.SetActive(true); + _modelUrl.Select(); + _modelUrl.ActivateInputField(); + } + + /// + /// Initializes this , setting up references, toggles, + /// and default skybox conditions. Called automatically on scene load. + /// + public void Start() + { + Dispatcher.CheckInstance(); + PasteManager.CheckInstance(); + Instance = this; + +#if UNITY_WEBGL && !UNITY_EDITOR + _loadModelFromDirectory.SetActive(true); +#endif + + if (SystemInfo.deviceType == DeviceType.Handheld) + { + CanvasScaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize; + } + + _hasAssetLoader = AssetLoaderOptions != null; + _showNormalsShader = Shader.Find("Hidden/ShowNormals"); + _showMetallicShader = Shader.Find("Hidden/ShowMetallic"); + _showSmoothShader = Shader.Find("Hidden/ShowSmooth"); + _showAlbedoShader = Shader.Find("Hidden/ShowAlbedo"); + _showOcclusionShader = Shader.Find("Hidden/ShowOcclusion"); + _showEmissionShader = Shader.Find("Hidden/ShowEmission"); + _showVertexColorsShader = Shader.Find("Hidden/ShowVertexColors"); + + OnFastLoadToggleChanged(false); + ClearSkybox(); + InvokeRepeating("ShowMemoryUsage", 0f, 1f); + } + + /// + /// Stops playback of the currently selected animation and resets its time to zero. + /// + public void StopAnimation() + { + if (_animation == null) + { + return; + } + PlaybackSlider.value = 0f; + _animation.Stop(); + SampleAnimationAt(0f); + } + + /// + /// Updates camera angles based on mouse movement (pitch and yaw), + /// applying and clamping pitch within . + /// + public void UpdateCamera() + { + CameraAngle.x = Mathf.Repeat(CameraAngle.x + GetAxis("Mouse X"), 360f); + CameraAngle.y = Mathf.Clamp(CameraAngle.y + GetAxis("Mouse Y"), -MaxPitch, MaxPitch); + } + + /// + /// Loads an HDR skybox texture from a , then applies it to + /// the . + /// + /// The HDR image data stream. + /// An for the coroutine. + private IEnumerator DoLoadSkybox(Stream stream) + { + // Double frame waiting hack to ensure textures are fully ready + yield return new WaitForEndOfFrame(); + yield return new WaitForEndOfFrame(); + + if (_skyboxTexture != null) + { + Destroy(_skyboxTexture); + } + ClearSkybox(); + _skyboxTexture = HDRLoader.HDRLoader.Load(stream, out var gamma, out var exposure); + _skyboxMaterial.mainTexture = _skyboxTexture; + _skyboxExposureSlider.value = 1f; + OnSkyboxExposureChanged(exposure); + stream.Close(); + SetLoading(false); + } + + /// + /// If the model includes point clouds, adds a to each relevant object. + /// + /// Contains references to each object and allocated resources. + private void HandlePointClouds(AssetLoaderContext assetLoaderContext) + { + foreach (var gameObject in assetLoaderContext.GameObjects.Values) + { + if (gameObject.TryGetComponent(out var meshFilter)) + { + var pointRenderer = gameObject.AddComponent(); + pointRenderer.PointSize = _pointSizeSlider.value; + pointRenderer.Initialize(assetLoaderContext.Options.UseSharedMeshes ? meshFilter.sharedMesh : meshFilter.mesh); + assetLoaderContext.Allocations.Add(pointRenderer.Mesh); + assetLoaderContext.Allocations.Add(pointRenderer.Material); + } + } + } + + /// + /// Starts the coroutine to load an HDR skybox from the provided . + /// + /// The HDR texture data stream. + private void LoadSkybox(Stream stream) + { + SetLoading(true); + StartCoroutine(DoLoadSkybox(stream)); + } + + /// + /// Handler for the file picker callback when the user selects an HDR image for the skybox. + /// + /// A list of selected items with streams. + private void OnSkyboxStreamSelected(IList files) + { + if (files != null && files.Count > 0 && files[0].HasData) + { + Utils.Dispatcher.InvokeAsyncUnchecked(LoadSkybox, files[0].OpenStream()); + } + else + { + Utils.Dispatcher.InvokeAsync(ClearSkybox); + } + } + + /// + /// Central logic for processing camera/light movements based on user input. + /// Pans, rotates, or zooms, and repositions the directional . + /// + /// The transform of the or another active camera. + private void ProcessInputInternal(Transform cameraTransform) + { + if (!EventSystem.current.IsPointerOverGameObject()) + { + // Rotate camera or light on left mouse drag + if (GetMouseButton(0)) + { + if (GetKey(KeyCode.LeftAlt) || GetKey(KeyCode.RightAlt)) + { + _lightAngle.x = Mathf.Repeat(_lightAngle.x + GetAxis("Mouse X"), 360f); + _lightAngle.y = Mathf.Clamp(_lightAngle.y + GetAxis("Mouse Y"), -MaxPitch, MaxPitch); + } + else + { + UpdateCamera(); + } + } + // Pan camera on middle mouse drag + if (GetMouseButton(2)) + { + CameraPivot -= cameraTransform.up * GetAxis("Mouse Y") * InputMultiplier + + cameraTransform.right * GetAxis("Mouse X") * InputMultiplier; + } + // Zoom in/out with mouse scroll + CameraDistance = Mathf.Min( + CameraDistance - GetMouseScrollDelta().y * InputMultiplier, + InputMultiplier * (1f / InputMultiplierRatio) * MaxCameraDistanceRatio + ); + if (CameraDistance < 0f) + { + CameraPivot += cameraTransform.forward * -CameraDistance; + CameraDistance = 0f; + } + Skybox.transform.position = CameraPivot; + cameraTransform.position = CameraPivot + + Quaternion.AngleAxis(CameraAngle.x, Vector3.up) + * Quaternion.AngleAxis(CameraAngle.y, Vector3.right) + * new Vector3(0f, 0f, Mathf.Max(MinCameraDistance, CameraDistance)); + cameraTransform.LookAt(CameraPivot); + + // Position the directional light based on _lightAngle + _light.transform.position = CameraPivot + + Quaternion.AngleAxis(_lightAngle.x, Vector3.up) + * Quaternion.AngleAxis(_lightAngle.y, Vector3.right) + * Vector3.forward; + _light.transform.LookAt(CameraPivot); + } + } + + /// + /// Samples the currently selected animation clip at the specified normalized time. + /// Updates the to the appropriate frame. + /// + /// A float [0..1] for normalized animation time. + private void SampleAnimationAt(float value) + { + if (_animation == null || RootGameObject == null) + { + return; + } + var animationClip = _animation.GetClip(PlaybackAnimation.options[PlaybackAnimation.value].text); + animationClip.SampleAnimation(RootGameObject, animationClip.length * value); + } + + /// + /// Periodically updates memory usage stats, displayed in the UI. + /// Called via in . + /// + private void ShowMemoryUsage() + { +#if TRILIB_SHOW_MEMORY_USAGE + var memory = RuntimeProcessUtils.GetProcessMemory(); + var managedMemory = GC.GetTotalMemory(false); + PeakMemory = Math.Max(memory, PeakMemory); + PeakManagedMemory = Math.Max(managedMemory, PeakManagedMemory); + _memoryUsageText.text = $"(Total: {ProcessUtils.SizeSuffix(memory)} Peak: {ProcessUtils.SizeSuffix(PeakMemory)}) (Managed: {ProcessUtils.SizeSuffix(managedMemory)} Peak: {ProcessUtils.SizeSuffix(PeakManagedMemory)})"; +#else + var memory = GC.GetTotalMemory(false); + PeakMemory = Math.Max(memory, PeakMemory); + _memoryUsageText.text = $"Total: {ProcessUtils.SizeSuffix(memory)} Peak: {ProcessUtils.SizeSuffix(PeakMemory)}"; +#endif + } + + /// + /// Main update loop for this viewer, invoked by Unity each frame. + /// Processes user input for panning/zooming/rotating the camera, + /// and updates the on-screen animation playback HUD. + /// + private void Update() + { + ProcessInput(); + UpdateHUD(); + } + + /// + /// Updates animation HUD elements such as the , + /// , and toggles the or + /// button visibility based on whether an animation is currently playing. + /// + private void UpdateHUD() + { + var animationState = CurrentAnimationState; + var time = animationState == null ? 0f : PlaybackSlider.value * animationState.length % animationState.length; + var seconds = time % 60f; + var milliseconds = time * 100f % 100f; + PlaybackTime.text = $"{seconds:00}:{milliseconds:00}"; + + var normalizedTime = animationState == null ? 0f : animationState.normalizedTime % 1f; + if (AnimationIsPlaying) + { + PlaybackSlider.value = float.IsNaN(normalizedTime) ? 0f : normalizedTime; + } + + var animationIsPlaying = AnimationIsPlaying; + if (_animation != null) + { + Play.gameObject.SetActive(!animationIsPlaying); + Stop.gameObject.SetActive(animationIsPlaying); + } + else + { + Play.gameObject.SetActive(true); + Stop.gameObject.SetActive(false); + PlaybackSlider.value = 0f; + } + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Scripts/AssetViewer.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Scripts/AssetViewer.cs.meta new file mode 100644 index 00000000..5672d9ed --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Scripts/AssetViewer.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: f082935f292724642b902915611c40c4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Scripts/AssetViewer.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Utils.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Utils.meta new file mode 100644 index 00000000..f91fe389 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Utils.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6f1ed00714f70ef4e9a657534009dfa6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Utils/RuntimeProcessUtils.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Utils/RuntimeProcessUtils.cs new file mode 100644 index 00000000..c06bb20f --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Utils/RuntimeProcessUtils.cs @@ -0,0 +1,44 @@ +using System; +using System.Diagnostics; +using System.Runtime.InteropServices; + +namespace TriLibCore.Samples +{ + public class RuntimeProcessUtils + { +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + [DllImport("psapi.dll", SetLastError = true)] + private static extern bool GetProcessMemoryInfo(IntPtr hProcess, out PROCESS_MEMORY_COUNTERS counters, int size); + + [StructLayout(LayoutKind.Sequential, Size = 72)] + private struct PROCESS_MEMORY_COUNTERS + { + public UInt32 cb; + public UInt32 PageFaultCount; + public UInt64 PeakWorkingSetSize; + public UInt64 WorkingSetSize; + public UInt64 QuotaPeakPagedPoolUsage; + public UInt64 QuotaPagedPoolUsage; + public UInt64 QuotaPeakNonPagedPoolUsage; + public UInt64 QuotaNonPagedPoolUsage; + public UInt64 PagefileUsage; + public UInt64 PeakPagefileUsage; + } + + public static long GetProcessMemory() + { + if (GetProcessMemoryInfo(Process.GetCurrentProcess().Handle, out var processMemoryCounters, Marshal.SizeOf())) + { + var memoryUsage = processMemoryCounters.WorkingSetSize; + return (long)memoryUsage; + } + return 0; + } +#else + public static long GetProcessMemory() + { + return 0; + } +#endif + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Utils/RuntimeProcessUtils.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Utils/RuntimeProcessUtils.cs.meta new file mode 100644 index 00000000..601a03f6 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Utils/RuntimeProcessUtils.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ab402da75e4dffb459df32d27bfdedcf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AssetViewer/Utils/RuntimeProcessUtils.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader.meta new file mode 100644 index 00000000..d95d71f9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9799b16f8ad224f4abd431a320ca6909 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AnimatorControllers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AnimatorControllers.meta new file mode 100644 index 00000000..97449a67 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AnimatorControllers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 004363cf8eef5a54994225904a6d0c6e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AnimatorControllers/Mannequin.controller b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AnimatorControllers/Mannequin.controller new file mode 100644 index 00000000..54e38800 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AnimatorControllers/Mannequin.controller @@ -0,0 +1,266 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-6489673621396872173 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Standard Idle + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 6471018011268930930} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 1827226128182048838, guid: 61ee6c353c1443e4da99e4dcbf5382e2, + type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-3054153276661112103 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Custom Animation + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 4439797451878943128} + m_StateMachineBehaviours: + - {fileID: 2790889714000293338} + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &-2210617918411197969 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: PlayCustomAnimation + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -3054153276661112103} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Mannequin + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: SpeedFactor + m_Type: 1 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: PlayCustomAnimation + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 4322625412070396753} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!114 &2790889714000293338 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 927297cbcf228df48ac9a2d5fe29d807, type: 3} + m_Name: + m_EditorClassIdentifier: + LegacyAnimationClipName: + AvatarMask: {fileID: 0} + AnimatorLayerBlendingMode: 0 + LegacyAnimationClip: {fileID: 0} + LegacyAnimator: {fileID: 0} +--- !u!1102 &3202944724003713703 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Standard Walk + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 4090360968556246423} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 1 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 1827226128182048838, guid: ac0fae4017a07d24ebc5ed016660cec4, + type: 3} + m_Tag: + m_SpeedParameter: SpeedFactor + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &4090360968556246423 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 4 + m_ConditionEvent: SpeedFactor + m_EventTreshold: 0.01 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -6489673621396872173} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.78571427 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1107 &4322625412070396753 +AnimatorStateMachine: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -6489673621396872173} + m_Position: {x: 240, y: 20, z: 0} + - serializedVersion: 1 + m_State: {fileID: 3202944724003713703} + m_Position: {x: 240, y: 190, z: 0} + - serializedVersion: 1 + m_State: {fileID: -3054153276661112103} + m_Position: {x: 240, y: -110, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: + - {fileID: -2210617918411197969} + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 490, y: 20, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -6489673621396872173} +--- !u!1101 &4439797451878943128 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: PlayCustomAnimation + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 0} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 1 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &6471018011268930930 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 3 + m_ConditionEvent: SpeedFactor + m_EventTreshold: 0.01 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 3202944724003713703} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.97 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AnimatorControllers/Mannequin.controller.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AnimatorControllers/Mannequin.controller.meta new file mode 100644 index 00000000..08f86c64 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AnimatorControllers/Mannequin.controller.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 97c7b767458fc7846becf405cdfb3244 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AnimatorControllers/Mannequin.controller + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AvatarLoader.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AvatarLoader.unity new file mode 100644 index 00000000..d36f63d3 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AvatarLoader.unity @@ -0,0 +1,3385 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 1 + m_FogColor: {r: 0, g: 0, b: 0, a: 1} + m_FogMode: 3 + m_FogDensity: 0.02 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.20754719, g: 0.20754719, b: 0.20754719, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44649166, g: 0.49631536, b: 0.57476634, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 112000000, guid: 0fa1b6a51d8f6eb44a754bcc9733ec42, + type: 2} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &7689054 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1461539142} + m_Modifications: + - target: {fileID: -6057140222963153312, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_Controller + value: + objectReference: {fileID: 9100000, guid: 97c7b767458fc7846becf405cdfb3244, type: 2} + - target: {fileID: -6057140222963153312, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_ApplyRootMotion + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -927199367670048503, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_Name + value: FinalRig + objectReference: {fileID: 0} + - target: {fileID: -927199367670048503, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 1c6331dd8f87a894ea2092cc36790992, type: 3} +--- !u!1 &22924378 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22924379} + - component: {fileID: 22924381} + - component: {fileID: 22924380} + m_Layer: 5 + m_Name: ModelUrlFrameWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &22924379 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 22924378} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1781527414} + m_Father: {fileID: 1975877723} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &22924380 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 22924378} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.45490196} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &22924381 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 22924378} + m_CullTransparentMesh: 0 +--- !u!1 &187858519 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 187858520} + - component: {fileID: 187858521} + - component: {fileID: 187858522} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &187858520 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 187858519} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 457651778} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &187858521 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 187858519} + m_CullTransparentMesh: 0 +--- !u!114 &187858522 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 187858519} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8396226, g: 0.8396226, b: 0.8396226, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &211787026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 211787027} + - component: {fileID: 211787030} + - component: {fileID: 211787029} + - component: {fileID: 211787028} + m_Layer: 5 + m_Name: LoadAvatarFromFile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &211787027 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 211787026} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1416611947} + m_Father: {fileID: 1535460198} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &211787028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 211787026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.10196079, g: 0.10196079, b: 0.10196079, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 211787029} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 232010898} + m_MethodName: LoadAvatarFromFile + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &211787029 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 211787026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &211787030 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 211787026} + m_CullTransparentMesh: 0 +--- !u!1 &232010897 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 232010899} + - component: {fileID: 232010898} + m_Layer: 0 + m_Name: AvatarLoader + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &232010898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 232010897} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c84e2bed3e0d8fa438afe90ef0c5ce20, type: 3} + m_Name: + m_EditorClassIdentifier: + _loadingBar: {fileID: 1833146829} + _helpWrapper: {fileID: 1668605336} + _loadingWrapper: {fileID: 1616299435} + _modelUrlDialog: {fileID: 22924378} + _modelUrl: {fileID: 457651777} + PlaybackSlider: {fileID: 0} + PlaybackTime: {fileID: 0} + PlaybackAnimation: {fileID: 0} + Play: {fileID: 0} + Stop: {fileID: 0} + CameraAngle: {x: 0, y: 0} + _wrapper: {fileID: 2004387869} + _humanoidAvatarMapper: {fileID: 11400000, guid: 2a91f74a3e52dcf4ebc419744f4f54a0, + type: 2} +--- !u!4 &232010899 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 232010897} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2004387870} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &255321596 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 255321597} + - component: {fileID: 255321599} + - component: {fileID: 255321598} + m_Layer: 5 + m_Name: LoadingFrame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &255321597 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 255321596} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1149245920} + m_Father: {fileID: 1616299438} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 960, y: 60} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &255321598 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 255321596} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.098039225, g: 0.10196079, b: 0.10196079, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &255321599 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 255321596} + m_CullTransparentMesh: 0 +--- !u!1 &291679091 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 291679092} + - component: {fileID: 291679094} + - component: {fileID: 291679093} + m_Layer: 5 + m_Name: AvatarLoader + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &291679092 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 291679091} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1535460198} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &291679093 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 291679091} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Avatar Loader +--- !u!222 &291679094 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 291679091} + m_CullTransparentMesh: 0 +--- !u!1 &344135248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 344135249} + - component: {fileID: 344135251} + - component: {fileID: 344135250} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &344135249 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 344135248} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2072335064} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.5999985, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &344135250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 344135248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Load Model +--- !u!222 &344135251 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 344135248} + m_CullTransparentMesh: 0 +--- !u!1 &410720528 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 410720529} + - component: {fileID: 410720531} + - component: {fileID: 410720530} + m_Layer: 5 + m_Name: Logo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &410720529 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 410720528} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1975877723} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: -10} + m_SizeDelta: {x: 149, y: 47} + m_Pivot: {x: 1, y: 1} +--- !u!114 &410720530 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 410720528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: ddc4c1137b0ba984eb5cfc42a61fb5bd, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &410720531 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 410720528} + m_CullTransparentMesh: 0 +--- !u!4 &425191574 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -4216859302048453862, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + m_PrefabInstance: {fileID: 7689054} + m_PrefabAsset: {fileID: 0} +--- !u!1 &457651776 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 457651778} + - component: {fileID: 457651779} + - component: {fileID: 457651777} + m_Layer: 5 + m_Name: ModelUrl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &457651777 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 457651776} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_TextComponent: {fileID: 187858522} + m_Placeholder: {fileID: 1265311349} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!224 &457651778 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 457651776} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1304738452} + - {fileID: 1265311351} + - {fileID: 187858520} + m_Father: {fileID: 1781527414} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -95} + m_SizeDelta: {x: -80, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &457651779 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 457651776} + m_CullTransparentMesh: 0 +--- !u!1 &461165896 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 461165901} + - component: {fileID: 461165900} + - component: {fileID: 461165899} + - component: {fileID: 461165898} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &461165898 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 461165896} + m_Enabled: 1 +--- !u!124 &461165899 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 461165896} + m_Enabled: 1 +--- !u!20 &461165900 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 461165896} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 100000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &461165901 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 461165896} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -2.8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &561202132 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 561202133} + - component: {fileID: 561202137} + - component: {fileID: 561202136} + - component: {fileID: 561202135} + - component: {fileID: 561202134} + m_Layer: 5 + m_Name: Help + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &561202133 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 561202132} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1975877723} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -14, y: 11} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!114 &561202134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 561202132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 232010898} + m_MethodName: ShowHelp + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 232010898} + m_MethodName: HideHelp + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &561202135 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 561202132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a98125502f715b4b83cfb77b434e436, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 1, g: 1, b: 1, a: 1} + m_PressedColor: {r: 1, g: 1, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 2 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 561202136} +--- !u!114 &561202136 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 561202132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 163def520e58bd54888fe85a58ea7813, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &561202137 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 561202132} + m_CullTransparentMesh: 0 +--- !u!1 &568977019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 568977020} + - component: {fileID: 568977022} + - component: {fileID: 568977021} + m_Layer: 5 + m_Name: HelpFrame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &568977020 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 568977019} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1630009704} + m_Father: {fileID: 1668605337} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 960, y: 280} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &568977021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 568977019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.098039225, g: 0.10196079, b: 0.10196079, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &568977022 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 568977019} + m_CullTransparentMesh: 0 +--- !u!1 &729974497 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 729974498} + - component: {fileID: 729974499} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &729974498 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 729974497} + m_LocalRotation: {x: 0.41177076, y: 0.22019084, z: -0.103238665, w: 0.8782383} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100.000015, y: 100, z: 100.000015} + m_Children: [] + m_Father: {fileID: 1603301395} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50.24, y: 28.15, z: 0} +--- !u!108 &729974499 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 729974497} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 2 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 0.5 + m_Bias: 0.5 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1 &759683465 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 759683466} + - component: {fileID: 759683468} + - component: {fileID: 759683467} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &759683466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 759683465} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1975877723} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -6} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &759683467 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 759683465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: b6a98ca66c26fc34c8d4053a9aeaa4fa, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 41 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Right Click to Lock/Unlock the Mouse +--- !u!222 &759683468 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 759683465} + m_CullTransparentMesh: 0 +--- !u!1 &770944705 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 770944706} + - component: {fileID: 770944709} + - component: {fileID: 770944708} + - component: {fileID: 770944707} + m_Layer: 5 + m_Name: Cancel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &770944706 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770944705} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1730841042} + m_Father: {fileID: 1781527414} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -40, y: 20} + m_SizeDelta: {x: 140, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!114 &770944707 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770944705} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 770944708} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 232010898} + m_MethodName: HideModelUrlDialog + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &770944708 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770944705} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &770944709 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770944705} + m_CullTransparentMesh: 0 +--- !u!1 &961238227 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 961238230} + - component: {fileID: 961238229} + - component: {fileID: 961238228} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &961238228 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 961238227} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &961238229 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 961238227} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &961238230 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 961238227} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &967867067 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 967867068} + - component: {fileID: 967867070} + - component: {fileID: 967867069} + - component: {fileID: 967867071} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &967867068 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967867067} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1000, y: 1000, z: 1000} + m_Children: [] + m_Father: {fileID: 1603301395} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &967867069 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967867067} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 85e84c0ac27e29e43ab082cb1235bc5b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &967867070 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967867067} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!65 &967867071 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967867067} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 2.220446e-16, z: 10} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1027722543 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1027722544} + - component: {fileID: 1027722547} + - component: {fileID: 1027722546} + - component: {fileID: 1027722545} + m_Layer: 5 + m_Name: LoadAvatarFromUrl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1027722544 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027722543} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1104659486} + m_Father: {fileID: 1535460198} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1027722545 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027722543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1027722546} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 232010898} + m_MethodName: ShowModelUrlDialog + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1027722546 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027722543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1027722547 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027722543} + m_CullTransparentMesh: 0 +--- !u!1 &1104659485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1104659486} + - component: {fileID: 1104659488} + - component: {fileID: 1104659487} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1104659486 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1104659485} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1027722544} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1104659487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1104659485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Load Avatar from URL +--- !u!222 &1104659488 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1104659485} + m_CullTransparentMesh: 0 +--- !u!1 &1149245919 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1149245920} + - component: {fileID: 1149245922} + - component: {fileID: 1149245921} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1149245920 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149245919} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 255321597} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 40, y: 0} + m_SizeDelta: {x: -80, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1149245921 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149245919} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Loading +--- !u!222 &1149245922 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149245919} + m_CullTransparentMesh: 0 +--- !u!1 &1265311348 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1265311351} + - component: {fileID: 1265311350} + - component: {fileID: 1265311349} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1265311349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1265311348} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: URL +--- !u!222 &1265311350 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1265311348} + m_CullTransparentMesh: 0 +--- !u!224 &1265311351 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1265311348} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 457651778} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1304738451 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1304738452} + - component: {fileID: 1304738454} + - component: {fileID: 1304738453} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1304738452 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304738451} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 457651778} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1304738453 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304738451} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 4007709848493184444, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1304738454 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304738451} + m_CullTransparentMesh: 0 +--- !u!1 &1416611946 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1416611947} + - component: {fileID: 1416611949} + - component: {fileID: 1416611948} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1416611947 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1416611946} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 211787027} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1416611948 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1416611946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Load Avatar from File +--- !u!222 &1416611949 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1416611946} + m_CullTransparentMesh: 0 +--- !u!1 &1461539139 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1461539142} + - component: {fileID: 1461539141} + - component: {fileID: 1461539143} + m_Layer: 0 + m_Name: AvatarController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1461539141 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1461539139} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77333d5529035164e97bdb4002f8cb42, type: 3} + m_Name: + m_EditorClassIdentifier: + CharacterController: {fileID: 1461539143} + Animator: {fileID: 1617562517} + InnerAvatar: {fileID: 1617562516} +--- !u!4 &1461539142 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1461539139} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 425191574} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!143 &1461539143 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1461539139} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 1.8 + m_Radius: 0.25 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.01 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0.9, z: 0} +--- !u!1 &1535460197 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1535460198} + - component: {fileID: 1535460201} + - component: {fileID: 1535460200} + - component: {fileID: 1535460199} + m_Layer: 5 + m_Name: SideBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1535460198 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535460197} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 291679092} + - {fileID: 211787027} + - {fileID: 1027722544} + m_Father: {fileID: 1975877723} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 250, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1535460199 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535460197} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 15 + m_Right: 15 + m_Top: 6 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 8 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &1535460200 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535460197} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 829966b99d4620544ae66c6357d6ca44, type: 2} + m_Color: {r: 0.1, g: 0.1, b: 0.1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1535460201 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535460197} + m_CullTransparentMesh: 0 +--- !u!1 &1603301394 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1603301395} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1603301395 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603301394} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 729974498} + - {fileID: 2080830599} + - {fileID: 967867068} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1616299435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1616299438} + - component: {fileID: 1616299437} + - component: {fileID: 1616299436} + m_Layer: 5 + m_Name: LoadingFrameWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1616299436 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1616299435} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.45490196} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1616299437 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1616299435} + m_CullTransparentMesh: 0 +--- !u!224 &1616299438 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1616299435} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 255321597} + m_Father: {fileID: 1975877723} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1617562516 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: -927199367670048503, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + m_PrefabInstance: {fileID: 7689054} + m_PrefabAsset: {fileID: 0} +--- !u!95 &1617562517 stripped +Animator: + m_CorrespondingSourceObject: {fileID: -6057140222963153312, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + m_PrefabInstance: {fileID: 7689054} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1617562518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1617562516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 601a02e47f227444291b1dcc1b7584e8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1630009703 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1630009704} + - component: {fileID: 1630009706} + - component: {fileID: 1630009705} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1630009704 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1630009703} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 568977020} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 40, y: 0} + m_SizeDelta: {x: -80, y: -40} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1630009705 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1630009703} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'To load an avatar, click on "Load Avatar from File/URL" and select your + avatar model file along with the textures and binaries it uses. + + + Models + should be in t-pose and should be rigged in Autodesk Biped or Adobe Mixamo in + order to work in this demo, but other bone-naming can be configured using a custom + ByNameHumanoidAvatarMapper instance you can configure. + + + To rotate the camera, + use the mouse. + + + To walk, use the W, A, S, D keys.' +--- !u!222 &1630009706 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1630009703} + m_CullTransparentMesh: 0 +--- !u!1 &1668605336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1668605337} + - component: {fileID: 1668605339} + - component: {fileID: 1668605338} + m_Layer: 5 + m_Name: HelpFrameWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1668605337 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1668605336} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 568977020} + m_Father: {fileID: 1975877723} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1668605338 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1668605336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.45490196} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1668605339 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1668605336} + m_CullTransparentMesh: 0 +--- !u!1 &1730841041 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1730841042} + - component: {fileID: 1730841044} + - component: {fileID: 1730841043} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1730841042 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1730841041} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 770944706} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.5999985, y: 0} + m_SizeDelta: {x: 0, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1730841043 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1730841041} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Cancel +--- !u!222 &1730841044 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1730841041} + m_CullTransparentMesh: 0 +--- !u!1 &1781527413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1781527414} + - component: {fileID: 1781527416} + - component: {fileID: 1781527415} + m_Layer: 5 + m_Name: UrlFrame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1781527414 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781527413} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1943252290} + - {fileID: 457651778} + - {fileID: 2072335064} + - {fileID: 770944706} + m_Father: {fileID: 22924379} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 960, y: 182} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1781527415 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781527413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.098039225, g: 0.10196079, b: 0.10196079, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f472ef91f98b9464993dec27529ddd99, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1781527416 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781527413} + m_CullTransparentMesh: 0 +--- !u!1 &1833146828 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1833146829} + - component: {fileID: 1833146831} + - component: {fileID: 1833146830} + m_Layer: 5 + m_Name: LoadingBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1833146829 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833146828} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1975877723} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 4} + m_SizeDelta: {x: 0, y: 4} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1833146830 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833146828} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.5019608, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1833146831 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833146828} + m_CullTransparentMesh: 0 +--- !u!1 &1943252289 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1943252290} + - component: {fileID: 1943252292} + - component: {fileID: 1943252291} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1943252290 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943252289} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1781527414} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 40, y: -30} + m_SizeDelta: {x: -80, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1943252291 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943252289} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Type-in your model URL (ZIP files with all textures and dependencies on + the root directory are recommended):' +--- !u!222 &1943252292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943252289} + m_CullTransparentMesh: 0 +--- !u!1 &1975877722 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1975877723} + - component: {fileID: 1975877726} + - component: {fileID: 1975877725} + - component: {fileID: 1975877724} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1975877723 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1975877722} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1535460198} + - {fileID: 759683466} + - {fileID: 410720529} + - {fileID: 1833146829} + - {fileID: 1616299438} + - {fileID: 22924379} + - {fileID: 1668605337} + - {fileID: 561202133} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1975877724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1975877722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1975877725 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1975877722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1975877726 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1975877722} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!1 &2004387869 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2004387870} + m_Layer: 0 + m_Name: Wrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &2004387870 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2004387869} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 232010899} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2072335063 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2072335064} + - component: {fileID: 2072335067} + - component: {fileID: 2072335066} + - component: {fileID: 2072335065} + m_Layer: 5 + m_Name: LoadModel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2072335064 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2072335063} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 344135249} + m_Father: {fileID: 1781527414} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -200, y: 20} + m_SizeDelta: {x: 180, y: 32} + m_Pivot: {x: 1, y: 0} +--- !u!114 &2072335065 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2072335063} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.3, g: 0.3, b: 0.3, a: 1} + m_HighlightedColor: {r: 0, g: 0.5, b: 1, a: 1} + m_PressedColor: {r: 0, g: 0.5019608, b: 1, a: 1} + m_SelectedColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_DisabledColor: {r: 0.29803923, g: 0.29803923, b: 0.29803923, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2072335066} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 232010898} + m_MethodName: LoadModelFromURLWithDialogValues + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &2072335066 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2072335063} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2153084257531599212, guid: 51c2ac47b1804034aa6b0cf8976c88bd, + type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2072335067 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2072335063} + m_CullTransparentMesh: 0 +--- !u!1 &2080830597 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2080830599} + - component: {fileID: 2080830598} + m_Layer: 0 + m_Name: Reflection Probe + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!215 &2080830598 +ReflectionProbe: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080830597} + m_Enabled: 1 + serializedVersion: 2 + m_Type: 0 + m_Mode: 1 + m_RefreshMode: 0 + m_TimeSlicingMode: 0 + m_Resolution: 128 + m_UpdateFrequency: 0 + m_BoxSize: {x: 10, y: 10, z: 10} + m_BoxOffset: {x: 0, y: 0, z: 0} + m_NearClip: 0.3 + m_FarClip: 1000 + m_ShadowDistance: 100 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_IntensityMultiplier: 1 + m_BlendDistance: 1 + m_HDR: 1 + m_BoxProjection: 0 + m_RenderDynamicObjects: 0 + m_UseOcclusionCulling: 1 + m_Importance: 1 + m_CustomBakedTexture: {fileID: 0} +--- !u!4 &2080830599 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080830597} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1603301395} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AvatarLoader.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AvatarLoader.unity.meta new file mode 100644 index 00000000..6dddf8e6 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AvatarLoader.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 6e95f2af9364c7c419de408adf22842f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/AvatarLoader.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Materials.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Materials.meta new file mode 100644 index 00000000..ca33b1d3 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6fa34ea1adce84440b64d024915bfd82 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Materials/Ground.mat b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Materials/Ground.mat new file mode 100644 index 00000000..6ae2ec9a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Materials/Ground.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Ground + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1000, y: 1000} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 5000, y: 5000} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: bff6a10d13181474596f631bfc84c95b, type: 3} + m_Scale: {x: 5000, y: 5000} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 1 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 0.71341807, b: 0, a: 1} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Materials/Ground.mat.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Materials/Ground.mat.meta new file mode 100644 index 00000000..2dfc4760 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Materials/Ground.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 85e84c0ac27e29e43ab082cb1235bc5b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Materials/Ground.mat + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models.meta new file mode 100644 index 00000000..b98b5bf2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 62faec6923469b64a9886218d291453c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/FinalRig.fbx b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/FinalRig.fbx new file mode 100644 index 00000000..62d78a7e Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/FinalRig.fbx differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/FinalRig.fbx.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/FinalRig.fbx.meta new file mode 100644 index 00000000..3c95fe9b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/FinalRig.fbx.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: 1c6331dd8f87a894ea2092cc36790992 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: + - first: + 74: 1827226128182048838 + second: Take 001 + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 3 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 0 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + remapMaterialsIfMaterialImportModeIsNone: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/FinalRig.fbx + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/ReadMe.txt b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/ReadMe.txt new file mode 100644 index 00000000..79fd55c5 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/ReadMe.txt @@ -0,0 +1 @@ +Sample Models by @sopeSSBM \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/ReadMe.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/ReadMe.txt.meta new file mode 100644 index 00000000..b9951adc --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/ReadMe.txt.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 5414c87c445955b46a3697ee655d42a8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/ReadMe.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/idle_anim.fbx b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/idle_anim.fbx new file mode 100644 index 00000000..756e073a Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/idle_anim.fbx differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/idle_anim.fbx.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/idle_anim.fbx.meta new file mode 100644 index 00000000..86207f4a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/idle_anim.fbx.meta @@ -0,0 +1,1502 @@ +fileFormatVersion: 2 +guid: 61ee6c353c1443e4da99e4dcbf5382e2 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: + - first: + 74: 1827226128182048838 + second: idle_anim + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 3 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: idle_anim + takeName: Take 001 + internalID: 0 + firstFrame: 1 + lastFrame: 30 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 0 + loopBlendPositionY: 0 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 1 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: + - boneName: mixamorig:Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftUpLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightUpLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftFoot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightFoot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:Spine1 + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftShoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightShoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftForeArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightForeArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftToeBase + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightToeBase + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandThumb1 + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandThumb2 + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandThumb3 + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandIndex1 + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandIndex2 + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandIndex3 + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandMiddle1 + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandMiddle2 + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandMiddle3 + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandRing1 + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandRing2 + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandRing3 + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandPinky1 + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandPinky2 + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandPinky3 + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandThumb1 + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandThumb2 + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandThumb3 + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandIndex1 + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandIndex2 + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandIndex3 + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandMiddle1 + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandMiddle2 + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandMiddle3 + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandRing1 + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandRing2 + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandRing3 + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandPinky1 + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandPinky2 + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandPinky3 + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:Spine2 + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: FinalRig(Clone) + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: default1 + parentName: FinalRig(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Body + parentName: FinalRig(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Main_CTRL + parentName: FinalRig(Clone) + position: {x: -0, y: 3.9443044e-33, z: -0.00027503} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Pivot_CTRL + parentName: Main_CTRL + position: {x: 0.109045915, y: 0.5368517, z: 0.25085613} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Pivot_CTRL + parentName: Main_CTRL + position: {x: -0.109045915, y: 0.5368517, z: 0.25085613} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Foot_CTRL + parentName: Main_CTRL + position: {x: 0.14108574, y: 0.002956602, z: 0.12056563} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: HeelPivot + parentName: L_Foot_CTRL + position: {x: -0.04938631, y: 0.10619409, z: -0.14686094} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: TipToe + parentName: HeelPivot + position: {x: 0.07657834, y: -0.108160906, z: 0.21951202} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: ToeTap + parentName: TipToe + position: {x: -0.02719203, y: 0.0019668234, z: -0.07265108} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: ToeTipIK + parentName: ToeTap + position: {x: 0.02719203, y: -0.0019668234, z: 0.07265108} + rotation: {x: 0.1454849, y: 0.6898768, z: 0.7010758, w: -0.10675626} + scale: {x: 1, y: 1, z: 1} + - name: BallIK + parentName: ToeTap + position: {x: -0, y: -0.000000001490116, z: 0} + rotation: {x: 0.09179921, y: 0.45490497, z: 0.87991065, w: -0.10193952} + scale: {x: 1, y: 1, z: 1} + - name: HeelPeel + parentName: TipToe + position: {x: -0.02719203, y: 0.0019668234, z: -0.07265108} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: AnkleIK + parentName: HeelPeel + position: {x: -0.04938631, y: 0.10619409, z: -0.14686094} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Foot_CTRL + parentName: Main_CTRL + position: {x: -0.14109387, y: 0.0029466334, z: 0.1225356} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: HeelPivot 1 + parentName: R_Foot_CTRL + position: {x: 0.049394578, y: 0.10619576, z: -0.14883044} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: ToeTip + parentName: HeelPivot 1 + position: {x: -0.076596394, y: -0.10816388, z: 0.22343603} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: HeelPeel 1 + parentName: ToeTip + position: {x: 0.027201815, y: 0.0019681284, z: -0.074605584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: AnkleIK 1 + parentName: HeelPeel 1 + position: {x: 0.049394578, y: 0.106195755, z: -0.14883044} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: ToeTap 1 + parentName: ToeTip + position: {x: 0.027201815, y: 0.0019681284, z: -0.074605584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: BallIK 1 + parentName: ToeTap 1 + position: {x: -0, y: -0.000000011622905, z: 0.000000009536743} + rotation: {x: -0.09038536, y: 0.45756492, z: 0.87874675, w: 0.101335816} + scale: {x: 1, y: 1, z: 1} + - name: ToeTipIK 1 + parentName: ToeTap 1 + position: {x: -0.027201815, y: -0.0019681265, z: 0.07460561} + rotation: {x: -0.1402226, y: 0.690192, z: 0.7019444, w: 0.10605059} + scale: {x: 1, y: 1, z: 1} + - name: COG_CTRL + parentName: Main_CTRL + position: {x: 0.000002282218, y: 0.99784344, z: -0.0010874709} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Spine01_CTRL + parentName: COG_CTRL + position: {x: 0.000004112108, y: 0.09498146, z: -0.007847275} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Spine02_CTRL + parentName: Spine01_CTRL + position: {x: -0, y: 0.11081176, z: -0.009155173} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Spine03_CTRL + parentName: Spine02_CTRL + position: {x: -0, y: 0.12664177, z: -0.010463056} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck_CTRL + parentName: Spine03_CTRL + position: {x: -0, y: 0.14247237, z: -0.011770939} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Head_CTRL + parentName: Neck_CTRL + position: {x: -0, y: 0.046808317, z: 0.018574009} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Clavicle_CTRL + parentName: Spine03_CTRL + position: {x: -0.05627136, y: 0.1240052, z: -0.0119556375} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Shoulder_CTRL + parentName: R_Clavicle_CTRL + position: {x: -0.113021985, y: -0.035805896, z: -0.0003693392} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Elbow_CTRL + parentName: R_Shoulder_CTRL + position: {x: -0.25161242, y: -0.0000009155273, z: -0.000000114440915} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Wrist_CTRL + parentName: R_Elbow_CTRL + position: {x: -0.23817348, y: -0.0000010681152, z: -0.000000095367426} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger01_CTRL + parentName: R_Wrist_CTRL + position: {x: -0.12610717, y: -0.00037353515, z: -0.056748427} + rotation: {x: 0.49494496, y: -0.4950235, z: 0.50500834, w: 0.5049236} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger01_CTRL 1 + parentName: R_PinkyFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger02_CTRL + parentName: R_PinkyFinger01_CTRL 1 + position: {x: 0.0000035951307, y: 0.024415527, z: 7.835206e-10} + rotation: {x: -0.00000026150218, y: 0.0000074085524, z: -0.00008185207, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger02_CTRL 1 + parentName: R_PinkyFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger03_CTRL + parentName: R_PinkyFinger02_CTRL 1 + position: {x: 0.00000039764592, y: 0.02191761, z: 1.8967171e-10} + rotation: {x: 0.00000037554003, y: -0.000013354061, z: -0.0001336783, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger03_CTRL 1 + parentName: R_PinkyFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger01_CTRL + parentName: R_Wrist_CTRL + position: {x: -0.13169235, y: 0.0027935791, z: -0.03347579} + rotation: {x: 0.4956914, y: -0.49612454, z: 0.5042808, w: 0.50383663} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger01_CTRL 1 + parentName: R_RingFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger02_CTRL + parentName: R_RingFinger01_CTRL 1 + position: {x: 0.000026474892, y: 0.029628031, z: -0.000000001344857} + rotation: {x: 0.0000007271696, y: 0.00023899667, z: 0.003214013, w: 0.9999948} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger02_CTRL 1 + parentName: R_RingFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger03_CTRL + parentName: R_RingFinger02_CTRL 1 + position: {x: 0.00022717367, y: 0.03107114, z: 0.0000000010757247} + rotation: {x: -0.000001597134, y: 0.0005658495, z: -0.009964514, w: 0.99995023} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger03_CTRL 1 + parentName: R_RingFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger01_CTRL + parentName: R_Wrist_CTRL + position: {x: -0.14502998, y: -0.00000015258789, z: 0.00000014781952} + rotation: {x: 0.49855652, y: -0.49543625, z: 0.50140405, w: 0.50455755} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger01_CTRL 1 + parentName: R_MidFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger02_CTRL + parentName: R_MidFinger01_CTRL 1 + position: {x: -0.00018762394, y: 0.029959748, z: -1.8618664e-10} + rotation: {x: 0.00000024115994, y: -0.00017697478, z: 0.004331165, w: 0.99999064} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger02_CTRL 1 + parentName: R_MidFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger03_CTRL + parentName: R_MidFinger02_CTRL 1 + position: {x: 0.00006793873, y: 0.028481588, z: 3.0706104e-10} + rotation: {x: 0.00000041159544, y: 0.00018339763, z: 0.0019356196, w: 0.99999815} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger03_CTRL 1 + parentName: R_MidFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger01_CTRL + parentName: R_Wrist_CTRL + position: {x: -0.15156463, y: 0.00089599605, z: 0.02519818} + rotation: {x: 0.50676274, y: -0.4992615, z: 0.49323833, w: 0.50064504} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger01_CTRL 1 + parentName: R_PointFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger02_CTRL + parentName: R_PointFinger01_CTRL 1 + position: {x: -0.00037479895, y: 0.025152368, z: 1.10323695e-10} + rotation: {x: 0.0000002298883, y: -0.0002347239, z: 0.012466794, w: 0.9999223} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger02_CTRL 1 + parentName: R_PointFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger03_CTRL + parentName: R_PointFinger02_CTRL 1 + position: {x: 0.00021395169, y: 0.021343702, z: -0.0000000012643095} + rotation: {x: 0.0000013549912, y: 0.00010545427, z: 0.0011294597, w: 0.99999934} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger03_CTRL 1 + parentName: R_PointFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb01_CTRL + parentName: R_Wrist_CTRL + position: {x: -0.0463031, y: -0.0009510803, z: 0.026426105} + rotation: {x: 0.70956, y: -0.32433066, z: 0.46614847, w: 0.4171809} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb01_CTRL 1 + parentName: R_Thumb01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb02_CTRL + parentName: R_Thumb01_CTRL 1 + position: {x: 0.0074117333, y: 0.042008694, z: -1.3236842e-10} + rotation: {x: 0.00022894167, y: 0.0037159107, z: -0.11293323, w: 0.9935956} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb02_CTRL 1 + parentName: R_Thumb02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb03_CTRL + parentName: R_Thumb02_CTRL 1 + position: {x: -0.0018263051, y: 0.03528147, z: 1.7305865e-10} + rotation: {x: 0.00037937157, y: -0.0025006598, z: -0.09870834, w: 0.9951132} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb03_CTRL 1 + parentName: R_Thumb03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Clavicle_CTRL + parentName: Spine03_CTRL + position: {x: 0.056258574, y: 0.1240052, z: -0.0119556375} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Shoulder_CTRL + parentName: L_Clavicle_CTRL + position: {x: 0.113021985, y: -0.035805896, z: -0.0003693392} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Elbow_CTRL + parentName: L_Shoulder_CTRL + position: {x: 0.25161242, y: -0.0000009155273, z: -0.000000114440915} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Wrist_CTRL + parentName: L_Elbow_CTRL + position: {x: 0.23817348, y: -0.0000010681152, z: -0.000000095367426} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb01_CTRL + parentName: L_Wrist_CTRL + position: {x: 0.04662979, y: -0.00090744015, z: 0.027622312} + rotation: {x: 0.7069577, y: 0.33172885, z: -0.46907547, w: 0.41247424} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb01_CTRL 1 + parentName: L_Thumb01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb02_CTRL + parentName: L_Thumb01_CTRL 1 + position: {x: -0.008237218, y: 0.04199992, z: -9.5225515e-11} + rotation: {x: 0.0005043168, y: -0.0060040206, z: 0.109633744, w: 0.9939538} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb02_CTRL 1 + parentName: L_Thumb02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb03_CTRL + parentName: L_Thumb02_CTRL 1 + position: {x: 0.00088980293, y: 0.034154836, z: 6.4804595e-10} + rotation: {x: -0.0034071063, y: -0.018750848, z: 0.15307796, w: 0.9880303} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb03_CTRL 1 + parentName: L_Thumb03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger01_CTRL + parentName: L_Wrist_CTRL + position: {x: 0.12666145, y: 0.0022940063, z: -0.057193078} + rotation: {x: 0.49611944, y: 0.49386272, z: -0.50381005, w: 0.50610334} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger01_CTRL 1 + parentName: L_PinkyFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger02_CTRL + parentName: L_PinkyFinger01_CTRL 1 + position: {x: 0.000114813745, y: 0.025284937, z: 2.8581637e-10} + rotation: {x: -0.00000001919891, y: 0.00008982352, z: -0.003178838, w: 0.99999493} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger02_CTRL 1 + parentName: L_PinkyFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger03_CTRL + parentName: L_PinkyFinger02_CTRL 1 + position: {x: -0.000039615617, y: 0.022106694, z: 9.225317e-11} + rotation: {x: -0.0000013100239, y: 0.00039947793, z: -0.0019537795, w: 0.99999803} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger03_CTRL 1 + parentName: L_PinkyFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger01_CTRL + parentName: L_Wrist_CTRL + position: {x: 0.13389106, y: 0.00087142945, z: -0.03351998} + rotation: {x: 0.49679765, y: 0.49698094, z: -0.5031879, w: 0.502995} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger01_CTRL 1 + parentName: L_RingFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger02_CTRL + parentName: L_RingFinger01_CTRL 1 + position: {x: -0.000010879616, y: 0.029169368, z: 4.1975057e-10} + rotation: {x: -0.00000021311716, y: -0.00009799379, z: -0.0007908199, w: 0.9999997} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger02_CTRL 1 + parentName: L_RingFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger03_CTRL + parentName: L_RingFinger02_CTRL 1 + position: {x: -0.000057237696, y: 0.029098885, z: 5.8075184e-10} + rotation: {x: 0.00000030448743, y: -0.000047036792, z: 0.0028712759, w: 0.9999959} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger03_CTRL 1 + parentName: L_RingFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger01_CTRL + parentName: L_Wrist_CTRL + position: {x: 0.14439636, y: -0.0000035095213, z: 0.0011088657} + rotation: {x: 0.5001045, y: 0.4973853, z: -0.49988568, w: 0.50261086} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger01_CTRL 1 + parentName: L_MidFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger02_CTRL + parentName: L_MidFinger01_CTRL 1 + position: {x: 0.00015811044, y: 0.0290307, z: -6.353619e-10} + rotation: {x: 0.0000000214742, y: -0.00012234868, z: -0.0064940634, w: 0.9999789} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger02_CTRL 1 + parentName: L_MidFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger03_CTRL + parentName: L_MidFinger02_CTRL 1 + position: {x: -0.00022119134, y: 0.029287169, z: -9.485009e-10} + rotation: {x: -0.00000078123304, y: 0.00018063723, z: 0.005422425, w: 0.9999853} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger03_CTRL 1 + parentName: L_MidFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger01_CTRL + parentName: L_Wrist_CTRL + position: {x: 0.15187645, y: 0.0027438353, z: 0.027267056} + rotation: {x: 0.5004701, y: 0.506682, z: -0.49944487, w: 0.49331316} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger01_CTRL 1 + parentName: L_PointFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger02_CTRL + parentName: L_PointFinger01_CTRL 1 + position: {x: -0.00030557963, y: 0.024783518, z: -5.869907e-11} + rotation: {x: 0.00000092843845, y: -0.000054832937, z: 0.0015730581, w: 0.99999875} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger02_CTRL 1 + parentName: L_PointFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger03_CTRL + parentName: L_PointFinger02_CTRL 1 + position: {x: -0.00020151494, y: 0.02195564, z: 7.5991546e-10} + rotation: {x: -0.000062011226, y: -0.0035083368, z: 0.026877379, w: 0.9996326} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger03_CTRL 1 + parentName: L_PointFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmXML1 + parentName: FinalRig(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmOptions1 + parentName: tmXML1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmSliderVis1 + parentName: tmOptions1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonVis1 + parentName: tmOptions1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtons1 + parentName: tmOptions1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton1 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB1 + parentName: tmButton1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue1 + parentName: tmButton1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton2 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB2 + parentName: tmButton2 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue2 + parentName: tmButton2 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton3 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB3 + parentName: tmButton3 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue3 + parentName: tmButton3 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton4 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB4 + parentName: tmButton4 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue4 + parentName: tmButton4 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton5 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB5 + parentName: tmButton5 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue5 + parentName: tmButton5 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton6 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB6 + parentName: tmButton6 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue6 + parentName: tmButton6 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton7 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB7 + parentName: tmButton7 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue7 + parentName: tmButton7 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmGroups1 + parentName: tmXML1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Hips + parentName: FinalRig(Clone) + position: {x: 0.000002282218, y: 0.99784344, z: -0.001362501} + rotation: {x: 0.00000010437463, y: 0.0000006801116, z: -0.000021703088, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Spine + parentName: mixamorig:Hips + position: {x: -8.673617e-21, y: 0.09498146, z: -0.007847294} + rotation: {x: -0.041204393, y: -0.0000015737943, z: 0.000021656633, w: 0.99915075} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Spine1 + parentName: mixamorig:Spine + position: {x: -0, y: 0.11118931, z: -4.2962028e-10} + rotation: {x: -1.5919852e-18, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Spine2 + parentName: mixamorig:Spine1 + position: {x: -1.0842021e-21, y: 0.12707333, z: 4.5661355e-10} + rotation: {x: -6.938894e-18, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Neck + parentName: mixamorig:Spine2 + position: {x: -0, y: 0.14295766, z: 0.000000011889537} + rotation: {x: 0.041204356, y: -0, z: -0, w: 0.99915075} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Head + parentName: mixamorig:Neck + position: {x: -0, y: 0.046808317, z: 0.018574009} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:HeadTop_End + parentName: mixamorig:Head + position: {x: -0, y: 0.29444748, z: 0.11683972} + rotation: {x: 6.938894e-18, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftShoulder + parentName: mixamorig:Spine2 + position: {x: -0.05627136, y: 0.12456847, z: -0.0017046168} + rotation: {x: 0.56171924, y: -0.42412627, z: 0.5786495, w: 0.41201115} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftArm + parentName: mixamorig:LeftShoulder + position: {x: 2.0747368e-10, y: 0.11855869, z: -0.0000000023861837} + rotation: {x: -0.15231623, y: -0.017366018, z: -0.012218182, w: 0.98810375} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftForeArm + parentName: mixamorig:LeftArm + position: {x: -0.0000000015569895, y: 0.25161245, z: 3.1516548e-10} + rotation: {x: 0.000000357173, y: 0.0017168343, z: -0.000000009884936, w: 0.99999857} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHand + parentName: mixamorig:LeftForeArm + position: {x: -1.5311932e-10, y: 0.23817348, z: -2.3395614e-11} + rotation: {x: 0.004043743, y: -0.028618189, z: 0.05849371, w: 0.9978693} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandRing1 + parentName: mixamorig:LeftHand + position: {x: -0.01791135, y: 0.13465632, z: -0.0042612464} + rotation: {x: -0.0051883007, y: 0.009013208, z: -0.057965282, w: 0.99826443} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandRing2 + parentName: mixamorig:LeftHandRing1 + position: {x: 0.000026474892, y: 0.029628031, z: -0.0000000013448572} + rotation: {x: 0.0000007230082, y: 0.00023899662, z: 0.0032140133, w: 0.9999948} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandRing3 + parentName: mixamorig:LeftHandRing2 + position: {x: 0.00022717367, y: 0.03107114, z: 0.0000000010757251} + rotation: {x: -0.0000015804901, y: 0.0005658493, z: -0.009964514, w: 0.99995023} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandRing4 + parentName: mixamorig:LeftHandRing3 + position: {x: -0.00025364844, y: 0.020119734, z: -3.9657094e-11} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandThumb1 + parentName: mixamorig:LeftHand + position: {x: 0.031642992, y: 0.042916033, z: 0.00039350108} + rotation: {x: 0.06722622, y: -0.003922607, z: -0.32090527, w: 0.9447143} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandThumb2 + parentName: mixamorig:LeftHandThumb1 + position: {x: 0.0074117333, y: 0.042008694, z: -1.3236785e-10} + rotation: {x: 0.00022893754, y: 0.0037159112, z: -0.11293323, w: 0.9935956} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandThumb3 + parentName: mixamorig:LeftHandThumb2 + position: {x: -0.0018263051, y: 0.03528147, z: 1.7305865e-10} + rotation: {x: 0.00037937157, y: -0.0025006598, z: -0.09870833, w: 0.9951132} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandThumb4 + parentName: mixamorig:LeftHandThumb3 + position: {x: -0.005585427, y: 0.021923477, z: 1.1297771e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandMiddle1 + parentName: mixamorig:LeftHand + position: {x: 0.016897164, y: 0.14403272, z: -0.0016564509} + rotation: {x: -0.0053400146, y: 0.0068316, z: -0.061523, w: 0.99806803} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandMiddle2 + parentName: mixamorig:LeftHandMiddle1 + position: {x: -0.00018762394, y: 0.029959748, z: -1.861872e-10} + rotation: {x: 0.0000002411599, y: -0.00017697478, z: 0.0043311655, w: 0.99999064} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandMiddle3 + parentName: mixamorig:LeftHandMiddle2 + position: {x: 0.00006793873, y: 0.028481588, z: 3.0706046e-10} + rotation: {x: 0.00000041159538, y: 0.0001833976, z: 0.0019356197, w: 0.99999815} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandMiddle4 + parentName: mixamorig:LeftHandMiddle3 + position: {x: 0.000119685166, y: 0.019173034, z: 5.4996235e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandPinky1 + parentName: mixamorig:LeftHand + position: {x: -0.041668516, y: 0.131857, z: -0.001005454} + rotation: {x: -0.0050840504, y: 0.01083912, z: -0.058331087, w: 0.9982255} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandPinky2 + parentName: mixamorig:LeftHandPinky1 + position: {x: 0.0000035951307, y: 0.024415527, z: 7.835194e-10} + rotation: {x: -0.0000002615022, y: 0.0000074085524, z: -0.00008185208, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandPinky3 + parentName: mixamorig:LeftHandPinky2 + position: {x: 0.00000039764592, y: 0.02191761, z: 1.8967228e-10} + rotation: {x: 0.00000037554, y: -0.000013354061, z: -0.0001336783, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandPinky4 + parentName: mixamorig:LeftHandPinky3 + position: {x: -0.0000039928127, y: 0.01496411, z: 5.3802296e-11} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandIndex1 + parentName: mixamorig:LeftHand + position: {x: 0.0426827, y: 0.14757617, z: -0.0026543876} + rotation: {x: -0.005983371, y: -0.0052307337, z: -0.06576298, w: 0.9978036} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandIndex2 + parentName: mixamorig:LeftHandIndex1 + position: {x: -0.00037479895, y: 0.025152368, z: 1.1032398e-10} + rotation: {x: 0.0000002298885, y: -0.0002347239, z: 0.012466795, w: 0.9999223} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandIndex3 + parentName: mixamorig:LeftHandIndex2 + position: {x: 0.00021395169, y: 0.021343702, z: -0.0000000012643099} + rotation: {x: 0.0000013549914, y: 0.000105454266, z: 0.0011294597, w: 0.99999934} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandIndex4 + parentName: mixamorig:LeftHandIndex3 + position: {x: 0.00016084904, y: 0.013104765, z: -4.8952414e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightShoulder + parentName: mixamorig:Spine2 + position: {x: 0.05627136, y: 0.12453805, z: -0.0013364843} + rotation: {x: -0.5637246, y: -0.42263454, z: 0.57692146, w: -0.41322663} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightArm + parentName: mixamorig:RightShoulder + position: {x: -2.0679675e-10, y: 0.11855869, z: -0.0000000023862419} + rotation: {x: -0.15255603, y: 0.018377742, z: 0.008759042, w: 0.98808515} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightForeArm + parentName: mixamorig:RightArm + position: {x: 1.5161586e-10, y: 0.25172776, z: -4.1968064e-11} + rotation: {x: 0.00000024837527, y: -0.0017947791, z: 0.00000026597075, w: 0.9999984} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHand + parentName: mixamorig:RightForeArm + position: {x: -4.4312087e-10, y: 0.23821603, z: 2.8705073e-11} + rotation: {x: 0.00201045, y: 0.027728142, z: -0.059807364, w: 0.9978227} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandThumb1 + parentName: mixamorig:RightHand + position: {x: -0.031867024, y: 0.042970877, z: 0.0004985774} + rotation: {x: 0.06838445, y: 0.0047448035, z: 0.3133412, w: 0.94716334} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandThumb2 + parentName: mixamorig:RightHandThumb1 + position: {x: -0.008237218, y: 0.04199992, z: -9.5226084e-11} + rotation: {x: 0.0005043168, y: -0.0060040206, z: 0.10963374, w: 0.9939538} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandThumb3 + parentName: mixamorig:RightHandThumb2 + position: {x: 0.00088980293, y: 0.034154836, z: 6.4804595e-10} + rotation: {x: -0.0034071065, y: -0.018750848, z: 0.15307796, w: 0.9880303} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandThumb4 + parentName: mixamorig:RightHandThumb3 + position: {x: 0.0073474203, y: 0.02120875, z: 3.454602e-11} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandMiddle1 + parentName: mixamorig:RightHand + position: {x: -0.017197736, y: 0.14319305, z: -0.0010571833} + rotation: {x: -0.0034456828, y: -0.003937788, z: 0.06245899, w: 0.9980338} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandMiddle2 + parentName: mixamorig:RightHandMiddle1 + position: {x: 0.00015811044, y: 0.0290307, z: -6.353625e-10} + rotation: {x: 0.000000021474166, y: -0.00012234868, z: -0.006494064, w: 0.9999789} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandMiddle3 + parentName: mixamorig:RightHandMiddle2 + position: {x: -0.00022119134, y: 0.029287169, z: -9.484998e-10} + rotation: {x: -0.000000781233, y: 0.00018063723, z: 0.0054224245, w: 0.9999853} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandMiddle4 + parentName: mixamorig:RightHandMiddle3 + position: {x: 0.00006308041, y: 0.019096905, z: 1.4220092e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandPinky1 + parentName: mixamorig:RightHand + position: {x: 0.042810284, y: 0.13252231, z: -0.0030809247} + rotation: {x: -0.0030144064, y: -0.011389069, z: 0.062036645, w: 0.9980044} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandPinky2 + parentName: mixamorig:RightHandPinky1 + position: {x: 0.000114813745, y: 0.025284937, z: 2.8581582e-10} + rotation: {x: -0.000000019198891, y: 0.00008982352, z: -0.0031788382, w: 0.99999493} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandPinky3 + parentName: mixamorig:RightHandPinky2 + position: {x: -0.000039615617, y: 0.022106694, z: 9.2253455e-11} + rotation: {x: -0.0000013100239, y: 0.00039947793, z: -0.0019537795, w: 0.99999803} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandPinky4 + parentName: mixamorig:RightHandPinky3 + position: {x: -0.000075198324, y: 0.013118669, z: -2.827241e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandRing1 + parentName: mixamorig:RightHand + position: {x: 0.018439423, y: 0.13688676, z: -0.0017698009} + rotation: {x: -0.0032127087, y: -0.007639913, z: 0.05956646, w: 0.9981899} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandRing2 + parentName: mixamorig:RightHandRing1 + position: {x: -0.000010879616, y: 0.029169368, z: 4.1975026e-10} + rotation: {x: -0.00000021311716, y: -0.0000979938, z: -0.0007908199, w: 0.9999997} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandRing3 + parentName: mixamorig:RightHandRing2 + position: {x: -0.000057237696, y: 0.029098885, z: 5.8075245e-10} + rotation: {x: 0.00000030448743, y: -0.000047036792, z: 0.0028712759, w: 0.9999959} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandRing4 + parentName: mixamorig:RightHandRing3 + position: {x: 0.00006811891, y: 0.017972235, z: -2.1345158e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandIndex1 + parentName: mixamorig:RightHand + position: {x: -0.044051964, y: 0.14748067, z: -0.003923802} + rotation: {x: -0.00404914, y: 0.005711142, z: 0.05354379, w: 0.998541} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandIndex2 + parentName: mixamorig:RightHandIndex1 + position: {x: -0.00030557963, y: 0.024783518, z: -5.869879e-11} + rotation: {x: 0.0000009284384, y: -0.000054832937, z: 0.0015730581, w: 0.99999875} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandIndex3 + parentName: mixamorig:RightHandIndex2 + position: {x: -0.00020151494, y: 0.02195564, z: 7.599158e-10} + rotation: {x: -0.00006201124, y: -0.0035083368, z: 0.026877379, w: 0.9996326} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandIndex4 + parentName: mixamorig:RightHandIndex3 + position: {x: 0.00050709466, y: 0.011370485, z: 1.0938578e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftUpLeg + parentName: mixamorig:Hips + position: {x: -0.09169879, y: -0.05281555, z: 0.00049027917} + rotation: {x: -0.0026318866, y: 0.02374942, z: 0.9997114, w: 0.0024853235} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftLeg + parentName: mixamorig:LeftUpLeg + position: {x: 5.215199e-10, y: 0.40864632, z: -9.4358e-11} + rotation: {x: -0.07621944, y: -0.00035015313, z: 0.0046286318, w: 0.99708027} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftFoot + parentName: mixamorig:LeftLeg + position: {x: -1.2317534e-10, y: 0.4300853, z: 2.333634e-10} + rotation: {x: 0.503519, y: 0.09245082, z: -0.097411014, w: 0.8534826} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftToeBase + parentName: mixamorig:LeftFoot + position: {x: 9.437652e-10, y: 0.18938814, z: -0.000000002075019} + rotation: {x: 0.28069466, y: 0.081190795, z: -0.023837192, w: 0.9560599} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftToe_End + parentName: mixamorig:LeftToeBase + position: {x: 5.043128e-10, y: 0.07943429, z: 1.1642477e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightUpLeg + parentName: mixamorig:Hips + position: {x: 0.09169879, y: -0.05281555, z: 0.0013722514} + rotation: {x: 0.003098221, y: 0.023434322, z: 0.99971735, w: -0.0025369532} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightLeg + parentName: mixamorig:RightUpLeg + position: {x: -8.2321816e-10, y: 0.40865454, z: -3.0488873e-10} + rotation: {x: -0.07663222, y: 0.00035381492, z: -0.0045903544, w: 0.9970488} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightFoot + parentName: mixamorig:RightLeg + position: {x: 3.8003825e-10, y: 0.4301149, z: 0.0000000035799106} + rotation: {x: 0.5015963, y: -0.09356102, z: 0.09765699, w: 0.8544651} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightToeBase + parentName: mixamorig:RightFoot + position: {x: 2.6931704e-10, y: 0.18784122, z: 5.4001725e-10} + rotation: {x: 0.2830765, y: -0.08541726, z: 0.025320299, w: 0.9549505} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightToe_End + parentName: mixamorig:RightToeBase + position: {x: -4.60223e-10, y: 0.07759803, z: 1.3863516e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 0 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + remapMaterialsIfMaterialImportModeIsNone: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/idle_anim.fbx + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/walk_anim.fbx b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/walk_anim.fbx new file mode 100644 index 00000000..dced6d45 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/walk_anim.fbx differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/walk_anim.fbx.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/walk_anim.fbx.meta new file mode 100644 index 00000000..ead593a7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/walk_anim.fbx.meta @@ -0,0 +1,1502 @@ +fileFormatVersion: 2 +guid: ac0fae4017a07d24ebc5ed016660cec4 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: + - first: + 74: 1827226128182048838 + second: walk_anim + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 3 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: walk_anim + takeName: Take 001 + internalID: 0 + firstFrame: 1 + lastFrame: 24 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 1 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: + - boneName: mixamorig:Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftUpLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightUpLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftFoot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightFoot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:Spine1 + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftShoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightShoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftForeArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightForeArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftToeBase + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightToeBase + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandThumb1 + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandThumb2 + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandThumb3 + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandIndex1 + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandIndex2 + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandIndex3 + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandMiddle1 + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandMiddle2 + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandMiddle3 + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandRing1 + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandRing2 + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandRing3 + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandPinky1 + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandPinky2 + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:LeftHandPinky3 + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandThumb1 + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandThumb2 + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandThumb3 + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandIndex1 + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandIndex2 + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandIndex3 + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandMiddle1 + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandMiddle2 + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandMiddle3 + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandRing1 + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandRing2 + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandRing3 + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandPinky1 + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandPinky2 + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:RightHandPinky3 + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: mixamorig:Spine2 + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: FinalRig(Clone) + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: default1 + parentName: FinalRig(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Body + parentName: FinalRig(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Main_CTRL + parentName: FinalRig(Clone) + position: {x: -0, y: 3.9443044e-33, z: -0.00027503} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Pivot_CTRL + parentName: Main_CTRL + position: {x: 0.109045915, y: 0.5368517, z: 0.25085613} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Pivot_CTRL + parentName: Main_CTRL + position: {x: -0.109045915, y: 0.5368517, z: 0.25085613} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Foot_CTRL + parentName: Main_CTRL + position: {x: 0.14108574, y: 0.002956602, z: 0.12056563} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: HeelPivot + parentName: L_Foot_CTRL + position: {x: -0.04938631, y: 0.10619409, z: -0.14686094} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: TipToe + parentName: HeelPivot + position: {x: 0.07657834, y: -0.108160906, z: 0.21951202} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: ToeTap + parentName: TipToe + position: {x: -0.02719203, y: 0.0019668234, z: -0.07265108} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: ToeTipIK + parentName: ToeTap + position: {x: 0.02719203, y: -0.0019668234, z: 0.07265108} + rotation: {x: 0.1454849, y: 0.6898768, z: 0.7010758, w: -0.10675626} + scale: {x: 1, y: 1, z: 1} + - name: BallIK + parentName: ToeTap + position: {x: -0, y: -0.000000001490116, z: 0} + rotation: {x: 0.09179921, y: 0.45490497, z: 0.87991065, w: -0.10193952} + scale: {x: 1, y: 1, z: 1} + - name: HeelPeel + parentName: TipToe + position: {x: -0.02719203, y: 0.0019668234, z: -0.07265108} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: AnkleIK + parentName: HeelPeel + position: {x: -0.04938631, y: 0.10619409, z: -0.14686094} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Foot_CTRL + parentName: Main_CTRL + position: {x: -0.14109387, y: 0.0029466334, z: 0.1225356} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: HeelPivot 1 + parentName: R_Foot_CTRL + position: {x: 0.049394578, y: 0.10619576, z: -0.14883044} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: ToeTip + parentName: HeelPivot 1 + position: {x: -0.076596394, y: -0.10816388, z: 0.22343603} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: HeelPeel 1 + parentName: ToeTip + position: {x: 0.027201815, y: 0.0019681284, z: -0.074605584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: AnkleIK 1 + parentName: HeelPeel 1 + position: {x: 0.049394578, y: 0.106195755, z: -0.14883044} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: ToeTap 1 + parentName: ToeTip + position: {x: 0.027201815, y: 0.0019681284, z: -0.074605584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: BallIK 1 + parentName: ToeTap 1 + position: {x: -0, y: -0.000000011622905, z: 0.000000009536743} + rotation: {x: -0.09038536, y: 0.45756492, z: 0.87874675, w: 0.101335816} + scale: {x: 1, y: 1, z: 1} + - name: ToeTipIK 1 + parentName: ToeTap 1 + position: {x: -0.027201815, y: -0.0019681265, z: 0.07460561} + rotation: {x: -0.1402226, y: 0.690192, z: 0.7019444, w: 0.10605059} + scale: {x: 1, y: 1, z: 1} + - name: COG_CTRL + parentName: Main_CTRL + position: {x: 0.000002282218, y: 0.99784344, z: -0.0010874709} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Spine01_CTRL + parentName: COG_CTRL + position: {x: 0.000004112108, y: 0.09498146, z: -0.007847275} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Spine02_CTRL + parentName: Spine01_CTRL + position: {x: -0, y: 0.11081176, z: -0.009155173} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Spine03_CTRL + parentName: Spine02_CTRL + position: {x: -0, y: 0.12664177, z: -0.010463056} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck_CTRL + parentName: Spine03_CTRL + position: {x: -0, y: 0.14247237, z: -0.011770939} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Head_CTRL + parentName: Neck_CTRL + position: {x: -0, y: 0.046808317, z: 0.018574009} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Clavicle_CTRL + parentName: Spine03_CTRL + position: {x: -0.05627136, y: 0.1240052, z: -0.0119556375} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Shoulder_CTRL + parentName: R_Clavicle_CTRL + position: {x: -0.113021985, y: -0.035805896, z: -0.0003693392} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Elbow_CTRL + parentName: R_Shoulder_CTRL + position: {x: -0.25161242, y: -0.0000009155273, z: -0.000000114440915} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Wrist_CTRL + parentName: R_Elbow_CTRL + position: {x: -0.23817348, y: -0.0000010681152, z: -0.000000095367426} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger01_CTRL + parentName: R_Wrist_CTRL + position: {x: -0.12610717, y: -0.00037353515, z: -0.056748427} + rotation: {x: 0.49494496, y: -0.4950235, z: 0.50500834, w: 0.5049236} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger01_CTRL 1 + parentName: R_PinkyFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger02_CTRL + parentName: R_PinkyFinger01_CTRL 1 + position: {x: 0.0000035951307, y: 0.024415527, z: 7.835206e-10} + rotation: {x: -0.00000026150218, y: 0.0000074085524, z: -0.00008185207, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger02_CTRL 1 + parentName: R_PinkyFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger03_CTRL + parentName: R_PinkyFinger02_CTRL 1 + position: {x: 0.00000039764592, y: 0.02191761, z: 1.8967171e-10} + rotation: {x: 0.00000037554003, y: -0.000013354061, z: -0.0001336783, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PinkyFinger03_CTRL 1 + parentName: R_PinkyFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger01_CTRL + parentName: R_Wrist_CTRL + position: {x: -0.13169235, y: 0.0027935791, z: -0.03347579} + rotation: {x: 0.4956914, y: -0.49612454, z: 0.5042808, w: 0.50383663} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger01_CTRL 1 + parentName: R_RingFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger02_CTRL + parentName: R_RingFinger01_CTRL 1 + position: {x: 0.000026474892, y: 0.029628031, z: -0.000000001344857} + rotation: {x: 0.0000007271696, y: 0.00023899667, z: 0.003214013, w: 0.9999948} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger02_CTRL 1 + parentName: R_RingFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger03_CTRL + parentName: R_RingFinger02_CTRL 1 + position: {x: 0.00022717367, y: 0.03107114, z: 0.0000000010757247} + rotation: {x: -0.000001597134, y: 0.0005658495, z: -0.009964514, w: 0.99995023} + scale: {x: 1, y: 1, z: 1} + - name: R_RingFinger03_CTRL 1 + parentName: R_RingFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger01_CTRL + parentName: R_Wrist_CTRL + position: {x: -0.14502998, y: -0.00000015258789, z: 0.00000014781952} + rotation: {x: 0.49855652, y: -0.49543625, z: 0.50140405, w: 0.50455755} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger01_CTRL 1 + parentName: R_MidFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger02_CTRL + parentName: R_MidFinger01_CTRL 1 + position: {x: -0.00018762394, y: 0.029959748, z: -1.8618664e-10} + rotation: {x: 0.00000024115994, y: -0.00017697478, z: 0.004331165, w: 0.99999064} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger02_CTRL 1 + parentName: R_MidFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger03_CTRL + parentName: R_MidFinger02_CTRL 1 + position: {x: 0.00006793873, y: 0.028481588, z: 3.0706104e-10} + rotation: {x: 0.00000041159544, y: 0.00018339763, z: 0.0019356196, w: 0.99999815} + scale: {x: 1, y: 1, z: 1} + - name: R_MidFinger03_CTRL 1 + parentName: R_MidFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger01_CTRL + parentName: R_Wrist_CTRL + position: {x: -0.15156463, y: 0.00089599605, z: 0.02519818} + rotation: {x: 0.50676274, y: -0.4992615, z: 0.49323833, w: 0.50064504} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger01_CTRL 1 + parentName: R_PointFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger02_CTRL + parentName: R_PointFinger01_CTRL 1 + position: {x: -0.00037479895, y: 0.025152368, z: 1.10323695e-10} + rotation: {x: 0.0000002298883, y: -0.0002347239, z: 0.012466794, w: 0.9999223} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger02_CTRL 1 + parentName: R_PointFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger03_CTRL + parentName: R_PointFinger02_CTRL 1 + position: {x: 0.00021395169, y: 0.021343702, z: -0.0000000012643095} + rotation: {x: 0.0000013549912, y: 0.00010545427, z: 0.0011294597, w: 0.99999934} + scale: {x: 1, y: 1, z: 1} + - name: R_PointFinger03_CTRL 1 + parentName: R_PointFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb01_CTRL + parentName: R_Wrist_CTRL + position: {x: -0.0463031, y: -0.0009510803, z: 0.026426105} + rotation: {x: 0.70956, y: -0.32433066, z: 0.46614847, w: 0.4171809} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb01_CTRL 1 + parentName: R_Thumb01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb02_CTRL + parentName: R_Thumb01_CTRL 1 + position: {x: 0.0074117333, y: 0.042008694, z: -1.3236842e-10} + rotation: {x: 0.00022894167, y: 0.0037159107, z: -0.11293323, w: 0.9935956} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb02_CTRL 1 + parentName: R_Thumb02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb03_CTRL + parentName: R_Thumb02_CTRL 1 + position: {x: -0.0018263051, y: 0.03528147, z: 1.7305865e-10} + rotation: {x: 0.00037937157, y: -0.0025006598, z: -0.09870834, w: 0.9951132} + scale: {x: 1, y: 1, z: 1} + - name: R_Thumb03_CTRL 1 + parentName: R_Thumb03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Clavicle_CTRL + parentName: Spine03_CTRL + position: {x: 0.056258574, y: 0.1240052, z: -0.0119556375} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Shoulder_CTRL + parentName: L_Clavicle_CTRL + position: {x: 0.113021985, y: -0.035805896, z: -0.0003693392} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Elbow_CTRL + parentName: L_Shoulder_CTRL + position: {x: 0.25161242, y: -0.0000009155273, z: -0.000000114440915} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Wrist_CTRL + parentName: L_Elbow_CTRL + position: {x: 0.23817348, y: -0.0000010681152, z: -0.000000095367426} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb01_CTRL + parentName: L_Wrist_CTRL + position: {x: 0.04662979, y: -0.00090744015, z: 0.027622312} + rotation: {x: 0.7069577, y: 0.33172885, z: -0.46907547, w: 0.41247424} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb01_CTRL 1 + parentName: L_Thumb01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb02_CTRL + parentName: L_Thumb01_CTRL 1 + position: {x: -0.008237218, y: 0.04199992, z: -9.5225515e-11} + rotation: {x: 0.0005043168, y: -0.0060040206, z: 0.109633744, w: 0.9939538} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb02_CTRL 1 + parentName: L_Thumb02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb03_CTRL + parentName: L_Thumb02_CTRL 1 + position: {x: 0.00088980293, y: 0.034154836, z: 6.4804595e-10} + rotation: {x: -0.0034071063, y: -0.018750848, z: 0.15307796, w: 0.9880303} + scale: {x: 1, y: 1, z: 1} + - name: L_Thumb03_CTRL 1 + parentName: L_Thumb03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger01_CTRL + parentName: L_Wrist_CTRL + position: {x: 0.12666145, y: 0.0022940063, z: -0.057193078} + rotation: {x: 0.49611944, y: 0.49386272, z: -0.50381005, w: 0.50610334} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger01_CTRL 1 + parentName: L_PinkyFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger02_CTRL + parentName: L_PinkyFinger01_CTRL 1 + position: {x: 0.000114813745, y: 0.025284937, z: 2.8581637e-10} + rotation: {x: -0.00000001919891, y: 0.00008982352, z: -0.003178838, w: 0.99999493} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger02_CTRL 1 + parentName: L_PinkyFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger03_CTRL + parentName: L_PinkyFinger02_CTRL 1 + position: {x: -0.000039615617, y: 0.022106694, z: 9.225317e-11} + rotation: {x: -0.0000013100239, y: 0.00039947793, z: -0.0019537795, w: 0.99999803} + scale: {x: 1, y: 1, z: 1} + - name: L_PinkyFinger03_CTRL 1 + parentName: L_PinkyFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger01_CTRL + parentName: L_Wrist_CTRL + position: {x: 0.13389106, y: 0.00087142945, z: -0.03351998} + rotation: {x: 0.49679765, y: 0.49698094, z: -0.5031879, w: 0.502995} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger01_CTRL 1 + parentName: L_RingFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger02_CTRL + parentName: L_RingFinger01_CTRL 1 + position: {x: -0.000010879616, y: 0.029169368, z: 4.1975057e-10} + rotation: {x: -0.00000021311716, y: -0.00009799379, z: -0.0007908199, w: 0.9999997} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger02_CTRL 1 + parentName: L_RingFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger03_CTRL + parentName: L_RingFinger02_CTRL 1 + position: {x: -0.000057237696, y: 0.029098885, z: 5.8075184e-10} + rotation: {x: 0.00000030448743, y: -0.000047036792, z: 0.0028712759, w: 0.9999959} + scale: {x: 1, y: 1, z: 1} + - name: L_RingFinger03_CTRL 1 + parentName: L_RingFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger01_CTRL + parentName: L_Wrist_CTRL + position: {x: 0.14439636, y: -0.0000035095213, z: 0.0011088657} + rotation: {x: 0.5001045, y: 0.4973853, z: -0.49988568, w: 0.50261086} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger01_CTRL 1 + parentName: L_MidFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger02_CTRL + parentName: L_MidFinger01_CTRL 1 + position: {x: 0.00015811044, y: 0.0290307, z: -6.353619e-10} + rotation: {x: 0.0000000214742, y: -0.00012234868, z: -0.0064940634, w: 0.9999789} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger02_CTRL 1 + parentName: L_MidFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger03_CTRL + parentName: L_MidFinger02_CTRL 1 + position: {x: -0.00022119134, y: 0.029287169, z: -9.485009e-10} + rotation: {x: -0.00000078123304, y: 0.00018063723, z: 0.005422425, w: 0.9999853} + scale: {x: 1, y: 1, z: 1} + - name: L_MidFinger03_CTRL 1 + parentName: L_MidFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger01_CTRL + parentName: L_Wrist_CTRL + position: {x: 0.15187645, y: 0.0027438353, z: 0.027267056} + rotation: {x: 0.5004701, y: 0.506682, z: -0.49944487, w: 0.49331316} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger01_CTRL 1 + parentName: L_PointFinger01_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger02_CTRL + parentName: L_PointFinger01_CTRL 1 + position: {x: -0.00030557963, y: 0.024783518, z: -5.869907e-11} + rotation: {x: 0.00000092843845, y: -0.000054832937, z: 0.0015730581, w: 0.99999875} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger02_CTRL 1 + parentName: L_PointFinger02_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger03_CTRL + parentName: L_PointFinger02_CTRL 1 + position: {x: -0.00020151494, y: 0.02195564, z: 7.5991546e-10} + rotation: {x: -0.000062011226, y: -0.0035083368, z: 0.026877379, w: 0.9996326} + scale: {x: 1, y: 1, z: 1} + - name: L_PointFinger03_CTRL 1 + parentName: L_PointFinger03_CTRL + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmXML1 + parentName: FinalRig(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmOptions1 + parentName: tmXML1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmSliderVis1 + parentName: tmOptions1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonVis1 + parentName: tmOptions1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtons1 + parentName: tmOptions1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton1 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB1 + parentName: tmButton1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue1 + parentName: tmButton1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton2 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB2 + parentName: tmButton2 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue2 + parentName: tmButton2 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton3 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB3 + parentName: tmButton3 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue3 + parentName: tmButton3 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton4 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB4 + parentName: tmButton4 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue4 + parentName: tmButton4 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton5 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB5 + parentName: tmButton5 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue5 + parentName: tmButton5 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton6 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB6 + parentName: tmButton6 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue6 + parentName: tmButton6 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButton7 + parentName: tmButtons1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonRGB7 + parentName: tmButton7 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmButtonValue7 + parentName: tmButton7 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: tmGroups1 + parentName: tmXML1 + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Hips + parentName: FinalRig(Clone) + position: {x: 0.000002282218, y: 0.99784344, z: -0.001362501} + rotation: {x: 0.00000010437463, y: 0.0000006801116, z: -0.000021703088, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Spine + parentName: mixamorig:Hips + position: {x: -8.673617e-21, y: 0.09498146, z: -0.007847294} + rotation: {x: -0.041204393, y: -0.0000015737943, z: 0.000021656633, w: 0.99915075} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Spine1 + parentName: mixamorig:Spine + position: {x: -0, y: 0.11118931, z: -4.2962028e-10} + rotation: {x: -1.5919852e-18, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Spine2 + parentName: mixamorig:Spine1 + position: {x: -1.0842021e-21, y: 0.12707333, z: 4.5661355e-10} + rotation: {x: -6.938894e-18, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Neck + parentName: mixamorig:Spine2 + position: {x: -0, y: 0.14295766, z: 0.000000011889537} + rotation: {x: 0.041204356, y: -0, z: -0, w: 0.99915075} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:Head + parentName: mixamorig:Neck + position: {x: -0, y: 0.046808317, z: 0.018574009} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:HeadTop_End + parentName: mixamorig:Head + position: {x: -0, y: 0.29444748, z: 0.11683972} + rotation: {x: 6.938894e-18, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftShoulder + parentName: mixamorig:Spine2 + position: {x: -0.05627136, y: 0.12456847, z: -0.0017046168} + rotation: {x: 0.56171924, y: -0.42412627, z: 0.5786495, w: 0.41201115} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftArm + parentName: mixamorig:LeftShoulder + position: {x: 2.0747368e-10, y: 0.11855869, z: -0.0000000023861837} + rotation: {x: -0.15231623, y: -0.017366018, z: -0.012218182, w: 0.98810375} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftForeArm + parentName: mixamorig:LeftArm + position: {x: -0.0000000015569895, y: 0.25161245, z: 3.1516548e-10} + rotation: {x: 0.000000357173, y: 0.0017168343, z: -0.000000009884936, w: 0.99999857} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHand + parentName: mixamorig:LeftForeArm + position: {x: -1.5311932e-10, y: 0.23817348, z: -2.3395614e-11} + rotation: {x: 0.004043743, y: -0.028618189, z: 0.05849371, w: 0.9978693} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandRing1 + parentName: mixamorig:LeftHand + position: {x: -0.01791135, y: 0.13465632, z: -0.0042612464} + rotation: {x: -0.0051883007, y: 0.009013208, z: -0.057965282, w: 0.99826443} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandRing2 + parentName: mixamorig:LeftHandRing1 + position: {x: 0.000026474892, y: 0.029628031, z: -0.0000000013448572} + rotation: {x: 0.0000007230082, y: 0.00023899662, z: 0.0032140133, w: 0.9999948} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandRing3 + parentName: mixamorig:LeftHandRing2 + position: {x: 0.00022717367, y: 0.03107114, z: 0.0000000010757251} + rotation: {x: -0.0000015804901, y: 0.0005658493, z: -0.009964514, w: 0.99995023} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandRing4 + parentName: mixamorig:LeftHandRing3 + position: {x: -0.00025364844, y: 0.020119734, z: -3.9657094e-11} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandThumb1 + parentName: mixamorig:LeftHand + position: {x: 0.031642992, y: 0.042916033, z: 0.00039350108} + rotation: {x: 0.06722622, y: -0.003922607, z: -0.32090527, w: 0.9447143} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandThumb2 + parentName: mixamorig:LeftHandThumb1 + position: {x: 0.0074117333, y: 0.042008694, z: -1.3236785e-10} + rotation: {x: 0.00022893754, y: 0.0037159112, z: -0.11293323, w: 0.9935956} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandThumb3 + parentName: mixamorig:LeftHandThumb2 + position: {x: -0.0018263051, y: 0.03528147, z: 1.7305865e-10} + rotation: {x: 0.00037937157, y: -0.0025006598, z: -0.09870833, w: 0.9951132} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandThumb4 + parentName: mixamorig:LeftHandThumb3 + position: {x: -0.005585427, y: 0.021923477, z: 1.1297771e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandMiddle1 + parentName: mixamorig:LeftHand + position: {x: 0.016897164, y: 0.14403272, z: -0.0016564509} + rotation: {x: -0.0053400146, y: 0.0068316, z: -0.061523, w: 0.99806803} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandMiddle2 + parentName: mixamorig:LeftHandMiddle1 + position: {x: -0.00018762394, y: 0.029959748, z: -1.861872e-10} + rotation: {x: 0.0000002411599, y: -0.00017697478, z: 0.0043311655, w: 0.99999064} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandMiddle3 + parentName: mixamorig:LeftHandMiddle2 + position: {x: 0.00006793873, y: 0.028481588, z: 3.0706046e-10} + rotation: {x: 0.00000041159538, y: 0.0001833976, z: 0.0019356197, w: 0.99999815} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandMiddle4 + parentName: mixamorig:LeftHandMiddle3 + position: {x: 0.000119685166, y: 0.019173034, z: 5.4996235e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandPinky1 + parentName: mixamorig:LeftHand + position: {x: -0.041668516, y: 0.131857, z: -0.001005454} + rotation: {x: -0.0050840504, y: 0.01083912, z: -0.058331087, w: 0.9982255} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandPinky2 + parentName: mixamorig:LeftHandPinky1 + position: {x: 0.0000035951307, y: 0.024415527, z: 7.835194e-10} + rotation: {x: -0.0000002615022, y: 0.0000074085524, z: -0.00008185208, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandPinky3 + parentName: mixamorig:LeftHandPinky2 + position: {x: 0.00000039764592, y: 0.02191761, z: 1.8967228e-10} + rotation: {x: 0.00000037554, y: -0.000013354061, z: -0.0001336783, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandPinky4 + parentName: mixamorig:LeftHandPinky3 + position: {x: -0.0000039928127, y: 0.01496411, z: 5.3802296e-11} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandIndex1 + parentName: mixamorig:LeftHand + position: {x: 0.0426827, y: 0.14757617, z: -0.0026543876} + rotation: {x: -0.005983371, y: -0.0052307337, z: -0.06576298, w: 0.9978036} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandIndex2 + parentName: mixamorig:LeftHandIndex1 + position: {x: -0.00037479895, y: 0.025152368, z: 1.1032398e-10} + rotation: {x: 0.0000002298885, y: -0.0002347239, z: 0.012466795, w: 0.9999223} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandIndex3 + parentName: mixamorig:LeftHandIndex2 + position: {x: 0.00021395169, y: 0.021343702, z: -0.0000000012643099} + rotation: {x: 0.0000013549914, y: 0.000105454266, z: 0.0011294597, w: 0.99999934} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftHandIndex4 + parentName: mixamorig:LeftHandIndex3 + position: {x: 0.00016084904, y: 0.013104765, z: -4.8952414e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightShoulder + parentName: mixamorig:Spine2 + position: {x: 0.05627136, y: 0.12453805, z: -0.0013364843} + rotation: {x: -0.5637246, y: -0.42263454, z: 0.57692146, w: -0.41322663} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightArm + parentName: mixamorig:RightShoulder + position: {x: -2.0679675e-10, y: 0.11855869, z: -0.0000000023862419} + rotation: {x: -0.15255603, y: 0.018377742, z: 0.008759042, w: 0.98808515} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightForeArm + parentName: mixamorig:RightArm + position: {x: 1.5161586e-10, y: 0.25172776, z: -4.1968064e-11} + rotation: {x: 0.00000024837527, y: -0.0017947791, z: 0.00000026597075, w: 0.9999984} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHand + parentName: mixamorig:RightForeArm + position: {x: -4.4312087e-10, y: 0.23821603, z: 2.8705073e-11} + rotation: {x: 0.00201045, y: 0.027728142, z: -0.059807364, w: 0.9978227} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandThumb1 + parentName: mixamorig:RightHand + position: {x: -0.031867024, y: 0.042970877, z: 0.0004985774} + rotation: {x: 0.06838445, y: 0.0047448035, z: 0.3133412, w: 0.94716334} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandThumb2 + parentName: mixamorig:RightHandThumb1 + position: {x: -0.008237218, y: 0.04199992, z: -9.5226084e-11} + rotation: {x: 0.0005043168, y: -0.0060040206, z: 0.10963374, w: 0.9939538} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandThumb3 + parentName: mixamorig:RightHandThumb2 + position: {x: 0.00088980293, y: 0.034154836, z: 6.4804595e-10} + rotation: {x: -0.0034071065, y: -0.018750848, z: 0.15307796, w: 0.9880303} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandThumb4 + parentName: mixamorig:RightHandThumb3 + position: {x: 0.0073474203, y: 0.02120875, z: 3.454602e-11} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandMiddle1 + parentName: mixamorig:RightHand + position: {x: -0.017197736, y: 0.14319305, z: -0.0010571833} + rotation: {x: -0.0034456828, y: -0.003937788, z: 0.06245899, w: 0.9980338} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandMiddle2 + parentName: mixamorig:RightHandMiddle1 + position: {x: 0.00015811044, y: 0.0290307, z: -6.353625e-10} + rotation: {x: 0.000000021474166, y: -0.00012234868, z: -0.006494064, w: 0.9999789} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandMiddle3 + parentName: mixamorig:RightHandMiddle2 + position: {x: -0.00022119134, y: 0.029287169, z: -9.484998e-10} + rotation: {x: -0.000000781233, y: 0.00018063723, z: 0.0054224245, w: 0.9999853} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandMiddle4 + parentName: mixamorig:RightHandMiddle3 + position: {x: 0.00006308041, y: 0.019096905, z: 1.4220092e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandPinky1 + parentName: mixamorig:RightHand + position: {x: 0.042810284, y: 0.13252231, z: -0.0030809247} + rotation: {x: -0.0030144064, y: -0.011389069, z: 0.062036645, w: 0.9980044} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandPinky2 + parentName: mixamorig:RightHandPinky1 + position: {x: 0.000114813745, y: 0.025284937, z: 2.8581582e-10} + rotation: {x: -0.000000019198891, y: 0.00008982352, z: -0.0031788382, w: 0.99999493} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandPinky3 + parentName: mixamorig:RightHandPinky2 + position: {x: -0.000039615617, y: 0.022106694, z: 9.2253455e-11} + rotation: {x: -0.0000013100239, y: 0.00039947793, z: -0.0019537795, w: 0.99999803} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandPinky4 + parentName: mixamorig:RightHandPinky3 + position: {x: -0.000075198324, y: 0.013118669, z: -2.827241e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandRing1 + parentName: mixamorig:RightHand + position: {x: 0.018439423, y: 0.13688676, z: -0.0017698009} + rotation: {x: -0.0032127087, y: -0.007639913, z: 0.05956646, w: 0.9981899} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandRing2 + parentName: mixamorig:RightHandRing1 + position: {x: -0.000010879616, y: 0.029169368, z: 4.1975026e-10} + rotation: {x: -0.00000021311716, y: -0.0000979938, z: -0.0007908199, w: 0.9999997} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandRing3 + parentName: mixamorig:RightHandRing2 + position: {x: -0.000057237696, y: 0.029098885, z: 5.8075245e-10} + rotation: {x: 0.00000030448743, y: -0.000047036792, z: 0.0028712759, w: 0.9999959} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandRing4 + parentName: mixamorig:RightHandRing3 + position: {x: 0.00006811891, y: 0.017972235, z: -2.1345158e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandIndex1 + parentName: mixamorig:RightHand + position: {x: -0.044051964, y: 0.14748067, z: -0.003923802} + rotation: {x: -0.00404914, y: 0.005711142, z: 0.05354379, w: 0.998541} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandIndex2 + parentName: mixamorig:RightHandIndex1 + position: {x: -0.00030557963, y: 0.024783518, z: -5.869879e-11} + rotation: {x: 0.0000009284384, y: -0.000054832937, z: 0.0015730581, w: 0.99999875} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandIndex3 + parentName: mixamorig:RightHandIndex2 + position: {x: -0.00020151494, y: 0.02195564, z: 7.599158e-10} + rotation: {x: -0.00006201124, y: -0.0035083368, z: 0.026877379, w: 0.9996326} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightHandIndex4 + parentName: mixamorig:RightHandIndex3 + position: {x: 0.00050709466, y: 0.011370485, z: 1.0938578e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftUpLeg + parentName: mixamorig:Hips + position: {x: -0.09169879, y: -0.05281555, z: 0.00049027917} + rotation: {x: -0.0026318866, y: 0.02374942, z: 0.9997114, w: 0.0024853235} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftLeg + parentName: mixamorig:LeftUpLeg + position: {x: 5.215199e-10, y: 0.40864632, z: -9.4358e-11} + rotation: {x: -0.07621944, y: -0.00035015313, z: 0.0046286318, w: 0.99708027} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftFoot + parentName: mixamorig:LeftLeg + position: {x: -1.2317534e-10, y: 0.4300853, z: 2.333634e-10} + rotation: {x: 0.503519, y: 0.09245082, z: -0.097411014, w: 0.8534826} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftToeBase + parentName: mixamorig:LeftFoot + position: {x: 9.437652e-10, y: 0.18938814, z: -0.000000002075019} + rotation: {x: 0.28069466, y: 0.081190795, z: -0.023837192, w: 0.9560599} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:LeftToe_End + parentName: mixamorig:LeftToeBase + position: {x: 5.043128e-10, y: 0.07943429, z: 1.1642477e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightUpLeg + parentName: mixamorig:Hips + position: {x: 0.09169879, y: -0.05281555, z: 0.0013722514} + rotation: {x: 0.003098221, y: 0.023434322, z: 0.99971735, w: -0.0025369532} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightLeg + parentName: mixamorig:RightUpLeg + position: {x: -8.2321816e-10, y: 0.40865454, z: -3.0488873e-10} + rotation: {x: -0.07663222, y: 0.00035381492, z: -0.0045903544, w: 0.9970488} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightFoot + parentName: mixamorig:RightLeg + position: {x: 3.8003825e-10, y: 0.4301149, z: 0.0000000035799106} + rotation: {x: 0.5015963, y: -0.09356102, z: 0.09765699, w: 0.8544651} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightToeBase + parentName: mixamorig:RightFoot + position: {x: 2.6931704e-10, y: 0.18784122, z: 5.4001725e-10} + rotation: {x: 0.2830765, y: -0.08541726, z: 0.025320299, w: 0.9549505} + scale: {x: 1, y: 1, z: 1} + - name: mixamorig:RightToe_End + parentName: mixamorig:RightToeBase + position: {x: -4.60223e-10, y: 0.07759803, z: 1.3863516e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 1c6331dd8f87a894ea2092cc36790992, + type: 3} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 0 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + remapMaterialsIfMaterialImportModeIsNone: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Models/walk_anim.fbx + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Scripts.meta new file mode 100644 index 00000000..fbe46d86 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de37055fb73c6514ea4318ba420a93e0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Scripts/AvatarLoader.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Scripts/AvatarLoader.cs new file mode 100644 index 00000000..b00386ed --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Scripts/AvatarLoader.cs @@ -0,0 +1,509 @@ +#pragma warning disable 649 +using System; +using TriLibCore.Extensions; +using TriLibCore.General; +using TriLibCore.Mappers; +using TriLibCore.Utils; +using UnityEngine; +using UnityEngine.Networking; +using UnityEngine.UI; + +namespace TriLibCore.Samples +{ + /// + /// Demonstrates how to load and control a custom humanoid avatar using TriLib. + /// This class extends to handle user input, + /// integrate TriLib’s file-loading and network-loading features, + /// and manage avatar loading and scaling in conjunction with . + /// + public class AvatarLoader : AbstractInputSystem + { + /// + /// A static instance of this class, allowing simple global access. + /// Set in , ensuring there is only one active . + /// + public static AvatarLoader Instance { get; private set; } + + /// + /// A representing a loading bar that displays + /// model or skybox loading progress (used on platforms supporting asynchronous loading). + /// + [SerializeField] + private RectTransform _loadingBar; + + /// + /// A that wraps help information or a help overlay in the UI. + /// + [SerializeField] + private GameObject _helpWrapper; + + /// + /// A wrapper to indicate loading progress + /// (used on platforms that do not fully support asynchronous loading). + /// + [SerializeField] + private GameObject _loadingWrapper; + + /// + /// A representing a dialog for entering a model URL to load. + /// + [SerializeField] + private GameObject _modelUrlDialog; + + /// + /// An in which the user can type or paste a model URL. + /// + [SerializeField] + private InputField _modelUrl; + + /// + /// A controlling animation playback. + /// Displays or manipulates the normalized time of the current animation. + /// + [SerializeField] + public Slider PlaybackSlider; + + /// + /// A used to display the current time or frame within the played animation. + /// + [SerializeField] + public Text PlaybackTime; + + /// + /// A used to select different animations for playback. + /// + [SerializeField] + public Dropdown PlaybackAnimation; + + /// + /// A (e.g., a button) that triggers animation playback. + /// + [SerializeField] + public Selectable Play; + + /// + /// A (e.g., a button) that stops the current animation. + /// + [SerializeField] + public Selectable Stop; + + /// + /// A used to visually hide or wrap the loaded model during loading. + /// Passed to TriLib’s load methods if desired. + /// + [SerializeField] + private GameObject _wrapper; + + /// + /// A TriLib that defines how the + /// avatar’s bones map to Unity’s humanoid rig. + /// + [SerializeField] + private HumanoidAvatarMapper _humanoidAvatarMapper; + + /// + /// The TriLib loader options used for model loading in this sample. + /// These options can be preconfigured to support humanoid animation + /// or other specialized settings. + /// + public AssetLoaderOptions AssetLoaderOptions; + + /// + /// Holds the current camera pitch (Y-axis rotation) and yaw (X-axis rotation), + /// allowing the camera to orbit around the loaded model. + /// + public Vector2 CameraAngle; + + /// + /// A reference to the loaded avatar’s root . + /// This is set once meshes and hierarchy are loaded, and can be destroyed or replaced + /// when the user loads a new model. + /// + public GameObject RootGameObject { get; set; } + + /// + /// A ratio that scales mouse input. Larger values make camera movement + /// more sensitive to mouse movement. + /// + public const float InputMultiplierRatio = 0.1f; + + /// + /// The maximum pitch angle (rotation around the local X-axis) to prevent + /// flipping the camera. + /// + public const float MaxPitch = 80f; + + /// + /// The created for this viewer, + /// enabling file or directory selection for model loading. + /// + public AssetLoaderFilePicker FilePickerAssetLoader; + + /// + /// Tracks the peak memory usage (in bytes) observed during model loading. + /// + public long PeakMemory; + +#if TRILIB_SHOW_MEMORY_USAGE + /// + /// Tracks the peak managed memory usage (in bytes) observed during model loading + /// (only available if TRILIB_SHOW_MEMORY_USAGE is defined). + /// + public long PeakManagedMemory; +#endif + + /// + /// Indicates whether a model is currently being loaded. + /// + private bool _loading; + + /// + /// Loads an avatar from a file, using the internal wrapper object. + /// This method delegates the actual file loading operation to LoadModelFromFile. + /// + public void LoadAvatarFromFile() + { + LoadModelFromFile(_wrapper); + } + + /// + /// Called by Unity when the script instance is first enabled. Sets up singletons, + /// configures default for humanoid avatars, + /// and adjusts the scale of any already-loaded avatar. + /// + public void Start() + { + // Ensure singletons are properly initialized for TriLib’s infrastructure + Dispatcher.CheckInstance(); + PasteManager.CheckInstance(); + + // Set the global instance of AvatarLoader + Instance = this; + + // If no loader options have been set, configure a default set + if (AssetLoaderOptions == null) + { + AssetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + AssetLoaderOptions.AnimationType = AnimationType.Humanoid; + AssetLoaderOptions.HumanoidAvatarMapper = _humanoidAvatarMapper; + } + + // If there is an existing avatar in the scene (e.g., from a previous load), + // scale it to fit the character controller + if (AvatarController.Instance?.InnerAvatar != null) + { + var bounds = AvatarController.Instance.InnerAvatar.CalculateBounds(); + var factor = AvatarController.Instance.CharacterController.height / bounds.size.y; + AvatarController.Instance.InnerAvatar.transform.localScale = factor * Vector3.one; + } + } + + /// + /// Checks each frame for mouse input to lock or unlock the cursor, + /// and updates the camera view if the cursor is locked. + /// + private void Update() + { + // Toggle cursor lock state on right mouse button click + if (GetMouseButtonDown(1)) + { + Cursor.lockState = + (Cursor.lockState == CursorLockMode.None) + ? CursorLockMode.Locked + : CursorLockMode.None; + } + + // Only rotate the camera if the mouse is locked + if (Cursor.lockState == CursorLockMode.Locked) + { + UpdateCamera(); + } + } + + /// + /// Updates the camera angles (pitch and yaw) based on mouse input, + /// applying to control sensitivity + /// and limiting pitch to avoid flipping the camera. + /// + public void UpdateCamera() + { + CameraAngle.x = Mathf.Repeat(CameraAngle.x + GetAxis("Mouse X") * InputMultiplierRatio, 360f); + CameraAngle.y = Mathf.Clamp(CameraAngle.y + GetAxis("Mouse Y") * InputMultiplierRatio, -MaxPitch, MaxPitch); + } + + /// + /// Displays a help overlay or panel in the UI. + /// + public void ShowHelp() + { + _helpWrapper.SetActive(true); + } + + /// + /// Hides the help overlay or panel in the UI. + /// + public void HideHelp() + { + _helpWrapper.SetActive(false); + } + + /// + /// Displays a file picker dialog so the user can select a local model file + /// (e.g., FBX, OBJ) to load. If a is provided, + /// TriLib will place the loaded model under that object’s hierarchy. + /// + /// An optional object to serve as the loaded model’s parent. + /// An optional callback to override . + public void LoadModelFromFile(GameObject wrapperGameObject = null, Action onMaterialsLoad = null) + { + SetLoading(false); + FilePickerAssetLoader = AssetLoaderFilePicker.Create(); + FilePickerAssetLoader.LoadModelFromFilePickerAsync( + "Select a File", + OnLoad, + onMaterialsLoad ?? OnMaterialsLoad, + OnProgress, + OnBeginLoadModel, + OnError, + wrapperGameObject ? wrapperGameObject : gameObject, + AssetLoaderOptions + ); + } + + /// + /// Displays a directory picker dialog so the user can select a folder containing + /// model files to load. Optionally sets the loaded model’s parent to . + /// + /// An optional object to serve as the loaded model’s parent. + /// An optional callback to override . + public void LoadModelFromDirectory(GameObject wrapperGameObject = null, Action onMaterialsLoad = null) + { + SetLoading(false); + FilePickerAssetLoader = AssetLoaderFilePicker.Create(); + FilePickerAssetLoader.LoadModelFromDirectoryPickerAsync( + "Select a Directory", + OnLoad, + onMaterialsLoad ?? OnMaterialsLoad, + OnProgress, + OnBeginLoadModel, + OnError, + wrapperGameObject ? wrapperGameObject : gameObject, + AssetLoaderOptions, + true + ); + } + + /// + /// Displays the URL loading dialog, focusing the input field + /// so the user can paste or type a model URL. + /// + public void ShowModelUrlDialog() + { + _modelUrlDialog.SetActive(true); + _modelUrl.Select(); + _modelUrl.ActivateInputField(); + } + + /// + /// Hides the URL loading dialog, clearing any typed model URL. + /// + public void HideModelUrlDialog() + { + _modelUrlDialog.SetActive(false); + _modelUrl.text = null; + } + + /// + /// Loads a model from the URL specified in the URL dialog’s input field. + /// Closes the dialog once loading begins. + /// + public void LoadModelFromURLWithDialogValues() + { + if (string.IsNullOrWhiteSpace(_modelUrl.text)) + { + return; + } + var trimmedUrl = _modelUrl.text.Trim(); + var request = AssetDownloader.CreateWebRequest(trimmedUrl); + + // Attempt to derive the file extension from the final segment of the URL + var fileExtension = FileUtils.GetFileExtension(request.uri.Segments[request.uri.Segments.Length - 1], false); + try + { + LoadModelFromURL(request, fileExtension); + } + catch (Exception e) + { + HideModelUrlDialog(); + OnError(new ContextualizedError(e, null)); + } + } + + /// + /// Loads a model from a custom and file extension, + /// potentially handling zip archives if indicates so. + /// + /// A pointing to a model file. + /// The file extension (e.g., fbx, zip). + /// An optional object to serve as the loaded model’s parent. + /// Optional user data to pass along with the load process. + /// Optional callback for completion logic after textures/materials load. + /// Thrown if cannot be determined. + public void LoadModelFromURL( + UnityWebRequest request, + string fileExtension, + GameObject wrapperGameObject = null, + object customData = null, + Action onMaterialsLoad = null) + { + if (string.IsNullOrWhiteSpace(fileExtension)) + { + throw new Exception("TriLib could not determine the given model extension."); + } + HideModelUrlDialog(); + SetLoading(true); + OnBeginLoadModel(true); + + fileExtension = fileExtension.ToLowerInvariant(); + var isZipFile = (fileExtension == "zip" || fileExtension == ".zip"); + + AssetDownloader.LoadModelFromUri( + unityWebRequest: request, + onLoad: OnLoad, + onMaterialsLoad: onMaterialsLoad ?? OnMaterialsLoad, + onProgress: OnProgress, + onError: OnError, + wrapperGameObject: wrapperGameObject, + assetLoaderOptions: AssetLoaderOptions, + customContextData: customData, + fileExtension: isZipFile ? null : fileExtension, + isZipFile: isZipFile + ); + } + + /// + /// Invoked when the user selects a file or directory in the picker, + /// or cancels the selection. Resets the scene if a file was chosen. + /// + /// + /// True if the user selected a file/directory; false if the user canceled. + /// + public void OnBeginLoadModel(bool hasFiles) + { + if (hasFiles) + { + Resources.UnloadUnusedAssets(); + + // Destroy any existing loaded model + if (RootGameObject != null) + { + Destroy(RootGameObject); + } + SetLoading(true); + } + } + + /// + /// Invoked to report model loading progress, receiving a value [0..1]. + /// Updates the UI loading bar’s width to reflect current progress. + /// + /// Provides info about the current load process. + /// A float from 0.0 to 1.0 indicating loading progress. + public void OnProgress(AssetLoaderContext assetLoaderContext, float value) + { + _loadingBar.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, Screen.width * value); + } + + /// + /// Invoked if any error occurs while loading the model. Logs the error, + /// clears the reference to the loaded model, and disables the loading UI. + /// + /// + /// An object containing exception details and any relevant load context. + /// + public void OnError(IContextualizedError contextualizedError) + { + Debug.LogError(contextualizedError); + RootGameObject = null; + SetLoading(false); + } + + /// + /// Invoked once the model’s meshes and hierarchy have been loaded, + /// but before textures and materials are processed. Resets memory usage counters + /// in this sample. Specific logic (e.g., camera fitting) may be placed here. + /// + /// Contains references and data about the loaded model. + public void OnLoad(AssetLoaderContext assetLoaderContext) + { + PeakMemory = 0; +#if TRILIB_SHOW_MEMORY_USAGE + PeakManagedMemory = 0; +#endif + } + + /// + /// Invoked after textures and materials are loaded, indicating the model is fully ready. + /// Disables the loading screen and, if needed, integrates the newly loaded model with + /// the . + /// + /// + /// The with references to the loaded . + /// + public void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + // Model is fully loaded, so disable any loading UI + SetLoading(false); + + // If a new avatar was successfully loaded, integrate with the AvatarController + if (assetLoaderContext.RootGameObject != null) + { + var existingInnerAvatar = AvatarController.Instance.InnerAvatar; + if (existingInnerAvatar != null) + { + Destroy(existingInnerAvatar); + } + + // Preserve the current animator controller to maintain existing animations + var controller = AvatarController.Instance.Animator.runtimeAnimatorController; + + // Scale the loaded model to match the character controller + var bounds = assetLoaderContext.RootGameObject.CalculateBounds(); + var factor = AvatarController.Instance.CharacterController.height / bounds.size.y; + assetLoaderContext.RootGameObject.transform.localScale = factor * Vector3.one; + + // Assign the loaded model as the new avatar + AvatarController.Instance.InnerAvatar = assetLoaderContext.RootGameObject; + assetLoaderContext.RootGameObject.transform.SetParent( + AvatarController.Instance.transform, + worldPositionStays: false + ); + + // Update the AvatarController’s animator with the loaded model’s animator + AvatarController.Instance.Animator = assetLoaderContext.RootGameObject.GetComponent(); + AvatarController.Instance.Animator.runtimeAnimatorController = controller; + } + } + + /// + /// Enables or disables the loading state. Disabling the loading state re-enables + /// all UI elements and hides the loading wrapper/indicator. + /// + /// True if loading is active, false otherwise. + public void SetLoading(bool value) + { +#if UNITY_2023_3_OR_NEWER + var selectables = FindObjectsByType(FindObjectsSortMode.None); +#else + var selectables = FindObjectsOfType(); +#endif + for (var i = 0; i < selectables.Length; i++) + { + selectables[i].interactable = !value; + } + _loadingWrapper.gameObject.SetActive(value); + _loadingBar.gameObject.SetActive(value); + _loading = value; + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Scripts/AvatarLoader.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Scripts/AvatarLoader.cs.meta new file mode 100644 index 00000000..953bf7f8 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Scripts/AvatarLoader.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c84e2bed3e0d8fa438afe90ef0c5ce20 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Scripts/AvatarLoader.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Textures.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Textures.meta new file mode 100644 index 00000000..05463204 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd56edcb3938f884d9baeed70eadd92e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Textures/Ground.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Textures/Ground.png new file mode 100644 index 00000000..a0b9b821 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Textures/Ground.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Textures/Ground.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Textures/Ground.png.meta new file mode 100644 index 00000000..0d4cd960 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Textures/Ground.png.meta @@ -0,0 +1,98 @@ +fileFormatVersion: 2 +guid: bff6a10d13181474596f631bfc84c95b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Textures/Ground.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Utils.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Utils.meta new file mode 100644 index 00000000..7aca09c0 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Utils.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c0cf94810d6894641b7a48164c6c99dc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Utils/AvatarController.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Utils/AvatarController.cs new file mode 100644 index 00000000..68d1e1d1 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Utils/AvatarController.cs @@ -0,0 +1,147 @@ +using UnityEngine; + +namespace TriLibCore.Samples +{ + /// + /// Manages avatar movement and camera positioning in TriLib samples. + /// This class extends to handle user input, + /// allowing the character to move and rotate smoothly, as well as updating the + /// camera’s position and orientation relative to the avatar. + /// + public class AvatarController : AbstractInputSystem + { + /// + /// A singleton reference to the active in the scene. + /// Set in to ensure only one active instance is present. + /// + public static AvatarController Instance { get; private set; } + + /// + /// Maximum movement speed (in Unity units per second) that the avatar can reach. + /// + private const float MaxSpeed = 2f; + + /// + /// Avatar acceleration (in Unity units per second) applied each frame + /// when the user provides movement input. + /// + private const float Acceleration = 5f; + + /// + /// Rate at which the avatar slows down (in Unity units per second) + /// when there is no user input (applies friction to movement). + /// + private const float Friction = 2f; + + /// + /// The rotation speed factor used to smoothly rotate the avatar toward the movement direction. + /// + private const float RotationSpeed = 60f; + + /// + /// The responsible for handling collisions + /// and movement for the avatar. + /// + public CharacterController CharacterController; + + /// + /// The that handles animation playback and blending for this avatar. + /// + public Animator Animator; + + /// + /// The root representing the loaded avatar model. + /// This can be replaced at runtime if a new avatar is loaded. + /// + public GameObject InnerAvatar; + + /// + /// The camera’s offset from the avatar’s position, used to maintain a consistent view. + /// Calculated during and updated in to reflect rotation. + /// + private Vector3 _cameraOffset; + + /// + /// The avatar’s current movement speed, dynamically updated each frame + /// based on , , and user input. + /// + private float _speed; + + /// + /// A vertical offset to position the camera at the avatar’s head level, + /// derived from the 's height. + /// + private Vector3 _cameraHeightOffset; + + /// + /// Tracks the instantaneous velocity for smooth avatar rotation + /// in Mathf.SmoothDampAngle. + /// + private float _currentVelocity; + + /// + /// Initializes the singleton instance and calculates the camera offsets + /// based on the avatar’s height. Called automatically when the script instance awakens. + /// + private void Awake() + { + Instance = this; + + // Determine where the camera should pivot from the avatar’s head level + _cameraHeightOffset = new Vector3(0f, CharacterController.height * 0.8f, 0f); + + // Store the initial offset between the camera and the avatar + _cameraOffset = Camera.main.transform.position - transform.position; + } + + /// + /// Handles user input and updates the avatar’s position, rotation, speed, and animator parameters. + /// Also updates the camera position and orientation to stay behind the avatar. + /// + private void Update() + { + // Gather input along the horizontal and vertical axes + var input = new Vector3(GetAxis("Horizontal"), 0f, GetAxis("Vertical")); + + // Transform input according to the camera’s orientation, ignoring vertical component + var direction = Camera.main.transform.TransformDirection(input); + direction.y = 0f; + direction.Normalize(); + + // Determine the avatar’s target orientation based on input direction + var targetEulerAngles = direction.magnitude > 0 + ? Quaternion.LookRotation(direction).eulerAngles + : transform.rotation.eulerAngles; + + // Smoothly rotate the avatar toward the movement direction + var eulerAngles = transform.rotation.eulerAngles; + eulerAngles.y = Mathf.SmoothDampAngle( + eulerAngles.y, + targetEulerAngles.y, + ref _currentVelocity, + Time.deltaTime * RotationSpeed * input.magnitude + ); + transform.rotation = Quaternion.Euler(eulerAngles); + + // Update speed based on acceleration or friction + _speed += input.magnitude * (Acceleration * MaxSpeed) * Time.deltaTime; + _speed -= Friction * MaxSpeed * Time.deltaTime; + _speed = Mathf.Clamp(_speed, 0f, MaxSpeed); + + // Move the avatar using the CharacterController + CharacterController.SimpleMove(transform.forward * _speed); + + // Update the animator with the normalized speed + Animator.SetFloat("SpeedFactor", _speed / MaxSpeed); + + // Adjust the camera based on the user’s camera angle (from AssetViewerBase) and stored offsets + var pivotedPosition = + Quaternion.AngleAxis(AvatarLoader.Instance.CameraAngle.x, Vector3.up) * + Quaternion.AngleAxis(-AvatarLoader.Instance.CameraAngle.y, Vector3.right) * + _cameraOffset; + + Camera.main.transform.position = transform.position + _cameraHeightOffset + pivotedPosition; + Camera.main.transform.LookAt(transform.position + _cameraHeightOffset); + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Utils/AvatarController.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Utils/AvatarController.cs.meta new file mode 100644 index 00000000..64dcd227 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Utils/AvatarController.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 77333d5529035164e97bdb4002f8cb42 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/AvatarLoader/Utils/AvatarController.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common.meta new file mode 100644 index 00000000..b5a06df9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c68a42c2116e8f468d4b45e59ac031f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips.meta new file mode 100644 index 00000000..28fe5042 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 415c983d4aafa8e42a933db973eeecca +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Fountain.controller b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Fountain.controller new file mode 100644 index 00000000..2b2ff7b7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Fountain.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-7829302162320656841 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Loading + m_Speed: 0.25 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: fb1dd5e7dbb48f143aca371ad7a1e734, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Fountain + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 4960643167396662030} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1107 &4960643167396662030 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -7829302162320656841} + m_Position: {x: 200, y: 0, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -7829302162320656841} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Fountain.controller.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Fountain.controller.meta new file mode 100644 index 00000000..7d9a4600 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Fountain.controller.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: eef4bd362654b3443af45e9c08a34449 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Fountain.controller + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Loading.anim b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Loading.anim new file mode 100644 index 00000000..8ed04013 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Loading.anim @@ -0,0 +1,117 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Loading + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 7772053563467876060, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.016666668 + value: {fileID: 6017166387113642881, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.033333335 + value: {fileID: -5071872562740070876, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.05 + value: {fileID: -4383350608448915041, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.06666667 + value: {fileID: 2634342455120194285, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.083333336 + value: {fileID: -4886976709754540747, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.1 + value: {fileID: -358793270051623357, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.11666667 + value: {fileID: -50040848573205984, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.13333334 + value: {fileID: 5949854845560439217, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.15 + value: {fileID: 4991410084122895198, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.16666667 + value: {fileID: -2491455825086601521, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.18333334 + value: {fileID: 7611300543990857162, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + - time: 0.2 + value: {fileID: 7501209102900455622, guid: ab9d915143ee8e243b165a0ff258be0a, + type: 3} + attribute: m_Sprite + path: + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 2015549526 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 7772053563467876060, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: 6017166387113642881, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: -5071872562740070876, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: -4383350608448915041, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: 2634342455120194285, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: -4886976709754540747, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: -358793270051623357, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: -50040848573205984, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: 5949854845560439217, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: 4991410084122895198, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: -2491455825086601521, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: 7611300543990857162, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + - {fileID: 7501209102900455622, guid: ab9d915143ee8e243b165a0ff258be0a, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.21666667 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Loading.anim.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Loading.anim.meta new file mode 100644 index 00000000..daed77b3 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Loading.anim.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: fb1dd5e7dbb48f143aca371ad7a1e734 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/AnimationClips/Loading.anim + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts.meta new file mode 100644 index 00000000..1a0d4509 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d077ffa75a8978544ae20f9f076ef200 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Bold.ttf b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Bold.ttf new file mode 100644 index 00000000..efdd5e84 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Bold.ttf differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Bold.ttf.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Bold.ttf.meta new file mode 100644 index 00000000..5845016e --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Bold.ttf.meta @@ -0,0 +1,38 @@ +fileFormatVersion: 2 +guid: ef38c7dfd394e5347ad5d7c3184ca4be +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 15 + forceTextureCase: -1 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontName: Open Sans + fontNames: + - Open Sans + fallbackFontReferences: + - {fileID: 12800000, guid: 325a32228e334114db298913e28a3666, type: 3} + - {fileID: 12800000, guid: 4aa4edd34f8d3654a9087eb5f87d65be, type: 3} + - {fileID: 12800000, guid: a86cab0640a65284089c6f914202c9e1, type: 3} + - {fileID: 12800000, guid: b6a98ca66c26fc34c8d4053a9aeaa4fa, type: 3} + - {fileID: 12800000, guid: 9071504716ea61444a15a4471c91180d, type: 3} + - {fileID: 12800000, guid: baeb41dbf8db24c48b23c108f39696f2, type: 3} + - {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + - {fileID: 12800000, guid: 435a25bff3c549c44b41c8e61728706e, type: 3} + - {fileID: 12800000, guid: 39343bef63a45424e9e2c9185761f25f, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Bold.ttf + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-BoldItalic.ttf b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-BoldItalic.ttf new file mode 100644 index 00000000..9bf9b4e9 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-BoldItalic.ttf differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-BoldItalic.ttf.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-BoldItalic.ttf.meta new file mode 100644 index 00000000..ffeac19a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-BoldItalic.ttf.meta @@ -0,0 +1,29 @@ +fileFormatVersion: 2 +guid: 9071504716ea61444a15a4471c91180d +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 15 + forceTextureCase: -1 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontName: Open Sans + fontNames: + - Open Sans + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-BoldItalic.ttf + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBold.ttf b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBold.ttf new file mode 100644 index 00000000..67fcf0fb Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBold.ttf differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBold.ttf.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBold.ttf.meta new file mode 100644 index 00000000..7292cc27 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBold.ttf.meta @@ -0,0 +1,31 @@ +fileFormatVersion: 2 +guid: 435a25bff3c549c44b41c8e61728706e +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 15 + forceTextureCase: -1 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontName: Open Sans + fontNames: + - Open Sans + fallbackFontReferences: + - {fileID: 12800000, guid: 325a32228e334114db298913e28a3666, type: 3} + - {fileID: 12800000, guid: 9071504716ea61444a15a4471c91180d, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBold.ttf + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBoldItalic.ttf b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBoldItalic.ttf new file mode 100644 index 00000000..08672280 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBoldItalic.ttf differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBoldItalic.ttf.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBoldItalic.ttf.meta new file mode 100644 index 00000000..10f94de8 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBoldItalic.ttf.meta @@ -0,0 +1,37 @@ +fileFormatVersion: 2 +guid: baeb41dbf8db24c48b23c108f39696f2 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 15 + forceTextureCase: -1 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontName: Open Sans + fontNames: + - Open Sans + fallbackFontReferences: + - {fileID: 12800000, guid: 325a32228e334114db298913e28a3666, type: 3} + - {fileID: 12800000, guid: 4aa4edd34f8d3654a9087eb5f87d65be, type: 3} + - {fileID: 12800000, guid: a86cab0640a65284089c6f914202c9e1, type: 3} + - {fileID: 12800000, guid: b6a98ca66c26fc34c8d4053a9aeaa4fa, type: 3} + - {fileID: 12800000, guid: 9071504716ea61444a15a4471c91180d, type: 3} + - {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + - {fileID: 12800000, guid: 435a25bff3c549c44b41c8e61728706e, type: 3} + - {fileID: 12800000, guid: 39343bef63a45424e9e2c9185761f25f, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-ExtraBoldItalic.ttf + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Italic.ttf b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Italic.ttf new file mode 100644 index 00000000..11785670 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Italic.ttf differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Italic.ttf.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Italic.ttf.meta new file mode 100644 index 00000000..7ea44463 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Italic.ttf.meta @@ -0,0 +1,34 @@ +fileFormatVersion: 2 +guid: a86cab0640a65284089c6f914202c9e1 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 15 + forceTextureCase: -1 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontName: Open Sans + fontNames: + - Open Sans + fallbackFontReferences: + - {fileID: 12800000, guid: 325a32228e334114db298913e28a3666, type: 3} + - {fileID: 12800000, guid: b6a98ca66c26fc34c8d4053a9aeaa4fa, type: 3} + - {fileID: 12800000, guid: 9071504716ea61444a15a4471c91180d, type: 3} + - {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + - {fileID: 12800000, guid: 435a25bff3c549c44b41c8e61728706e, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Italic.ttf + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Light.ttf b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Light.ttf new file mode 100644 index 00000000..6580d3a1 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Light.ttf differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Light.ttf.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Light.ttf.meta new file mode 100644 index 00000000..b5f3123e --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Light.ttf.meta @@ -0,0 +1,32 @@ +fileFormatVersion: 2 +guid: e4b15a1f3fefca54f8d31f015c3a9c4b +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 15 + forceTextureCase: -1 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontName: Open Sans + fontNames: + - Open Sans + fallbackFontReferences: + - {fileID: 12800000, guid: 325a32228e334114db298913e28a3666, type: 3} + - {fileID: 12800000, guid: 9071504716ea61444a15a4471c91180d, type: 3} + - {fileID: 12800000, guid: 435a25bff3c549c44b41c8e61728706e, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Light.ttf + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-LightItalic.ttf b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-LightItalic.ttf new file mode 100644 index 00000000..1e0c3319 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-LightItalic.ttf differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-LightItalic.ttf.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-LightItalic.ttf.meta new file mode 100644 index 00000000..97a0f0a8 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-LightItalic.ttf.meta @@ -0,0 +1,36 @@ +fileFormatVersion: 2 +guid: 4aa4edd34f8d3654a9087eb5f87d65be +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 15 + forceTextureCase: -1 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontName: Open Sans + fontNames: + - Open Sans + fallbackFontReferences: + - {fileID: 12800000, guid: 325a32228e334114db298913e28a3666, type: 3} + - {fileID: 12800000, guid: a86cab0640a65284089c6f914202c9e1, type: 3} + - {fileID: 12800000, guid: b6a98ca66c26fc34c8d4053a9aeaa4fa, type: 3} + - {fileID: 12800000, guid: 9071504716ea61444a15a4471c91180d, type: 3} + - {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + - {fileID: 12800000, guid: 435a25bff3c549c44b41c8e61728706e, type: 3} + - {fileID: 12800000, guid: 39343bef63a45424e9e2c9185761f25f, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-LightItalic.ttf + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Regular.ttf b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Regular.ttf new file mode 100644 index 00000000..29bfd35a Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Regular.ttf differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Regular.ttf.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Regular.ttf.meta new file mode 100644 index 00000000..dcd17380 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Regular.ttf.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: b6a98ca66c26fc34c8d4053a9aeaa4fa +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 15 + forceTextureCase: -1 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontName: Open Sans + fontNames: + - Open Sans + fallbackFontReferences: + - {fileID: 12800000, guid: 325a32228e334114db298913e28a3666, type: 3} + - {fileID: 12800000, guid: 9071504716ea61444a15a4471c91180d, type: 3} + - {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + - {fileID: 12800000, guid: 435a25bff3c549c44b41c8e61728706e, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-Regular.ttf + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBold.ttf b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBold.ttf new file mode 100644 index 00000000..54e7059c Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBold.ttf differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBold.ttf.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBold.ttf.meta new file mode 100644 index 00000000..b6d424d9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBold.ttf.meta @@ -0,0 +1,30 @@ +fileFormatVersion: 2 +guid: 325a32228e334114db298913e28a3666 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 15 + forceTextureCase: -1 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontName: Open Sans + fontNames: + - Open Sans + fallbackFontReferences: + - {fileID: 12800000, guid: 9071504716ea61444a15a4471c91180d, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBold.ttf + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBoldItalic.ttf b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBoldItalic.ttf new file mode 100644 index 00000000..aebcf142 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBoldItalic.ttf differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBoldItalic.ttf.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBoldItalic.ttf.meta new file mode 100644 index 00000000..8a8d0963 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBoldItalic.ttf.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 39343bef63a45424e9e2c9185761f25f +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 15 + forceTextureCase: -1 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontName: Open Sans + fontNames: + - Open Sans + fallbackFontReferences: + - {fileID: 12800000, guid: 325a32228e334114db298913e28a3666, type: 3} + - {fileID: 12800000, guid: a86cab0640a65284089c6f914202c9e1, type: 3} + - {fileID: 12800000, guid: b6a98ca66c26fc34c8d4053a9aeaa4fa, type: 3} + - {fileID: 12800000, guid: 9071504716ea61444a15a4471c91180d, type: 3} + - {fileID: 12800000, guid: e4b15a1f3fefca54f8d31f015c3a9c4b, type: 3} + - {fileID: 12800000, guid: 435a25bff3c549c44b41c8e61728706e, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Fonts/OpenSans-SemiBoldItalic.ttf + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Plugins.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Plugins.meta new file mode 100644 index 00000000..42369e84 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b4b1573cdd755184c9959f392b21d085 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Plugins/PasteManagerPlugin.jslib b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Plugins/PasteManagerPlugin.jslib new file mode 100644 index 00000000..43042762 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Plugins/PasteManagerPlugin.jslib @@ -0,0 +1,10 @@ +var PasteManagerPlugin = { + PasteManagerSetup: function() { + document.body.addEventListener("paste", function(e) { + e.preventDefault(); + var text = (e.originalEvent || e).clipboardData.getData('text/plain'); + SendMessage("PasteManager", "Paste", text); + }); + } +}; +mergeInto(LibraryManager.library, PasteManagerPlugin); \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Plugins/PasteManagerPlugin.jslib.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Plugins/PasteManagerPlugin.jslib.meta new file mode 100644 index 00000000..0bfcb5bb --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Plugins/PasteManagerPlugin.jslib.meta @@ -0,0 +1,39 @@ +fileFormatVersion: 2 +guid: 5d4154aaed6bdc744be38b46fbcbf9f1 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + WebGL: WebGL + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Plugins/PasteManagerPlugin.jslib + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources.meta new file mode 100644 index 00000000..e6ca92de --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d614800a04a412445934c1daf0c6df5d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowAlbedo.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowAlbedo.shader new file mode 100644 index 00000000..f28b946d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowAlbedo.shader @@ -0,0 +1,49 @@ +Shader "Hidden/ShowAlbedo" +{ + SubShader + { + Tags { "RenderType" = "Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + float4 _MainTex_TexelSize; + float4 _Color; + float4 _MainTex_ST; + + + v2f vert(appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + return o; + } + + fixed4 frag(v2f i) : SV_Target + { + return all(_MainTex_TexelSize.zw <= 16) ? _Color : tex2D(_MainTex, i.uv); + } + ENDCG + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowAlbedo.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowAlbedo.shader.meta new file mode 100644 index 00000000..3420fa1a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowAlbedo.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: bfe236c066541b1409f809913a30dd3f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowAlbedo.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowEmission.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowEmission.shader new file mode 100644 index 00000000..adce10c6 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowEmission.shader @@ -0,0 +1,47 @@ +Shader "Hidden/ShowEmission" +{ + SubShader + { + Tags { "RenderType" = "Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _EmissionMap; + float4 _EmissionMap_ST; + + v2f vert(appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _EmissionMap); + return o; + } + + fixed4 frag(v2f i) : SV_Target + { + float4 emission = tex2D(_EmissionMap, i.uv); + return emission; + } + ENDCG + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowEmission.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowEmission.shader.meta new file mode 100644 index 00000000..d4798205 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowEmission.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 1c0c7a6e05adccd4a8c5f99819fb65dd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowEmission.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowMetallic.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowMetallic.shader new file mode 100644 index 00000000..9f961de2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowMetallic.shader @@ -0,0 +1,51 @@ +Shader"Hidden/ShowMetallic" +{ + Properties { + _MetallicGlossMap ("_MetallicGlossMap", 3D) = "black" {} + } + SubShader + { + Tags { "RenderType" = "Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MetallicGlossMap; + float4 _MetallicGlossMap_ST; + float4 _MetallicGlossMap_TexelSize; + float _Metallic; + + v2f vert(appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MetallicGlossMap); + return o; + } + + fixed4 frag(v2f i) : SV_Target + { + return all(_MetallicGlossMap_TexelSize.zw <= 16) ? _Metallic : tex2D(_MetallicGlossMap, i.uv).x; + } + ENDCG + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowMetallic.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowMetallic.shader.meta new file mode 100644 index 00000000..2ac804e7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowMetallic.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 66b6e999ff9bb97429df63789b8d92d2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowMetallic.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowNormals.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowNormals.shader new file mode 100644 index 00000000..6037a556 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowNormals.shader @@ -0,0 +1,66 @@ +Shader "Hidden/ShowNormals" +{ + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float3 normal : NORMAL; + float4 tangent : TANGENT; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + float3x3 tbn : TEXCOORD1; + float3 normal : NORMAL; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + float3 tangent = normalize(v.tangent.xyz - v.normal * dot(v.normal, v.tangent.xyz)); + float3 bitangent = cross(v.normal, tangent) * v.tangent.w; + o.tbn = float3x3(tangent, bitangent, v.normal); + o.normal = v.normal; + return o; + } + + sampler2D _BumpMap; + float4 _BumpMap_TexelSize; + + float4 frag(v2f i) : SV_Target + { + float3 normal; + if (all(_BumpMap_TexelSize.zw <= 16)) + { + normal = i.normal; + } + else + { + normal = tex2D(_BumpMap, i.uv).xyz; + normal = normal * 2.0 - 1.0; + normal = normalize(mul(normal, i.tbn)); + } + normal = (normal + 1.0) / 2.0; + return float4(normal, 1.0); + } + ENDCG + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowNormals.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowNormals.shader.meta new file mode 100644 index 00000000..ad592eea --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowNormals.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 54950d6c07cd298438649b8016c020ca +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowNormals.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowOcclusion.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowOcclusion.shader new file mode 100644 index 00000000..d115a5f2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowOcclusion.shader @@ -0,0 +1,47 @@ +Shader "Hidden/ShowOcclusion" +{ + SubShader + { + Tags { "RenderType" = "Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _OcclusionMap; + float4 _OcclusionMap_ST; + + v2f vert(appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _OcclusionMap); + return o; + } + + fixed4 frag(v2f i) : SV_Target + { + float4 occlusion = tex2D(_OcclusionMap, i.uv); + return occlusion.x; + } + ENDCG + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowOcclusion.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowOcclusion.shader.meta new file mode 100644 index 00000000..843508b2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowOcclusion.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 99cbd73188bc58741b8107e19b741f97 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowOcclusion.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSkeleton.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSkeleton.shader new file mode 100644 index 00000000..2ecc93e9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSkeleton.shader @@ -0,0 +1,51 @@ +Shader "Hidden/ShowSkeleton" +{ + Properties + { + _Color("Color", Color) = (1,1,1,1) + } + + SubShader + { + Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } + Pass + { + ZWrite Off + ZTest Off + Cull Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile _ UNITY_SINGLE_PASS_STEREO STEREO_INSTANCING_ON STEREO_MULTIVIEW_ON + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float4 color : COLOR; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + struct v2f { + fixed4 color : COLOR; + float4 vertex : SV_POSITION; + UNITY_VERTEX_OUTPUT_STEREO + }; + float4 _Color; + v2f vert(appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + o.vertex = UnityObjectToClipPos(v.vertex); + o.color = v.color * _Color; + return o; + } + fixed4 frag(v2f i) : SV_Target + { + return i.color; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSkeleton.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSkeleton.shader.meta new file mode 100644 index 00000000..b83b2c69 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSkeleton.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 6423b2eb705145641a558cd7602ddcc4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSkeleton.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSmooth.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSmooth.shader new file mode 100644 index 00000000..bec9cbd6 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSmooth.shader @@ -0,0 +1,51 @@ +Shader "Hidden/ShowSmooth" +{ + Properties { + _MetallicGlossMap ("_MetallicGlossMap", 3D) = "black" {} + } + SubShader + { + Tags { "RenderType" = "Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MetallicGlossMap; + float4 _MetallicGlossMap_ST; + float4 _MetallicGlossMap_TexelSize; + float _Glossiness; + + v2f vert(appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MetallicGlossMap); + return o; + } + + fixed4 frag(v2f i) : SV_Target + { + return all(_MetallicGlossMap_TexelSize.zw <= 16) ? _Glossiness : tex2D(_MetallicGlossMap, i.uv).w; + } + ENDCG + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSmooth.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSmooth.shader.meta new file mode 100644 index 00000000..f6ae0bfc --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSmooth.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: ba69f189e9f858b47a9eefb3b283efce +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowSmooth.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowVertexColors.shader b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowVertexColors.shader new file mode 100644 index 00000000..a768ecb1 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowVertexColors.shader @@ -0,0 +1,43 @@ +Shader "Hidden/ShowVertexColors" +{ + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float4 color : COLOR; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float4 color : COLOR; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.color = v.color; + return o; + } + + float4 frag(v2f i) : SV_Target + { + return i.color; + } + ENDCG + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowVertexColors.shader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowVertexColors.shader.meta new file mode 100644 index 00000000..1e62523b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowVertexColors.shader.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: d4c795bd082e5bb43a5e9b0911856932 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Resources/ShowVertexColors.shader + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts.meta new file mode 100644 index 00000000..a31959a7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c370f76e80128f4b9f02b01c1734d26 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/AbstractInputSystem.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/AbstractInputSystem.cs new file mode 100644 index 00000000..7bb8a728 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/AbstractInputSystem.cs @@ -0,0 +1,221 @@ +using UnityEngine; +#if ENABLE_INPUT_SYSTEM +using UnityEngine.InputSystem; +#endif + +namespace TriLibCore.Samples +{ + /// + /// Represents a base class to abstract input system actions. + /// This class automatically detects whether the old input system (UnityEngine.Input) + /// or the new input system (UnityEngine.InputSystem) is available, and delegates + /// input calls accordingly. + /// + public class AbstractInputSystem : MonoBehaviour + { + /// + /// Holds the last distance between two touch points on mobile, + /// used to simulate a scroll/pinch gesture. + /// + private float _lastMultiTouchDistance; + + /// + /// Gets whether a specified mouse button (or equivalent gesture on mobile) is currently pressed. + /// Returns true when the requested button is down in the current frame. + /// + /// + /// The mouse button index: + /// + /// 0 = Left Button + /// 1 = Right Button (legacy mode) / Middle Button (new input system) + /// 2 = Middle Button (legacy mode) / Right Button (new input system) + /// + /// Note: On some mobile devices with multi-touch, index=2 can be forced true when multiple touches are present. + /// + /// + /// True if the specified mouse button (or gesture) is currently pressed; otherwise, false. + /// + protected bool GetMouseButton(int index) + { +#if ENABLE_INPUT_SYSTEM + if (Mouse.current != null) + { + switch (index) + { + case 0: + return Mouse.current.leftButton.isPressed; + case 1: + return Mouse.current.rightButton.isPressed; + case 2: + return Mouse.current.middleButton.isPressed; + } + } + return false; +#else + if (SystemInfo.deviceType == DeviceType.Handheld && Input.touchSupported && Input.touchCount > 1 && index == 2) + { + // On mobile, treat multi-touch as a "middle-mouse" press. + return true; + } + return Input.GetMouseButton(index); +#endif + } + + /// + /// Gets whether a specified mouse button was pressed down this frame (or equivalent gesture on mobile). + /// Returns true only during the frame the user starts pressing the button/gesture. + /// + /// + /// The mouse button index: + /// + /// 0 = Left Button + /// 1 = Middle Button (legacy mode) / Right Button (new input system) + /// 2 = Right Button (legacy mode) / Middle Button (new input system) + /// + /// + /// + /// True if the specified mouse button (or gesture) was pressed down during this frame; otherwise, false. + /// + protected bool GetMouseButtonDown(int index) + { +#if ENABLE_INPUT_SYSTEM + if (Mouse.current != null) + { + switch (index) + { + case 0: + return Mouse.current.leftButton.wasPressedThisFrame; + case 1: + return Mouse.current.middleButton.wasPressedThisFrame; + case 2: + return Mouse.current.rightButton.wasPressedThisFrame; + } + } + return false; +#else + return Input.GetMouseButtonDown(index); +#endif + } + + /// + /// Retrieves the value of the specified axis (e.g., "Horizontal", "Vertical", "Mouse X", "Mouse Y") + /// using either the legacy or the new input system. + /// On mobile devices, touch movement is used to simulate mouse axis behavior. + /// + /// + /// Name of the axis to retrieve. Common examples: "Horizontal", "Vertical", "Mouse X", "Mouse Y". + /// + /// + /// The current axis value, generally in the range [-1, 1], though mouse deltas and touch + /// movements may produce different ranges. Defaults to 0 if unsupported. + /// + protected float GetAxis(string axisName) + { +#if ENABLE_INPUT_SYSTEM + switch (axisName) + { + case "Mouse X": + return Mouse.current != null ? Mouse.current.delta.x.ReadValue() : 0f; + case "Mouse Y": + return Mouse.current != null ? Mouse.current.delta.y.ReadValue() : 0f; + case "Horizontal": + if (Keyboard.current == null) + { + return 0f; + } + return Keyboard.current.leftArrowKey.isPressed ? -1f : + Keyboard.current.rightArrowKey.isPressed ? 1f : 0f; + case "Vertical": + if (Keyboard.current == null) + { + return 0f; + } + return Keyboard.current.downArrowKey.isPressed ? -1f : + Keyboard.current.upArrowKey.isPressed ? 1f : 0f; + default: + return 0f; + } +#else + if (SystemInfo.deviceType == DeviceType.Handheld && Input.touchSupported) + { + if (Input.touchCount > 0) + { + if (axisName == "Mouse X") + { + return Input.touches[0].deltaPosition.x * 0.05f; + } + if (axisName == "Mouse Y") + { + return Input.touches[0].deltaPosition.y * 0.05f; + } + } + return 0f; + } + return Input.GetAxis(axisName); +#endif + } + + /// + /// Determines if a given keyboard key is currently being pressed, + /// using either the new input system or the legacy system. + /// + /// The Unity KeyCode to check (e.g., KeyCode.LeftAlt). + /// + /// True if the specified key is pressed; otherwise, false. + /// + protected bool GetKey(KeyCode keyCode) + { +#if ENABLE_INPUT_SYSTEM + if (Keyboard.current != null) + { + switch (keyCode) + { + case KeyCode.LeftAlt: + return Keyboard.current.leftAltKey.isPressed; + case KeyCode.RightAlt: + return Keyboard.current.rightAltKey.isPressed; + } + } + return false; +#else + return Input.GetKey(keyCode); +#endif + } + + /// + /// Retrieves the current scroll delta on desktop or simulates it via pinch gestures on mobile. + /// On mobile devices with multi-touch, the difference in touch distances is used to emulate a scroll wheel. + /// + /// + /// A representing the scroll delta. + /// + protected Vector2 GetMouseScrollDelta() + { +#if ENABLE_INPUT_SYSTEM + return Mouse.current != null ? Mouse.current.scroll.ReadValue() * 0.01f : default; +#else + if (SystemInfo.deviceType == DeviceType.Handheld && Input.touchSupported && Input.touchCount == 2) + { + var firstTouch = Input.touches[0]; + var secondTouch = Input.touches[1]; + // If either touch is new, reset stored distance. + if (firstTouch.phase == TouchPhase.Began || secondTouch.phase == TouchPhase.Began) + { + _lastMultiTouchDistance = Vector2.Distance(firstTouch.position, secondTouch.position); + } + // Only calculate delta if both touches are actively moving. + if (firstTouch.phase != TouchPhase.Moved || secondTouch.phase != TouchPhase.Moved) + { + return Vector2.zero; + } + var newMultiTouchDistance = Vector2.Distance(firstTouch.position, secondTouch.position); + var deltaMultiTouchDistance = newMultiTouchDistance - _lastMultiTouchDistance; + _lastMultiTouchDistance = newMultiTouchDistance; + // Returns the simulated scroll as a vertical delta. + return new Vector2(0f, deltaMultiTouchDistance * 0.05f); + } + return Input.mouseScrollDelta; +#endif + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/AbstractInputSystem.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/AbstractInputSystem.cs.meta new file mode 100644 index 00000000..78ec0c45 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/AbstractInputSystem.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c39a672b3d4a1c048a50418824c68be9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/AbstractInputSystem.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/FixMaterials.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/FixMaterials.cs new file mode 100644 index 00000000..97d864d3 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/FixMaterials.cs @@ -0,0 +1,51 @@ +using TriLibCore.Mappers; +using UnityEngine; + +namespace TriLibCore.Samples +{ + /// + /// Configures sample materials depending on the rendering pipeline. + /// + public class FixMaterials : MonoBehaviour + { + private void Start() + { + var materialMapper = AssetLoader.GetSelectedMaterialMapper(true); + if (materialMapper == null) + { + return; + } + var meshRenderers = GetComponentsInChildren(); + for (var j = 0; j < meshRenderers.Length; j++) + { + var meshRenderer = meshRenderers[j]; + var materials = meshRenderer.materials; + for (var i = 0; i < materials.Length; i++) + { + var color = meshRenderer.sharedMaterials[i].color; + materials[i] = Instantiate(materialMapper.MaterialPreset); + materials[i].color = color; + } + + meshRenderer.materials = materials; + } + + var skinnedMeshRenderers = GetComponentsInChildren(); + for (var j = 0; j < skinnedMeshRenderers.Length; j++) + { + var skinnedMeshRenderer = skinnedMeshRenderers[j]; + var materials = skinnedMeshRenderer.materials; + for (var i = 0; i < materials.Length; i++) + { + var color = skinnedMeshRenderer.sharedMaterials[i].color; + materials[i] = Instantiate(materialMapper.MaterialPreset); + materials[i].color = color; + } + + skinnedMeshRenderer.materials = materials; + } + + Destroy(materialMapper); + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/FixMaterials.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/FixMaterials.cs.meta new file mode 100644 index 00000000..0c0adb42 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/FixMaterials.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 601a02e47f227444291b1dcc1b7584e8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/FixMaterials.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/PasteManager.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/PasteManager.cs new file mode 100644 index 00000000..53015b41 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/PasteManager.cs @@ -0,0 +1,73 @@ +using System.Runtime.InteropServices; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace TriLibCore.Samples +{ + /// + /// Provides paste functionality to WebGL builds via a singleton manager. + /// This class automatically sets itself up in WebGL to handle text paste events, + /// allowing them to be inserted into Unity's components. + /// + public class PasteManager : MonoBehaviour + { +#if UNITY_WEBGL && !UNITY_EDITOR + /// + /// Interop method for setting up WebGL-specific paste handling. + /// + [DllImport("__Internal")] + private static extern void PasteManagerSetup(); +#endif + + /// + /// Gets the PasteManager singleton instance. + /// If no instance is found in the scene, one will be created automatically. + /// + public static PasteManager Instance { get; private set; } + + /// + /// Checks if a PasteManager instance already exists. + /// If none is found, a new with a PasteManager is created. + /// + public static void CheckInstance() + { + if (Instance == null) + { + Instance = new GameObject("PasteManager").AddComponent(); + } + } + +#if UNITY_WEBGL && !UNITY_EDITOR + /// + /// On startup (WebGL builds only), calls PasteManagerSetup() for browser-specific configuration. + /// + private void Start() + { + PasteManagerSetup(); + } +#endif + + /// + /// Called when the user pastes the specified text within the WebGL build. + /// Inserts the pasted text into a currently selected , if available. + /// + /// The text value that was pasted. + public void Paste(string value) + { + var currentCurrentSelectedGameObject = EventSystem.current.currentSelectedGameObject; + if (currentCurrentSelectedGameObject != null) + { + var inputField = currentCurrentSelectedGameObject.GetComponentInChildren(); + if (inputField != null) + { + // Insert the pasted text at the selection anchor position + var newText = $"{inputField.text.Substring(0, inputField.selectionAnchorPosition)}" + + $"{value}" + + $"{inputField.text.Substring(inputField.selectionFocusPosition)}"; + inputField.text = newText; + } + } + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/PasteManager.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/PasteManager.cs.meta new file mode 100644 index 00000000..f33347b7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/PasteManager.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 0dc4b1bc8dad9664fa0ca9e0a2cf0b9b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/PasteManager.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/ShowSkeleton.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/ShowSkeleton.cs new file mode 100644 index 00000000..d6178d12 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/ShowSkeleton.cs @@ -0,0 +1,158 @@ +using System; +using System.Collections.Generic; +using TriLibCore.Extensions; +using UnityEngine; + +namespace TriLibCore.Samples +{ + /// + /// Displays the skeletal hierarchy of a loaded model by drawing lines between each bone (transform). + /// + public class ShowSkeleton : MonoBehaviour + { + /// + /// A shared material used to render bone connections in . + /// + private static Material _material; + + /// + /// Holds references to the bone transforms that make up the model's skeleton. + /// + private List _bones; + /// + /// Initializes this skeleton display by collecting bone transforms from the loaded model, + /// and optionally adjusts the scene bounds in the provided . + /// + /// + /// The containing the loaded model hierarchy. + /// + /// + /// The controlling the camera and scene visualization. + /// + public void Setup(AssetLoaderContext assetLoaderContext, AssetViewer assetViewer) + { + _bones = new List(); + // Gathers all bones into _bones + assetLoaderContext.RootModel.GetBones(assetLoaderContext, _bones); + if (_bones.Count > 0) + { + // Updates the viewer bounds if bones exist + SetCustomBounds(assetViewer); + } + } + + /// + /// Draws lines between parent and child bones in the Scene view for debugging. + /// + private void OnDrawGizmos() + { + if (_bones != null) + { + foreach (var transform in _bones) + { + foreach (Transform child in transform) + { + Gizmos.color = Color.green; + Gizmos.DrawLine(transform.position, child.position); + } + } + } + } + + /// + /// Renders lines between bone transforms each frame at runtime using immediate-mode drawing. + /// This provides a live view of the skeleton structure in Play Mode. + /// + private void OnRenderObject() + { + _material.SetPass(0); + GL.PushMatrix(); + GL.Begin(GL.LINES); + foreach (var transform in _bones) + { + foreach (Transform child in transform) + { + GL.Color(Color.green); + GL.Vertex(transform.position); + GL.Vertex(child.position); + } + } + GL.End(); + GL.PopMatrix(); + } + + /// + /// Calculates a bounding box encompassing all bones of the loaded model over all animations, + /// then updates the camera position in the accordingly. + /// + /// + /// The whose bounds and camera will be adjusted. + /// + private void SetCustomBounds(AssetViewer assetViewer) + { + var totalBounds = new Bounds(); + var totalBoundsInitialized = false; + if (assetViewer.RootGameObject.TryGetComponent(out var animation)) + { + var animationClips = animation.GetAllAnimationClips(); + // Iterate through each animation clip and frame to expand the total skeleton bounds + foreach (var clip in animationClips) + { + animation.clip = clip; + var frameInterval = 1f / clip.frameRate; + for (var t = 0f; t < clip.length; t += frameInterval) + { + animation[clip.name].time = t; + animation.Sample(); + var bounds = new Bounds(); + var initialized = false; + foreach (var bone in _bones) + { + if (!initialized) + { + bounds.center = bone.position; + if (!totalBoundsInitialized) + { + totalBounds.center = bone.position; + totalBoundsInitialized = true; + } + initialized = true; + } + else + { + bounds.Encapsulate(bone.position); + } + } + totalBounds.Encapsulate(bounds); + } + } + } + // If we have a valid bounding volume, tell the AssetViewer to adjust camera settings + if (totalBounds.size.magnitude > 0f) + { + assetViewer.SetCustomBounds(totalBounds); + } + } + + /// + /// Ensures that a material is ready for rendering the skeleton lines, and + /// if needed, automatically collects transforms as bones from the object hierarchy. + /// + private void Start() + { + if (_material == null) + { + _material = new Material(Shader.Find("Hidden/ShowSkeleton")); + } + if (_bones == null) + { + _bones = new List(); + var transforms = GetComponentsInChildren(); + foreach (var transform in transforms) + { + _bones.Add(transform); + } + } + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/ShowSkeleton.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/ShowSkeleton.cs.meta new file mode 100644 index 00000000..9da78713 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/ShowSkeleton.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c5fa5f4c9c474aa409a13ec6b2bc0062 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Scripts/ShowSkeleton.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures.meta new file mode 100644 index 00000000..80f63fcc --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 112041391cf658b499ec543eec4d8367 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/Arrow.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/Arrow.png new file mode 100644 index 00000000..aec10488 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/Arrow.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/Arrow.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/Arrow.png.meta new file mode 100644 index 00000000..16d3b5ef --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/Arrow.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: c49063318fc35d247bd557c9224b280d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/Arrow.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/ArrowLeft.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/ArrowLeft.png new file mode 100644 index 00000000..6c997d6f Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/ArrowLeft.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/ArrowLeft.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/ArrowLeft.png.meta new file mode 100644 index 00000000..6b3e6193 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/ArrowLeft.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 735b0232e0283044ea1d92ae83d5cff0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/ArrowLeft.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/dropdown.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/dropdown.png new file mode 100644 index 00000000..3e0a4d81 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/dropdown.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/dropdown.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/dropdown.png.meta new file mode 100644 index 00000000..b19cc9f2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/dropdown.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 8e0f018f6409b7e4dab8263a3d5c35d7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/dropdown.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/fountain.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/fountain.png new file mode 100644 index 00000000..c501f579 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/fountain.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/fountain.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/fountain.png.meta new file mode 100644 index 00000000..e48c2bf2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/fountain.png.meta @@ -0,0 +1,503 @@ +fileFormatVersion: 2 +guid: ab9d915143ee8e243b165a0ff258be0a +TextureImporter: + internalIDToNameTable: + - first: + 213: 7772053563467876060 + second: fountain_0 + - first: + 213: 6017166387113642881 + second: fountain_1 + - first: + 213: -5071872562740070876 + second: fountain_2 + - first: + 213: -4383350608448915041 + second: fountain_3 + - first: + 213: 2634342455120194285 + second: fountain_4 + - first: + 213: -4886976709754540747 + second: fountain_5 + - first: + 213: -358793270051623357 + second: fountain_6 + - first: + 213: -50040848573205984 + second: fountain_7 + - first: + 213: 5949854845560439217 + second: fountain_8 + - first: + 213: 4991410084122895198 + second: fountain_9 + - first: + 213: -2491455825086601521 + second: fountain_10 + - first: + 213: 7611300543990857162 + second: fountain_11 + - first: + 213: 7501209102900455622 + second: fountain_12 + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 2 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 1 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: fountain_0 + rect: + serializedVersion: 2 + x: 0 + y: 216 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: cd6cfc1b981ebdb60800000000000000 + internalID: 7772053563467876060 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_1 + rect: + serializedVersion: 2 + x: 0 + y: 198 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 18b4452e2f4418350800000000000000 + internalID: 6017166387113642881 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_2 + rect: + serializedVersion: 2 + x: 0 + y: 180 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 426f3dfa6c61d99b0800000000000000 + internalID: -5071872562740070876 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_3 + rect: + serializedVersion: 2 + x: 0 + y: 162 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: f99f86978d53b23c0800000000000000 + internalID: -4383350608448915041 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_4 + rect: + serializedVersion: 2 + x: 0 + y: 144 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: dea6b2e61801f8420800000000000000 + internalID: 2634342455120194285 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_5 + rect: + serializedVersion: 2 + x: 0 + y: 126 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 53d29752398fd2cb0800000000000000 + internalID: -4886976709754540747 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_6 + rect: + serializedVersion: 2 + x: 0 + y: 108 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 34ea5cefb6f450bf0800000000000000 + internalID: -358793270051623357 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_7 + rect: + serializedVersion: 2 + x: 0 + y: 90 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 022f8840d183e4ff0800000000000000 + internalID: -50040848573205984 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_8 + rect: + serializedVersion: 2 + x: 0 + y: 72 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 1b144c65571229250800000000000000 + internalID: 5949854845560439217 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_9 + rect: + serializedVersion: 2 + x: 0 + y: 54 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: e53a270a60d054540800000000000000 + internalID: 4991410084122895198 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_10 + rect: + serializedVersion: 2 + x: 0 + y: 36 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: fc6a22c90229c6dd0800000000000000 + internalID: -2491455825086601521 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_11 + rect: + serializedVersion: 2 + x: 0 + y: 18 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: acdff43b485c0a960800000000000000 + internalID: 7611300543990857162 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: fountain_12 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 140 + height: 18 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 6c8ee4c9fe5a91860800000000000000 + internalID: 7501209102900455622 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5bdc78dfd3f73e5438934904b2d9beeb + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + fountain_3: -4383350608448915041 + fountain_4: 2634342455120194285 + fountain_5: -4886976709754540747 + fountain_7: -50040848573205984 + fountain_11: 7611300543990857162 + fountain_12: 7501209102900455622 + fountain_8: 5949854845560439217 + fountain_0: 7772053563467876060 + fountain_6: -358793270051623357 + fountain_1: 6017166387113642881 + fountain_9: 4991410084122895198 + fountain_10: -2491455825086601521 + fountain_2: -5071872562740070876 + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/fountain.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/helpbutton.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/helpbutton.png new file mode 100644 index 00000000..ba3150e4 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/helpbutton.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/helpbutton.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/helpbutton.png.meta new file mode 100644 index 00000000..c94633fe --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/helpbutton.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 163def520e58bd54888fe85a58ea7813 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/helpbutton.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/knob.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/knob.png new file mode 100644 index 00000000..b77372dd Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/knob.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/knob.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/knob.png.meta new file mode 100644 index 00000000..45aa02f5 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/knob.png.meta @@ -0,0 +1,147 @@ +fileFormatVersion: 2 +guid: 55f5756f24d9d1841b6235690e5bc7c1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/knob.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/playbutton.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/playbutton.png new file mode 100644 index 00000000..a430e954 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/playbutton.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/playbutton.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/playbutton.png.meta new file mode 100644 index 00000000..af04a3d9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/playbutton.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 538ab41c860fe1b49a78a49218e38ace +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/playbutton.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbutton.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbutton.png new file mode 100644 index 00000000..0a902f91 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbutton.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbutton.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbutton.png.meta new file mode 100644 index 00000000..90ffeb5d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbutton.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: f472ef91f98b9464993dec27529ddd99 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 6, y: 6, z: 6, w: 6} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbutton.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbuttonborder.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbuttonborder.png new file mode 100644 index 00000000..55705594 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbuttonborder.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbuttonborder.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbuttonborder.png.meta new file mode 100644 index 00000000..fa172232 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbuttonborder.png.meta @@ -0,0 +1,216 @@ +fileFormatVersion: 2 +guid: 51c2ac47b1804034aa6b0cf8976c88bd +TextureImporter: + internalIDToNameTable: + - first: + 213: 4007709848493184444 + second: roundbuttonbordertop + - first: + 213: -2153084257531599212 + second: roundbuttonborder + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 6, y: 6, z: 6, w: 6} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 + cookieLightType: 1 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: roundbuttonbordertop + rect: + serializedVersion: 2 + x: 6 + y: 47 + width: 50 + height: 1 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: cb5554a9fde3e9730800000000000000 + internalID: 4007709848493184444 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: roundbuttonborder + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 64 + height: 48 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 6, y: 6, z: 6, w: 6} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 496e75a7645be12e0800000000000000 + internalID: -2153084257531599212 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + roundbuttonborder: -2153084257531599212 + roundbuttonbordertop: 4007709848493184444 + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/roundbuttonborder.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/stopbutton.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/stopbutton.png new file mode 100644 index 00000000..3f89662a Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/stopbutton.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/stopbutton.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/stopbutton.png.meta new file mode 100644 index 00000000..4a7bc23f --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/stopbutton.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 808954ac2aebddb40a6c760f56c96f48 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/Common/Textures/stopbutton.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources.meta new file mode 100644 index 00000000..8be7bcaf --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3fc248181b6600746a79ad668c5a531b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/ListModelResources.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/ListModelResources.unity new file mode 100644 index 00000000..2e5d087b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/ListModelResources.unity @@ -0,0 +1,1185 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657773, g: 0.49641377, b: 0.57481754, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 239905852} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &49980264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 49980265} + - component: {fileID: 49980269} + - component: {fileID: 49980268} + - component: {fileID: 49980267} + - component: {fileID: 49980266} + m_Layer: 5 + m_Name: Resources + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &49980265 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 49980264} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 902324471} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &49980266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 49980264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 2 +--- !u!114 &49980267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 49980264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &49980268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 49980264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 114 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!222 &49980269 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 49980264} + m_CullTransparentMesh: 0 +--- !u!1 &153877214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 153877216} + - component: {fileID: 153877215} + m_Layer: 0 + m_Name: ListModelResources + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &153877215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 69d5f0075a525a04c944fb2f139c508b, type: 3} + m_Name: + m_EditorClassIdentifier: + ResourcesText: {fileID: 49980268} +--- !u!4 &153877216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!850595691 &239905852 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 4 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 +--- !u!1 &551262446 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 551262447} + - component: {fileID: 551262450} + - component: {fileID: 551262449} + - component: {fileID: 551262448} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &551262447 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 551262446} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 770527882} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &551262448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 551262446} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &551262449 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 551262446} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: This sample lists the loaded model resources (External resources and textures) +--- !u!222 &551262450 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 551262446} + m_CullTransparentMesh: 0 +--- !u!1 &770527878 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 770527882} + - component: {fileID: 770527881} + - component: {fileID: 770527880} + - component: {fileID: 770527879} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &770527879 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770527878} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &770527880 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770527878} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &770527881 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770527878} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &770527882 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770527878} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 551262447} + - {fileID: 1387783453} + - {fileID: 902324471} + - {fileID: 953079390} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &788900623 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 788900624} + - component: {fileID: 788900626} + - component: {fileID: 788900625} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &788900624 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788900623} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 953079390} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &788900625 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788900623} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Load Model +--- !u!222 &788900626 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788900623} + m_CullTransparentMesh: 0 +--- !u!1 &809567019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 809567021} + - component: {fileID: 809567020} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &809567020 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &809567021 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_LocalRotation: {x: -0.07338684, y: -0.89253896, z: 0.41619772, w: -0.1573786} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -200, z: 0} +--- !u!1 &902324470 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 902324471} + - component: {fileID: 902324474} + - component: {fileID: 902324473} + m_Layer: 5 + m_Name: Frame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &902324471 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 902324470} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 49980265} + m_Father: {fileID: 770527882} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -80} + m_SizeDelta: {x: -40, y: -160} + m_Pivot: {x: 0, y: 1} +--- !u!114 &902324473 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 902324470} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &902324474 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 902324470} + m_CullTransparentMesh: 0 +--- !u!1 &953079389 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 953079390} + - component: {fileID: 953079393} + - component: {fileID: 953079392} + - component: {fileID: 953079391} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &953079390 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 953079389} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 788900624} + m_Father: {fileID: 770527882} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 20, y: 20} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0, y: 0} +--- !u!114 &953079391 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 953079389} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 953079392} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 153877215} + m_TargetAssemblyTypeName: + m_MethodName: LoadModel + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &953079392 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 953079389} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &953079393 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 953079389} + m_CullTransparentMesh: 0 +--- !u!1 &1387783452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1387783453} + - component: {fileID: 1387783456} + - component: {fileID: 1387783455} + - component: {fileID: 1387783454} + m_Layer: 5 + m_Name: Progress + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1387783453 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1387783452} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 770527882} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -50} + m_SizeDelta: {x: -20, y: -50} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1387783454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1387783452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1387783455 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1387783452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1387783456 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1387783452} + m_CullTransparentMesh: 0 +--- !u!1 &1813965413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813965417} + - component: {fileID: 1813965416} + - component: {fileID: 1813965415} + - component: {fileID: 1813965414} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1813965414 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!124 &1813965415 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!20 &1813965416 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1813965417 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1868373955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868373958} + - component: {fileID: 1868373957} + - component: {fileID: 1868373956} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1868373956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1868373957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1868373958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/ListModelResources.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/ListModelResources.unity.meta new file mode 100644 index 00000000..ae4965ae --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/ListModelResources.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 84d9bd9d7a40cd64d8e0ebd67e44a365 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/ListModelResources.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/Scripts.meta new file mode 100644 index 00000000..f8e9356d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a22c5cecc76f3b7419f1df31e8c94460 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/Scripts/ListModelResourcesSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/Scripts/ListModelResourcesSample.cs new file mode 100644 index 00000000..dabd177d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/Scripts/ListModelResourcesSample.cs @@ -0,0 +1,210 @@ +#pragma warning disable 649 +using TriLibCore.General; +using UnityEngine; +using UnityEngine.UI; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace TriLibCore.Samples +{ + /// + /// Demonstrates how to use TriLib to load a 3D model and list its associated + /// resources (model path, textures, and external data). This sample allows + /// the user to select a model via a file-picker and displays the loaded + /// resources in a UI text component. + /// + public class ListModelResourcesSample : MonoBehaviour + { + /// + /// A reference to a UI component used to display + /// the paths of the loaded model, textures, and external resources. + /// + [SerializeField] + private Text ResourcesText; + + /// + /// A reference to the currently loaded model’s root , + /// which will be replaced when loading a new model. + /// + private GameObject _loadedGameObject; + + /// + /// A cached instance used to configure + /// model loading behaviors. Created on demand if not already set. + /// + private AssetLoaderOptions _assetLoaderOptions; + + /// + /// Invokes TriLib’s file-picker dialog for selecting a model. + /// If is null, a default set of + /// loader options is created first. Registers callback methods for + /// load progress, completion, and errors. + /// + /// + /// You can create via + /// TriLib > Create > AssetLoaderOptions > Pre-Built AssetLoaderOptions + /// in the Unity editor. + /// + public void LoadModel() + { + // Ensure we have AssetLoaderOptions + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + } + + // Create the file picker and begin an asynchronous load + var assetLoaderFilePicker = AssetLoaderFilePicker.Create(); + assetLoaderFilePicker.LoadModelFromFilePickerAsync( + "Select a Model file", + onLoad: OnLoad, + onMaterialsLoad: OnMaterialsLoad, + onProgress: OnProgress, + onBeginLoad: OnBeginLoad, + onError: OnError, + wrapperGameObject: null, + assetLoaderOptions: _assetLoaderOptions + ); + } + + /// + /// Called by Unity when this script instance is being loaded. + /// If is not assigned, creates a default set + /// of TriLib loader options. You can also load a model at startup if desired. + /// + /// + /// By default, this sample does not automatically load a model at startup. + /// The user can initiate loading via . + /// + private void Start() + { + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + } + } + + /// + /// Invoked when the user confirms a file selection in the file-picker + /// (i.e., when model loading begins). Resets any previously loaded model + /// and updates the UI to indicate loading has started. + /// + /// True if a file was selected; otherwise, false. + private void OnBeginLoad(bool filesSelected) + { + if (filesSelected) + { + Debug.Log("User selected a Model."); + + // Destroy the previously loaded GameObject, if present. + if (_loadedGameObject != null) + { + Destroy(_loadedGameObject); + } + + // Reset the resources text and clear the old model reference. + ResourcesText.text = "Loading Model"; + _loadedGameObject = null; + } + } + + /// + /// Called when an error occurs during model loading. + /// Logs a detailed message for troubleshooting. + /// + /// + /// An object implementing , containing + /// the original exception and additional context. + /// + private void OnError(IContextualizedError obj) + { + Debug.LogError($"An error occurred while loading your Model: {obj.GetInnerException()}"); + } + + /// + /// Invoked periodically to report loading progress. + /// You can use this to update a progress bar or similar UI element. + /// + /// + /// The TriLib context managing the current model load operation. + /// + /// A float representing progress from 0.0 to 1.0. + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + Debug.Log($"Loading Model. Progress: {progress:P}"); + } + + /// + /// Invoked once the model, including all textures and materials, + /// has fully loaded. Gathers and displays the loaded model’s path, + /// texture paths, and any external data paths in the . + /// + /// + /// The loaded root can be accessed via + /// assetLoaderContext.RootGameObject if you need to manipulate it further. + /// + /// + /// The TriLib context containing references to loaded assets and paths. + /// + private void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + Debug.Log("Materials loaded. Model fully loaded."); + + // Build a string containing all resources used by the model + var text = string.Empty; + + // 1) Model File Path + var modelPath = assetLoaderContext.Filename; + if (!string.IsNullOrEmpty(modelPath)) + { + text += $"Model: '{modelPath}'\n"; + } + + // 2) Texture Files + foreach (var kvp in assetLoaderContext.LoadedCompoundTextures) + { + // Each key’s ResolvedFilename is the local or absolute path to the loaded texture + var finalPath = kvp.Key.ResolvedFilename; + if (!string.IsNullOrEmpty(finalPath)) + { + text += $"Texture: '{finalPath}'\n"; + } + } + + // 3) External Data (e.g., references to other files used by the model) + foreach (var kvp in assetLoaderContext.LoadedExternalData) + { + var finalPath = kvp.Value; + if (!string.IsNullOrEmpty(finalPath)) + { + text += $"External Data: '{finalPath}'\n"; + } + } + + // Display the compiled resource paths in the UI + ResourcesText.text = text; + } + + /// + /// Invoked once the model’s meshes and hierarchy are loaded, + /// but before textures and materials have completed loading. + /// Stores a reference to the newly loaded + /// for further manipulation in the scene. + /// + /// + /// For example, you could reposition or scale the model here, + /// or attach scripts to the loaded GameObject. + /// + /// + /// The TriLib context that provides references to the loaded model data. + /// + private void OnLoad(AssetLoaderContext assetLoaderContext) + { + Debug.Log("Model loaded. Loading materials."); + + // Save reference to the loaded model’s root GameObject + _loadedGameObject = assetLoaderContext.RootGameObject; + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/Scripts/ListModelResourcesSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/Scripts/ListModelResourcesSample.cs.meta new file mode 100644 index 00000000..68c8dcbc --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/Scripts/ListModelResourcesSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 69d5f0075a525a04c944fb2f139c508b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/ListModelResources/Scripts/ListModelResourcesSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations.meta new file mode 100644 index 00000000..a2f7ad1c --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 736099f29a342f842aaf9528fc293c4a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/LoadExtraAnimations.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/LoadExtraAnimations.unity new file mode 100644 index 00000000..ee343f27 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/LoadExtraAnimations.unity @@ -0,0 +1,875 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.4482453, g: 0.49827206, b: 0.5755818, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &153877214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 153877216} + - component: {fileID: 153877215} + m_Layer: 0 + m_Name: LoadExtraAnimations + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &153877215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7dbe0a8f5b2f8454dbf9c7a759a2ad07, type: 3} + m_Name: + m_EditorClassIdentifier: + _playAnimationTemplate: {fileID: 2031152926} +--- !u!4 &153877216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!1 &809567019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 809567021} + - component: {fileID: 809567020} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &809567020 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &809567021 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_LocalRotation: {x: -0.38268343, y: 0, z: -0, w: -0.92387956} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 45, y: 360, z: 0} +--- !u!1 &844920122 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 844920123} + - component: {fileID: 844920124} + m_Layer: 5 + m_Name: Animations + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &844920123 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 844920122} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2031152925} + m_Father: {fileID: 1664379773} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 20, y: 0} + m_SizeDelta: {x: 200, y: -40} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &844920124 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 844920122} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 5 + m_Bottom: 5 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &1118294650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118294651} + - component: {fileID: 1118294654} + - component: {fileID: 1118294653} + - component: {fileID: 1118294652} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1118294651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1664379773} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1118294652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1118294653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'This sample loads a model and adds extra animations from other models + to it + +' +--- !u!222 &1118294654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_CullTransparentMesh: 0 +--- !u!1 &1598927394 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1598927395} + - component: {fileID: 1598927397} + - component: {fileID: 1598927396} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1598927395 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1598927394} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2031152925} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1598927396 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1598927394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Animation Template + +' +--- !u!222 &1598927397 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1598927394} + m_CullTransparentMesh: 0 +--- !u!1 &1664379769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1664379773} + - component: {fileID: 1664379772} + - component: {fileID: 1664379771} + - component: {fileID: 1664379770} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1664379770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1664379771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1664379772 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1664379773 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1118294651} + - {fileID: 844920123} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1813965413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813965417} + - component: {fileID: 1813965416} + - component: {fileID: 1813965415} + - component: {fileID: 1813965414} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1813965414 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!124 &1813965415 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!20 &1813965416 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1813965417 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.01, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1868373955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868373958} + - component: {fileID: 1868373957} + - component: {fileID: 1868373956} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1868373956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1868373957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1868373958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2031152924 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2031152925} + - component: {fileID: 2031152928} + - component: {fileID: 2031152927} + - component: {fileID: 2031152926} + m_Layer: 5 + m_Name: PlayAnimationTemplate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2031152925 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2031152924} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1598927395} + m_Father: {fileID: 844920123} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: -294.5} + m_SizeDelta: {x: 100, y: 30} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &2031152926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2031152924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2031152927} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &2031152927 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2031152924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2031152928 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2031152924} + m_CullTransparentMesh: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/LoadExtraAnimations.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/LoadExtraAnimations.unity.meta new file mode 100644 index 00000000..1bcb8ce1 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/LoadExtraAnimations.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: d3b78fd319ef79146b4af4deb8a5fedb +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/LoadExtraAnimations.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models.meta new file mode 100644 index 00000000..508762ec --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1ec3068a69eb6b5499bb3a4aa1383aec +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyBase.fbx b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyBase.fbx new file mode 100644 index 00000000..65694cbc Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyBase.fbx differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyBase.fbx.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyBase.fbx.meta new file mode 100644 index 00000000..e98894cb --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyBase.fbx.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: 809901b0668eb7c46898a97cefac5e32 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: + - first: + 74: 1827226128182048838 + second: Take 001 + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 0 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + remapMaterialsIfMaterialImportModeIsNone: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyBase.fbx + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyIdle.fbx b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyIdle.fbx new file mode 100644 index 00000000..635609ec Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyIdle.fbx differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyIdle.fbx.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyIdle.fbx.meta new file mode 100644 index 00000000..b26beec0 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyIdle.fbx.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: f4f9c9ba2f6f5cc429030558f9c3430f +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: + - first: + 74: 1827226128182048838 + second: Take 001 + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 0 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + remapMaterialsIfMaterialImportModeIsNone: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyIdle.fbx + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyJump.fbx b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyJump.fbx new file mode 100644 index 00000000..80237386 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyJump.fbx differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyJump.fbx.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyJump.fbx.meta new file mode 100644 index 00000000..dc955522 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyJump.fbx.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: 1136b315ea11aed47a8de33d22227d17 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: + - first: + 74: 1827226128182048838 + second: Take 001 + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 0 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + remapMaterialsIfMaterialImportModeIsNone: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyJump.fbx + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyWalk.fbx b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyWalk.fbx new file mode 100644 index 00000000..bda59495 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyWalk.fbx @@ -0,0 +1,2567 @@ +; FBX 7.7.0 project file +; ---------------------------------------------------- + +FBXHeaderExtension: { + FBXHeaderVersion: 1004 + FBXVersion: 7700 + CreationTimeStamp: { + Version: 1000 + Year: 2021 + Month: 3 + Day: 24 + Hour: 23 + Minute: 30 + Second: 43 + Millisecond: 84 + } + Creator: "FBX SDK/FBX Plugins version 2020.0" + OtherFlags: { + TCDefinition: 127 + } + SceneInfo: "SceneInfo::GlobalInfo", "UserData" { + Type: "UserData" + Version: 100 + MetaData: { + Version: 100 + Title: "" + Subject: "" + Author: "" + Keywords: "" + Revision: "" + Comment: "" + } + Properties70: { + P: "DocumentUrl", "KString", "Url", "", "C:\Repos\trilib-core\TriLibCoreUnity\Assets\TriLib\TriLibSamples\LoadExtraAnimations\Models\BuddyWalk.fbx" + P: "SrcDocumentUrl", "KString", "Url", "", "C:\Repos\trilib-core\TriLibCoreUnity\Assets\TriLib\TriLibSamples\LoadExtraAnimations\Models\BuddyWalk.fbx" + P: "Original", "Compound", "", "" + P: "Original|ApplicationVendor", "KString", "", "", "Autodesk" + P: "Original|ApplicationName", "KString", "", "", "Maya LT" + P: "Original|ApplicationVersion", "KString", "", "", "202000" + P: "Original|DateTime_GMT", "DateTime", "", "", "25/03/2021 02:30:43.082" + P: "Original|FileName", "KString", "", "", "C:\Repos\trilib-core\TriLibCoreUnity\Assets\TriLib\TriLibSamples\LoadExtraAnimations\Models\BuddyWalk.fbx" + P: "LastSaved", "Compound", "", "" + P: "LastSaved|ApplicationVendor", "KString", "", "", "Autodesk" + P: "LastSaved|ApplicationName", "KString", "", "", "Maya LT" + P: "LastSaved|ApplicationVersion", "KString", "", "", "202000" + P: "LastSaved|DateTime_GMT", "DateTime", "", "", "25/03/2021 02:30:43.082" + P: "Original|ApplicationActiveProject", "KString", "", "", "C:\Repos\trilib-core\TriLibCoreUnity\Assets\TriLib\TriLibSamples\LoadExtraAnimations\Models" + P: "Original|ApplicationNativeFile", "KString", "", "", "C:\Repos\trilib-core\TriLibCoreUnity\Assets\TriLib\TriLibSamples\LoadExtraAnimations\Source Models\BuddyWalk.mlt" + } + } +} +GlobalSettings: { + Version: 1000 + Properties70: { + P: "UpAxis", "int", "Integer", "",1 + P: "UpAxisSign", "int", "Integer", "",1 + P: "FrontAxis", "int", "Integer", "",2 + P: "FrontAxisSign", "int", "Integer", "",1 + P: "CoordAxis", "int", "Integer", "",0 + P: "CoordAxisSign", "int", "Integer", "",1 + P: "OriginalUpAxis", "int", "Integer", "",1 + P: "OriginalUpAxisSign", "int", "Integer", "",1 + P: "UnitScaleFactor", "double", "Number", "",1 + P: "OriginalUnitScaleFactor", "double", "Number", "",1 + P: "AmbientColor", "ColorRGB", "Color", "",0,0,0 + P: "DefaultCamera", "KString", "", "", "Producer Perspective" + P: "TimeMode", "enum", "", "",6 + P: "TimeProtocol", "enum", "", "",2 + P: "SnapOnFrameMode", "enum", "", "",0 + P: "TimeSpanStart", "KTime", "Time", "",1539538600 + P: "TimeSpanStop", "KTime", "Time", "",44646619400 + P: "CustomFrameRate", "double", "Number", "",-1 + P: "TimeMarker", "Compound", "", "" + P: "CurrentTimeMarker", "int", "Integer", "",-1 + } +} + +; Documents Description +;------------------------------------------------------------------ + +Documents: { + Count: 1 + Document: 2637961761552, "", "Scene" { + Properties70: { + P: "SourceObject", "object", "", "" + P: "ActiveAnimStackName", "KString", "", "", "Take 001" + } + RootNode: 0 + } +} + +; Document References +;------------------------------------------------------------------ + +References: { +} + +; Object definitions +;------------------------------------------------------------------ + +Definitions: { + Version: 100 + Count: 94 + ObjectType: "GlobalSettings" { + Count: 1 + } + ObjectType: "AnimationStack" { + Count: 1 + PropertyTemplate: "FbxAnimStack" { + Properties70: { + P: "Description", "KString", "", "", "" + P: "LocalStart", "KTime", "Time", "",0 + P: "LocalStop", "KTime", "Time", "",0 + P: "ReferenceStart", "KTime", "Time", "",0 + P: "ReferenceStop", "KTime", "Time", "",0 + } + } + } + ObjectType: "AnimationLayer" { + Count: 1 + PropertyTemplate: "FbxAnimLayer" { + Properties70: { + P: "Weight", "Number", "", "A",100 + P: "Mute", "bool", "", "",0 + P: "Solo", "bool", "", "",0 + P: "Lock", "bool", "", "",0 + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "BlendMode", "enum", "", "",0 + P: "RotationAccumulationMode", "enum", "", "",0 + P: "ScaleAccumulationMode", "enum", "", "",0 + P: "BlendModeBypass", "ULongLong", "", "",0 + } + } + } + ObjectType: "Geometry" { + Count: 8 + PropertyTemplate: "FbxMesh" { + Properties70: { + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "BBoxMin", "Vector3D", "Vector", "",0,0,0 + P: "BBoxMax", "Vector3D", "Vector", "",0,0,0 + P: "Primary Visibility", "bool", "", "",1 + P: "Casts Shadows", "bool", "", "",1 + P: "Receive Shadows", "bool", "", "",1 + } + } + } + ObjectType: "Material" { + Count: 3 + PropertyTemplate: "FbxSurfacePhong" { + Properties70: { + P: "ShadingModel", "KString", "", "", "Phong" + P: "MultiLayer", "bool", "", "",0 + P: "EmissiveColor", "Color", "", "A",0,0,0 + P: "EmissiveFactor", "Number", "", "A",1 + P: "AmbientColor", "Color", "", "A",0.2,0.2,0.2 + P: "AmbientFactor", "Number", "", "A",1 + P: "DiffuseColor", "Color", "", "A",0.8,0.8,0.8 + P: "DiffuseFactor", "Number", "", "A",1 + P: "Bump", "Vector3D", "Vector", "",0,0,0 + P: "NormalMap", "Vector3D", "Vector", "",0,0,0 + P: "BumpFactor", "double", "Number", "",1 + P: "TransparentColor", "Color", "", "A",0,0,0 + P: "TransparencyFactor", "Number", "", "A",0 + P: "DisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "DisplacementFactor", "double", "Number", "",1 + P: "VectorDisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "VectorDisplacementFactor", "double", "Number", "",1 + P: "SpecularColor", "Color", "", "A",0.2,0.2,0.2 + P: "SpecularFactor", "Number", "", "A",1 + P: "ShininessExponent", "Number", "", "A",20 + P: "ReflectionColor", "Color", "", "A",0,0,0 + P: "ReflectionFactor", "Number", "", "A",1 + } + } + } + ObjectType: "Model" { + Count: 9 + PropertyTemplate: "FbxNode" { + Properties70: { + P: "QuaternionInterpolate", "enum", "", "",0 + P: "RotationOffset", "Vector3D", "Vector", "",0,0,0 + P: "RotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "ScalingOffset", "Vector3D", "Vector", "",0,0,0 + P: "ScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "TranslationActive", "bool", "", "",0 + P: "TranslationMin", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMax", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMinX", "bool", "", "",0 + P: "TranslationMinY", "bool", "", "",0 + P: "TranslationMinZ", "bool", "", "",0 + P: "TranslationMaxX", "bool", "", "",0 + P: "TranslationMaxY", "bool", "", "",0 + P: "TranslationMaxZ", "bool", "", "",0 + P: "RotationOrder", "enum", "", "",0 + P: "RotationSpaceForLimitOnly", "bool", "", "",0 + P: "RotationStiffnessX", "double", "Number", "",0 + P: "RotationStiffnessY", "double", "Number", "",0 + P: "RotationStiffnessZ", "double", "Number", "",0 + P: "AxisLen", "double", "Number", "",10 + P: "PreRotation", "Vector3D", "Vector", "",0,0,0 + P: "PostRotation", "Vector3D", "Vector", "",0,0,0 + P: "RotationActive", "bool", "", "",0 + P: "RotationMin", "Vector3D", "Vector", "",0,0,0 + P: "RotationMax", "Vector3D", "Vector", "",0,0,0 + P: "RotationMinX", "bool", "", "",0 + P: "RotationMinY", "bool", "", "",0 + P: "RotationMinZ", "bool", "", "",0 + P: "RotationMaxX", "bool", "", "",0 + P: "RotationMaxY", "bool", "", "",0 + P: "RotationMaxZ", "bool", "", "",0 + P: "InheritType", "enum", "", "",0 + P: "ScalingActive", "bool", "", "",0 + P: "ScalingMin", "Vector3D", "Vector", "",0,0,0 + P: "ScalingMax", "Vector3D", "Vector", "",1,1,1 + P: "ScalingMinX", "bool", "", "",0 + P: "ScalingMinY", "bool", "", "",0 + P: "ScalingMinZ", "bool", "", "",0 + P: "ScalingMaxX", "bool", "", "",0 + P: "ScalingMaxY", "bool", "", "",0 + P: "ScalingMaxZ", "bool", "", "",0 + P: "GeometricTranslation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricRotation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricScaling", "Vector3D", "Vector", "",1,1,1 + P: "MinDampRangeX", "double", "Number", "",0 + P: "MinDampRangeY", "double", "Number", "",0 + P: "MinDampRangeZ", "double", "Number", "",0 + P: "MaxDampRangeX", "double", "Number", "",0 + P: "MaxDampRangeY", "double", "Number", "",0 + P: "MaxDampRangeZ", "double", "Number", "",0 + P: "MinDampStrengthX", "double", "Number", "",0 + P: "MinDampStrengthY", "double", "Number", "",0 + P: "MinDampStrengthZ", "double", "Number", "",0 + P: "MaxDampStrengthX", "double", "Number", "",0 + P: "MaxDampStrengthY", "double", "Number", "",0 + P: "MaxDampStrengthZ", "double", "Number", "",0 + P: "PreferedAngleX", "double", "Number", "",0 + P: "PreferedAngleY", "double", "Number", "",0 + P: "PreferedAngleZ", "double", "Number", "",0 + P: "LookAtProperty", "object", "", "" + P: "UpVectorProperty", "object", "", "" + P: "Show", "bool", "", "",1 + P: "NegativePercentShapeSupport", "bool", "", "",1 + P: "DefaultAttributeIndex", "int", "Integer", "",-1 + P: "Freeze", "bool", "", "",0 + P: "LODBox", "bool", "", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,0,0 + P: "Lcl Rotation", "Lcl Rotation", "", "A",0,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1 + P: "Visibility", "Visibility", "", "A",1 + P: "Visibility Inheritance", "Visibility Inheritance", "", "",1 + } + } + } + ObjectType: "NodeAttribute" { + Count: 1 + PropertyTemplate: "FbxNull" { + Properties70: { + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "Size", "double", "Number", "",100 + P: "Look", "enum", "", "",1 + } + } + } + ObjectType: "AnimationCurveNode" { + Count: 20 + PropertyTemplate: "FbxAnimCurveNode" { + Properties70: { + P: "d", "Compound", "", "" + } + } + } + ObjectType: "AnimationCurve" { + Count: 50 + } +} + +; Object properties +;------------------------------------------------------------------ + +Objects: { + Geometry: 2637367266128, "Geometry::", "Mesh" { + Vertices: *276 { + a: 0.250000029802322,-0.95105654001236,-0.181635692715645,0.0954914912581444,-0.95105654001236,-0.293892711400986,-0.0954915508627892,-0.95105654001236,-0.293892651796341,-0.250000059604645,-0.95105654001236,-0.181635633111,-0.309017032384872,-0.95105654001236,1.84188486684889e-08,-0.250000029802322,-0.95105654001236,0.181635677814484,-0.095491498708725,-0.95105654001236,0.293892651796341,0.0954915136098862,-0.95105654001236,0.293892651796341,0.25,-0.95105654001236,0.181635633111,0.30901700258255,-0.95105654001236,0,0.475528299808502,-0.80901700258255,-0.345491588115692,0.181635603308678,-0.80901700258255,-0.55901712179184,-0.181635722517967,-0.80901700258255,-0.559017062187195,-0.475528359413147,-0.80901700258255,-0.345491498708725,-0.587785303592682,-0.80901700258255,3.50347306721233e-08,-0.475528299808502,-0.80901700258255,0.34549155831337,-0.181635618209839,-0.80901700258255,0.559017062187195,0.181635648012161,-0.80901700258255,0.55901700258255,0.47552827000618,-0.80901700258255,0.345491498708725,0.587785243988037,-0.80901700258255,0,0.654508531093597,-0.587785243988037,-0.475528389215469,0.249999955296516,-0.587785243988037,-0.76942104101181,-0.25000011920929,-0.587785243988037,-0.769420981407166,-0.654508650302887,-0.587785243988037,-0.47552827000618,-0.80901712179184,-0.587785243988037,4.82211710561842e-08,-0.654508531093597,-0.587785243988037,0.475528359413147,-0.249999985098839,-0.587785243988037,0.769420981407166,0.250000029802322,-0.587785243988037,0.769420921802521,0.654508531093597,-0.587785243988037,0.47552827000618,0.80901700258255,-0.587785243988037,0,0.769420981407166,-0.309016972780228,-0.559017181396484,0.293892592191696,-0.309016972780228,-0.904508709907532,-0.29389277100563,-0.309016972780228,-0.904508590698242,-0.769421100616455,-0.309016972780228,-0.55901700258255,-0.951056659221649,-0.309016972780228,5.66873872287488e-08,-0.769420981407166,-0.309016972780228,0.55901712179184,-0.293892621994019,-0.309016972780228,0.904508590698242,0.293892681598663,-0.309016972780228,0.904508531093597, +0.769420921802521,-0.309016972780228,0.55901700258255,0.95105654001236,-0.309016972780228,0,0.809017062187195,0,-0.587785422801971,0.309016942977905,0,-0.951056718826294,-0.309017151594162,0,-0.951056599617004,-0.809017181396484,0,-0.587785243988037,-1.00000011920929,0,5.96046447753906e-08,-0.809017062187195,0,0.587785363197327,-0.309016972780228,0,0.951056599617004,0.309017032384872,0,0.95105654001236,0.80901700258255,0,0.587785243988037,1,0,0,0.769420981407166,0.309016972780228,-0.559017181396484,0.293892592191696,0.309016972780228,-0.904508709907532,-0.29389277100563,0.309016972780228,-0.904508590698242,-0.769421100616455,0.309016972780228,-0.55901700258255,-0.951056659221649,0.309016972780228,5.66873872287488e-08,-0.769420981407166,0.309016972780228,0.55901712179184,-0.293892621994019,0.309016972780228,0.904508590698242,0.293892681598663,0.309016972780228,0.904508531093597,0.769420921802521,0.309016972780228,0.55901700258255,0.95105654001236,0.309016972780228,0,0.654508531093597,0.587785243988037,-0.475528389215469,0.249999955296516,0.587785243988037,-0.76942104101181,-0.25000011920929,0.587785243988037,-0.769420981407166,-0.654508650302887,0.587785243988037,-0.47552827000618,-0.80901712179184,0.587785243988037,4.82211710561842e-08,-0.654508531093597,0.587785243988037,0.475528359413147,-0.249999985098839,0.587785243988037,0.769420981407166,0.250000029802322,0.587785243988037,0.769420921802521,0.654508531093597,0.587785243988037,0.47552827000618,0.80901700258255,0.587785243988037,0,0.475528299808502,0.80901700258255,-0.345491588115692,0.181635603308678,0.80901700258255,-0.55901712179184,-0.181635722517967,0.80901700258255,-0.559017062187195,-0.475528359413147,0.80901700258255,-0.345491498708725,-0.587785303592682,0.80901700258255,3.50347306721233e-08,-0.475528299808502,0.80901700258255,0.34549155831337,-0.181635618209839,0.80901700258255,0.559017062187195,0.181635648012161,0.80901700258255,0.55901700258255,0.47552827000618,0.80901700258255,0.345491498708725,0.587785243988037,0.80901700258255,0,0.250000029802322,0.95105654001236,-0.181635692715645, +0.0954914912581444,0.95105654001236,-0.293892711400986,-0.0954915508627892,0.95105654001236,-0.293892651796341,-0.250000059604645,0.95105654001236,-0.181635633111,-0.309017032384872,0.95105654001236,1.84188486684889e-08,-0.250000029802322,0.95105654001236,0.181635677814484,-0.095491498708725,0.95105654001236,0.293892651796341,0.0954915136098862,0.95105654001236,0.293892651796341,0.25,0.95105654001236,0.181635633111,0.30901700258255,0.95105654001236,0,0,-1,0,0,1,0 + } + PolygonVertexIndex: *380 { + a: 0,1,11,-11,1,2,12,-12,2,3,13,-13,3,4,14,-14,4,5,15,-15,5,6,16,-16,6,7,17,-17,7,8,18,-18,8,9,19,-19,9,0,10,-20,10,11,21,-21,11,12,22,-22,12,13,23,-23,13,14,24,-24,14,15,25,-25,15,16,26,-26,16,17,27,-27,17,18,28,-28,18,19,29,-29,19,10,20,-30,20,21,31,-31,21,22,32,-32,22,23,33,-33,23,24,34,-34,24,25,35,-35,25,26,36,-36,26,27,37,-37,27,28,38,-38,28,29,39,-39,29,20,30,-40,30,31,41,-41,31,32,42,-42,32,33,43,-43,33,34,44,-44,34,35,45,-45,35,36,46,-46,36,37,47,-47,37,38,48,-48,38,39,49,-49,39,30,40,-50,40,41,51,-51,41,42,52,-52,42,43,53,-53,43,44,54,-54,44,45,55,-55,45,46,56,-56,46,47,57,-57,47,48,58,-58,48,49,59,-59,49,40,50,-60,50,51,61,-61,51,52,62,-62,52,53,63,-63,53,54,64,-64,54,55,65,-65,55,56,66,-66,56,57,67,-67,57,58,68,-68,58,59,69,-69,59,50,60,-70,60,61,71,-71,61,62,72,-72,62,63,73,-73,63,64,74,-74,64,65,75,-75,65,66,76,-76,66,67,77,-77,67,68,78,-78,68,69,79,-79,69,60,70,-80,70,71,81,-81,71,72,82,-82,72,73,83,-83,73,74,84,-84,74,75,85,-85,75,76,86,-86,76,77,87,-87,77,78,88,-88,78,79,89,-89,79,70,80,-90,1,0,-91,2,1,-91,3,2,-91,4,3,-91,5,4,-91,6,5,-91,7,6,-91,8,7,-91,9,8,-91,0,9,-91,80,81,-92,81,82,-92,82,83,-92,83,84,-92,84,85,-92,85,86,-92,86,87,-92,87,88,-92,88,89,-92,89,80,-92 + } + Edges: *190 { + a: 0,4,8,12,16,20,24,28,32,36,2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,3,1,5,9,13,17,21,25,29,33,43,41,45,49,53,57,61,65,69,73,83,81,85,89,93,97,101,105,109,113,123,121,125,129,133,137,141,145,149,153,163,161,165,169,173,177,181,185,189,193,203,201,205,209,213,217,221,225,229,233,243,241,245,249,253,257,261,265,269,273,283,281,285,289,293,297,301,305,309,313,321,322,325,328,331,334,337,340,343,346,352,351,354,357,360,363,366,369,372,375 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "" + MappingInformationType: "ByVertice" + ReferenceInformationType: "Direct" + Normals: *276 { + a: 0.323956578969955,-0.916326344013214,-0.235368266701698,0.123740307986736,-0.916326344013214,-0.380833715200424,-0.123740427196026,-0.916326344013214,-0.380833685398102,-0.323956489562988,-0.916326344013214,-0.235368117690086,-0.400432199239731,-0.916326344013214,1.02760360221055e-08,-0.323956489562988,-0.916326344013214,0.235368117690086,-0.12374035269022,-0.916326344013214,0.380833774805069,0.123740434646606,-0.916326344013214,0.380833715200424,0.323956549167633,-0.916326344013214,0.23536804318428,0.400432378053665,-0.916326344013214,-6.04106489277001e-08,0.512705028057098,-0.7735475897789,-0.372501939535141,0.195835798978806,-0.7735475897789,-0.60272079706192,-0.195835962891579,-0.773547649383545,-0.60272091627121,-0.512705028057098,-0.773547649383545,-0.372501969337463,-0.633738219738007,-0.773547649383545,4.47503794021031e-08,-0.512704968452454,-0.773547649383545,0.372501999139786,-0.195835798978806,-0.773547530174255,0.60272091627121,0.195835903286934,-0.7735475897789,0.602720856666565,0.512705028057098,-0.773547649383545,0.372501909732819,0.633738219738007,-0.7735475897789,-2.79689906790281e-08,0.67137598991394,-0.55796217918396,-0.487783163785934,0.256442725658417,-0.557962119579315,-0.789249897003174,-0.256442874670029,-0.557962119579315,-0.789249897003174,-0.67137610912323,-0.557962119579315,-0.487783223390579,-0.829866349697113,-0.55796205997467,6.69417232757041e-08,-0.671375930309296,-0.557962119579315,0.487783312797546,-0.256442725658417,-0.557962119579315,0.789249897003174,0.256442874670029,-0.557962119579315,0.789249837398529,0.67137610912323,-0.55796217918396,0.487783253192902,0.829866409301758,-0.557962119579315,1.6735430818926e-08,0.773775935173035,-0.291930258274078,-0.562181055545807,0.295555979013443,-0.291930258274078,-0.90962815284729,-0.295556157827377,-0.291930288076401,-0.909628093242645,-0.773775994777679,-0.291930288076401,-0.562180995941162,-0.956439614295959,-0.291930317878723,9.39327549076552e-08,-0.77377587556839,-0.291930228471756,0.562181115150452,-0.295556038618088,-0.291930228471756,0.90962815284729, +0.295556157827377,-0.291930168867111,0.909628093242645,0.773775935173035,-0.291930168867111,0.562181055545807,0.956439614295959,-0.291930198669434,2.89023827093615e-08,0.80901700258255,4.48810801856325e-08,-0.587785184383392,0.309016823768616,0,-0.95105654001236,-0.30901712179184,3.4523908176709e-09,-0.95105642080307,-0.80901700258255,3.4523908176709e-09,-0.587785124778748,-0.999999940395355,4.14286915884077e-08,1.03571721865592e-07,-0.809016942977905,4.83334723355711e-08,0.587785303592682,-0.309016942977905,0,0.95105654001236,0.30901712179184,-3.45239170584932e-09,0.951056480407715,0.80901700258255,3.45239170584932e-09,0.587785184383392,0.999999940395355,4.48810801856325e-08,5.52382530827344e-08,0.773775994777679,0.291930288076401,-0.562181055545807,0.295555979013443,0.291930228471756,-0.909628093242645,-0.295556157827377,0.291930288076401,-0.909628033638,-0.773775994777679,0.291930317878723,-0.562180936336517,-0.956439554691315,0.291930317878723,7.9481552006655e-08,-0.77377587556839,0.291930258274078,0.562181115150452,-0.29555606842041,0.291930198669434,0.90962815284729,0.295556157827377,0.291930168867111,0.909628093242645,0.773775935173035,0.291930168867111,0.562181055545807,0.956439554691315,0.291930258274078,2.89023827093615e-08,0.671375930309296,0.557962238788605,-0.48778310418129,0.256442725658417,0.55796217918396,-0.789249897003174,-0.256442904472351,0.55796217918396,-0.789249837398529,-0.67137610912323,0.55796217918396,-0.487783163785934,-0.829866349697113,0.557962119579315,4.6022435640225e-08,-0.671376049518585,0.55796217918396,0.487783312797546,-0.256442755460739,0.557962119579315,0.789249897003174,0.256442874670029,0.557962119579315,0.789249897003174,0.67137610912323,0.557962119579315,0.487783282995224,0.829866349697113,0.557962119579315,8.3677145212846e-09,0.512705028057098,0.773547649383545,-0.372501879930496,0.195835798978806,0.7735475897789,-0.602720856666565,-0.195835962891579,0.773547649383545,-0.602720856666565,-0.512704968452454,0.773547649383545,-0.372501909732819,-0.633738219738007,0.773547649383545,5.59379742526289e-09, +-0.512704968452454,0.773547530174255,0.372501999139786,-0.195835784077644,0.773547530174255,0.60272091627121,0.195835947990417,0.7735475897789,0.602720856666565,0.512705028057098,0.7735475897789,0.372501909732819,0.633738279342651,0.7735475897789,2.79689889026713e-08,0.323956578969955,0.916326344013214,-0.235368102788925,0.123740307986736,0.916326344013214,-0.380833685398102,-0.123740427196026,0.916326344013214,-0.380833685398102,-0.323956489562988,0.916326344013214,-0.235368132591248,-0.400432229042053,0.916326344013214,3.11395020879957e-10,-0.323956519365311,0.916326344013214,0.235368207097054,-0.123740345239639,0.916326344013214,0.380833804607391,0.123740434646606,0.916326344013214,0.380833804607391,0.323956608772278,0.916326344013214,0.235368117690086,0.400432378053665,0.916326344013214,7.90943559536572e-08,5.34968958021409e-09,-1,-2.40736035550526e-08,1.06993791604282e-08,1,-2.94232922470883e-08 + } + NormalsW: *92 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "map1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *238 { + a: 0,0.100000001490116,0.100000001490116,0.100000001490116,0.200000002980232,0.100000001490116,0.300000011920929,0.100000001490116,0.400000005960464,0.100000001490116,0.5,0.100000001490116,0.600000023841858,0.100000001490116,0.700000047683716,0.100000001490116,0.800000071525574,0.100000001490116,0.900000095367432,0.100000001490116,1.00000011920929,0.100000001490116,0,0.200000002980232,0.100000001490116,0.200000002980232,0.200000002980232,0.200000002980232,0.300000011920929,0.200000002980232,0.400000005960464,0.200000002980232,0.5,0.200000002980232,0.600000023841858,0.200000002980232,0.700000047683716,0.200000002980232,0.800000071525574,0.200000002980232,0.900000095367432,0.200000002980232,1.00000011920929,0.200000002980232,0,0.300000011920929,0.100000001490116,0.300000011920929,0.200000002980232,0.300000011920929,0.300000011920929,0.300000011920929,0.400000005960464,0.300000011920929,0.5,0.300000011920929,0.600000023841858,0.300000011920929,0.700000047683716,0.300000011920929,0.800000071525574,0.300000011920929,0.900000095367432,0.300000011920929,1.00000011920929,0.300000011920929,0,0.400000005960464,0.100000001490116,0.400000005960464,0.200000002980232,0.400000005960464,0.300000011920929,0.400000005960464,0.400000005960464,0.400000005960464,0.5,0.400000005960464,0.600000023841858,0.400000005960464,0.700000047683716,0.400000005960464,0.800000071525574,0.400000005960464,0.900000095367432,0.400000005960464,1.00000011920929,0.400000005960464,0,0.5,0.100000001490116,0.5,0.200000002980232,0.5,0.300000011920929,0.5,0.400000005960464,0.5,0.5,0.5,0.600000023841858,0.5,0.700000047683716,0.5,0.800000071525574,0.5,0.900000095367432,0.5,1.00000011920929,0.5,0,0.600000023841858,0.100000001490116,0.600000023841858,0.200000002980232,0.600000023841858,0.300000011920929,0.600000023841858,0.400000005960464,0.600000023841858,0.5,0.600000023841858,0.600000023841858,0.600000023841858,0.700000047683716,0.600000023841858,0.800000071525574,0.600000023841858,0.900000095367432,0.600000023841858,1.00000011920929,0.600000023841858, +0,0.700000047683716,0.100000001490116,0.700000047683716,0.200000002980232,0.700000047683716,0.300000011920929,0.700000047683716,0.400000005960464,0.700000047683716,0.5,0.700000047683716,0.600000023841858,0.700000047683716,0.700000047683716,0.700000047683716,0.800000071525574,0.700000047683716,0.900000095367432,0.700000047683716,1.00000011920929,0.700000047683716,0,0.800000071525574,0.100000001490116,0.800000071525574,0.200000002980232,0.800000071525574,0.300000011920929,0.800000071525574,0.400000005960464,0.800000071525574,0.5,0.800000071525574,0.600000023841858,0.800000071525574,0.700000047683716,0.800000071525574,0.800000071525574,0.800000071525574,0.900000095367432,0.800000071525574,1.00000011920929,0.800000071525574,0,0.900000095367432,0.100000001490116,0.900000095367432,0.200000002980232,0.900000095367432,0.300000011920929,0.900000095367432,0.400000005960464,0.900000095367432,0.5,0.900000095367432,0.600000023841858,0.900000095367432,0.700000047683716,0.900000095367432,0.800000071525574,0.900000095367432,0.900000095367432,0.900000095367432,1.00000011920929,0.900000095367432,0.0500000007450581,0,0.150000005960464,0,0.25,0,0.350000023841858,0,0.450000017881393,0,0.550000011920929,0,0.650000035762787,0,0.75,0,0.850000023841858,0,0.950000047683716,0,0.0500000007450581,1,0.150000005960464,1,0.25,1,0.350000023841858,1,0.450000017881393,1,0.550000011920929,1,0.650000035762787,1,0.75,1,0.850000023841858,1,0.950000047683716,1 + } + UVIndex: *380 { + a: 0,1,12,11,1,2,13,12,2,3,14,13,3,4,15,14,4,5,16,15,5,6,17,16,6,7,18,17,7,8,19,18,8,9,20,19,9,10,21,20,11,12,23,22,12,13,24,23,13,14,25,24,14,15,26,25,15,16,27,26,16,17,28,27,17,18,29,28,18,19,30,29,19,20,31,30,20,21,32,31,22,23,34,33,23,24,35,34,24,25,36,35,25,26,37,36,26,27,38,37,27,28,39,38,28,29,40,39,29,30,41,40,30,31,42,41,31,32,43,42,33,34,45,44,34,35,46,45,35,36,47,46,36,37,48,47,37,38,49,48,38,39,50,49,39,40,51,50,40,41,52,51,41,42,53,52,42,43,54,53,44,45,56,55,45,46,57,56,46,47,58,57,47,48,59,58,48,49,60,59,49,50,61,60,50,51,62,61,51,52,63,62,52,53,64,63,53,54,65,64,55,56,67,66,56,57,68,67,57,58,69,68,58,59,70,69,59,60,71,70,60,61,72,71,61,62,73,72,62,63,74,73,63,64,75,74,64,65,76,75,66,67,78,77,67,68,79,78,68,69,80,79,69,70,81,80,70,71,82,81,71,72,83,82,72,73,84,83,73,74,85,84,74,75,86,85,75,76,87,86,77,78,89,88,78,79,90,89,79,80,91,90,80,81,92,91,81,82,93,92,82,83,94,93,83,84,95,94,84,85,96,95,85,86,97,96,86,87,98,97,1,0,99,2,1,100,3,2,101,4,3,102,5,4,103,6,5,104,7,6,105,8,7,106,9,8,107,10,9,108,88,89,109,89,90,110,90,91,111,91,92,112,92,93,113,93,94,114,94,95,115,95,96,116,96,97,117,97,98,118 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Geometry: 2637367263632, "Geometry::", "Mesh" { + Vertices: *276 { + a: 0.250000029802322,-0.95105654001236,-0.181635692715645,0.0954914912581444,-0.95105654001236,-0.293892711400986,-0.0954915508627892,-0.95105654001236,-0.293892651796341,-0.250000059604645,-0.95105654001236,-0.181635633111,-0.309017032384872,-0.95105654001236,1.84188486684889e-08,-0.250000029802322,-0.95105654001236,0.181635677814484,-0.095491498708725,-0.95105654001236,0.293892651796341,0.0954915136098862,-0.95105654001236,0.293892651796341,0.25,-0.95105654001236,0.181635633111,0.30901700258255,-0.95105654001236,0,0.475528299808502,-0.80901700258255,-0.345491588115692,0.181635603308678,-0.80901700258255,-0.55901712179184,-0.181635722517967,-0.80901700258255,-0.559017062187195,-0.475528359413147,-0.80901700258255,-0.345491498708725,-0.587785303592682,-0.80901700258255,3.50347306721233e-08,-0.475528299808502,-0.80901700258255,0.34549155831337,-0.181635618209839,-0.80901700258255,0.559017062187195,0.181635648012161,-0.80901700258255,0.55901700258255,0.47552827000618,-0.80901700258255,0.345491498708725,0.587785243988037,-0.80901700258255,0,0.654508531093597,-0.587785243988037,-0.475528389215469,0.249999955296516,-0.587785243988037,-0.76942104101181,-0.25000011920929,-0.587785243988037,-0.769420981407166,-0.654508650302887,-0.587785243988037,-0.47552827000618,-0.80901712179184,-0.587785243988037,4.82211710561842e-08,-0.654508531093597,-0.587785243988037,0.475528359413147,-0.249999985098839,-0.587785243988037,0.769420981407166,0.250000029802322,-0.587785243988037,0.769420921802521,0.654508531093597,-0.587785243988037,0.47552827000618,0.80901700258255,-0.587785243988037,0,0.769420981407166,-0.309016972780228,-0.559017181396484,0.293892592191696,-0.309016972780228,-0.904508709907532,-0.29389277100563,-0.309016972780228,-0.904508590698242,-0.769421100616455,-0.309016972780228,-0.55901700258255,-0.951056659221649,-0.309016972780228,5.66873872287488e-08,-0.769420981407166,-0.309016972780228,0.55901712179184,-0.293892621994019,-0.309016972780228,0.904508590698242,0.293892681598663,-0.309016972780228,0.904508531093597, +0.769420921802521,-0.309016972780228,0.55901700258255,0.95105654001236,-0.309016972780228,0,0.809017062187195,0,-0.587785422801971,0.309016942977905,0,-0.951056718826294,-0.309017151594162,0,-0.951056599617004,-0.809017181396484,0,-0.587785243988037,-1.00000011920929,0,5.96046447753906e-08,-0.809017062187195,0,0.587785363197327,-0.309016972780228,0,0.951056599617004,0.309017032384872,0,0.95105654001236,0.80901700258255,0,0.587785243988037,1,0,0,0.769420981407166,0.309016972780228,-0.559017181396484,0.293892592191696,0.309016972780228,-0.904508709907532,-0.29389277100563,0.309016972780228,-0.904508590698242,-0.769421100616455,0.309016972780228,-0.55901700258255,-0.951056659221649,0.309016972780228,5.66873872287488e-08,-0.769420981407166,0.309016972780228,0.55901712179184,-0.293892621994019,0.309016972780228,0.904508590698242,0.293892681598663,0.309016972780228,0.904508531093597,0.769420921802521,0.309016972780228,0.55901700258255,0.95105654001236,0.309016972780228,0,0.654508531093597,0.587785243988037,-0.475528389215469,0.249999955296516,0.587785243988037,-0.76942104101181,-0.25000011920929,0.587785243988037,-0.769420981407166,-0.654508650302887,0.587785243988037,-0.47552827000618,-0.80901712179184,0.587785243988037,4.82211710561842e-08,-0.654508531093597,0.587785243988037,0.475528359413147,-0.249999985098839,0.587785243988037,0.769420981407166,0.250000029802322,0.587785243988037,0.769420921802521,0.654508531093597,0.587785243988037,0.47552827000618,0.80901700258255,0.587785243988037,0,0.475528299808502,0.80901700258255,-0.345491588115692,0.181635603308678,0.80901700258255,-0.55901712179184,-0.181635722517967,0.80901700258255,-0.559017062187195,-0.475528359413147,0.80901700258255,-0.345491498708725,-0.587785303592682,0.80901700258255,3.50347306721233e-08,-0.475528299808502,0.80901700258255,0.34549155831337,-0.181635618209839,0.80901700258255,0.559017062187195,0.181635648012161,0.80901700258255,0.55901700258255,0.47552827000618,0.80901700258255,0.345491498708725,0.587785243988037,0.80901700258255,0,0.250000029802322,0.95105654001236,-0.181635692715645, +0.0954914912581444,0.95105654001236,-0.293892711400986,-0.0954915508627892,0.95105654001236,-0.293892651796341,-0.250000059604645,0.95105654001236,-0.181635633111,-0.309017032384872,0.95105654001236,1.84188486684889e-08,-0.250000029802322,0.95105654001236,0.181635677814484,-0.095491498708725,0.95105654001236,0.293892651796341,0.0954915136098862,0.95105654001236,0.293892651796341,0.25,0.95105654001236,0.181635633111,0.30901700258255,0.95105654001236,0,0,-1,0,0,1,0 + } + PolygonVertexIndex: *380 { + a: 0,1,11,-11,1,2,12,-12,2,3,13,-13,3,4,14,-14,4,5,15,-15,5,6,16,-16,6,7,17,-17,7,8,18,-18,8,9,19,-19,9,0,10,-20,10,11,21,-21,11,12,22,-22,12,13,23,-23,13,14,24,-24,14,15,25,-25,15,16,26,-26,16,17,27,-27,17,18,28,-28,18,19,29,-29,19,10,20,-30,20,21,31,-31,21,22,32,-32,22,23,33,-33,23,24,34,-34,24,25,35,-35,25,26,36,-36,26,27,37,-37,27,28,38,-38,28,29,39,-39,29,20,30,-40,30,31,41,-41,31,32,42,-42,32,33,43,-43,33,34,44,-44,34,35,45,-45,35,36,46,-46,36,37,47,-47,37,38,48,-48,38,39,49,-49,39,30,40,-50,40,41,51,-51,41,42,52,-52,42,43,53,-53,43,44,54,-54,44,45,55,-55,45,46,56,-56,46,47,57,-57,47,48,58,-58,48,49,59,-59,49,40,50,-60,50,51,61,-61,51,52,62,-62,52,53,63,-63,53,54,64,-64,54,55,65,-65,55,56,66,-66,56,57,67,-67,57,58,68,-68,58,59,69,-69,59,50,60,-70,60,61,71,-71,61,62,72,-72,62,63,73,-73,63,64,74,-74,64,65,75,-75,65,66,76,-76,66,67,77,-77,67,68,78,-78,68,69,79,-79,69,60,70,-80,70,71,81,-81,71,72,82,-82,72,73,83,-83,73,74,84,-84,74,75,85,-85,75,76,86,-86,76,77,87,-87,77,78,88,-88,78,79,89,-89,79,70,80,-90,1,0,-91,2,1,-91,3,2,-91,4,3,-91,5,4,-91,6,5,-91,7,6,-91,8,7,-91,9,8,-91,0,9,-91,80,81,-92,81,82,-92,82,83,-92,83,84,-92,84,85,-92,85,86,-92,86,87,-92,87,88,-92,88,89,-92,89,80,-92 + } + Edges: *190 { + a: 0,4,8,12,16,20,24,28,32,36,2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,3,1,5,9,13,17,21,25,29,33,43,41,45,49,53,57,61,65,69,73,83,81,85,89,93,97,101,105,109,113,123,121,125,129,133,137,141,145,149,153,163,161,165,169,173,177,181,185,189,193,203,201,205,209,213,217,221,225,229,233,243,241,245,249,253,257,261,265,269,273,283,281,285,289,293,297,301,305,309,313,321,322,325,328,331,334,337,340,343,346,352,351,354,357,360,363,366,369,372,375 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "" + MappingInformationType: "ByVertice" + ReferenceInformationType: "Direct" + Normals: *276 { + a: 0.323956578969955,-0.916326344013214,-0.235368266701698,0.123740307986736,-0.916326344013214,-0.380833715200424,-0.123740427196026,-0.916326344013214,-0.380833685398102,-0.323956489562988,-0.916326344013214,-0.235368117690086,-0.400432199239731,-0.916326344013214,1.02760360221055e-08,-0.323956489562988,-0.916326344013214,0.235368117690086,-0.12374035269022,-0.916326344013214,0.380833774805069,0.123740434646606,-0.916326344013214,0.380833715200424,0.323956549167633,-0.916326344013214,0.23536804318428,0.400432378053665,-0.916326344013214,-6.04106489277001e-08,0.512705028057098,-0.7735475897789,-0.372501939535141,0.195835798978806,-0.7735475897789,-0.60272079706192,-0.195835962891579,-0.773547649383545,-0.60272091627121,-0.512705028057098,-0.773547649383545,-0.372501969337463,-0.633738219738007,-0.773547649383545,4.47503794021031e-08,-0.512704968452454,-0.773547649383545,0.372501999139786,-0.195835798978806,-0.773547530174255,0.60272091627121,0.195835903286934,-0.7735475897789,0.602720856666565,0.512705028057098,-0.773547649383545,0.372501909732819,0.633738219738007,-0.7735475897789,-2.79689906790281e-08,0.67137598991394,-0.55796217918396,-0.487783163785934,0.256442725658417,-0.557962119579315,-0.789249897003174,-0.256442874670029,-0.557962119579315,-0.789249897003174,-0.67137610912323,-0.557962119579315,-0.487783223390579,-0.829866349697113,-0.55796205997467,6.69417232757041e-08,-0.671375930309296,-0.557962119579315,0.487783312797546,-0.256442725658417,-0.557962119579315,0.789249897003174,0.256442874670029,-0.557962119579315,0.789249837398529,0.67137610912323,-0.55796217918396,0.487783253192902,0.829866409301758,-0.557962119579315,1.6735430818926e-08,0.773775935173035,-0.291930258274078,-0.562181055545807,0.295555979013443,-0.291930258274078,-0.90962815284729,-0.295556157827377,-0.291930288076401,-0.909628093242645,-0.773775994777679,-0.291930288076401,-0.562180995941162,-0.956439614295959,-0.291930317878723,9.39327549076552e-08,-0.77377587556839,-0.291930228471756,0.562181115150452,-0.295556038618088,-0.291930228471756,0.90962815284729, +0.295556157827377,-0.291930168867111,0.909628093242645,0.773775935173035,-0.291930168867111,0.562181055545807,0.956439614295959,-0.291930198669434,2.89023827093615e-08,0.80901700258255,4.48810801856325e-08,-0.587785184383392,0.309016823768616,0,-0.95105654001236,-0.30901712179184,3.4523908176709e-09,-0.95105642080307,-0.80901700258255,3.4523908176709e-09,-0.587785124778748,-0.999999940395355,4.14286915884077e-08,1.03571721865592e-07,-0.809016942977905,4.83334723355711e-08,0.587785303592682,-0.309016942977905,0,0.95105654001236,0.30901712179184,-3.45239170584932e-09,0.951056480407715,0.80901700258255,3.45239170584932e-09,0.587785184383392,0.999999940395355,4.48810801856325e-08,5.52382530827344e-08,0.773775994777679,0.291930288076401,-0.562181055545807,0.295555979013443,0.291930228471756,-0.909628093242645,-0.295556157827377,0.291930288076401,-0.909628033638,-0.773775994777679,0.291930317878723,-0.562180936336517,-0.956439554691315,0.291930317878723,7.9481552006655e-08,-0.77377587556839,0.291930258274078,0.562181115150452,-0.29555606842041,0.291930198669434,0.90962815284729,0.295556157827377,0.291930168867111,0.909628093242645,0.773775935173035,0.291930168867111,0.562181055545807,0.956439554691315,0.291930258274078,2.89023827093615e-08,0.671375930309296,0.557962238788605,-0.48778310418129,0.256442725658417,0.55796217918396,-0.789249897003174,-0.256442904472351,0.55796217918396,-0.789249837398529,-0.67137610912323,0.55796217918396,-0.487783163785934,-0.829866349697113,0.557962119579315,4.6022435640225e-08,-0.671376049518585,0.55796217918396,0.487783312797546,-0.256442755460739,0.557962119579315,0.789249897003174,0.256442874670029,0.557962119579315,0.789249897003174,0.67137610912323,0.557962119579315,0.487783282995224,0.829866349697113,0.557962119579315,8.3677145212846e-09,0.512705028057098,0.773547649383545,-0.372501879930496,0.195835798978806,0.7735475897789,-0.602720856666565,-0.195835962891579,0.773547649383545,-0.602720856666565,-0.512704968452454,0.773547649383545,-0.372501909732819,-0.633738219738007,0.773547649383545,5.59379742526289e-09, +-0.512704968452454,0.773547530174255,0.372501999139786,-0.195835784077644,0.773547530174255,0.60272091627121,0.195835947990417,0.7735475897789,0.602720856666565,0.512705028057098,0.7735475897789,0.372501909732819,0.633738279342651,0.7735475897789,2.79689889026713e-08,0.323956578969955,0.916326344013214,-0.235368102788925,0.123740307986736,0.916326344013214,-0.380833685398102,-0.123740427196026,0.916326344013214,-0.380833685398102,-0.323956489562988,0.916326344013214,-0.235368132591248,-0.400432229042053,0.916326344013214,3.11395020879957e-10,-0.323956519365311,0.916326344013214,0.235368207097054,-0.123740345239639,0.916326344013214,0.380833804607391,0.123740434646606,0.916326344013214,0.380833804607391,0.323956608772278,0.916326344013214,0.235368117690086,0.400432378053665,0.916326344013214,7.90943559536572e-08,5.34968958021409e-09,-1,-2.40736035550526e-08,1.06993791604282e-08,1,-2.94232922470883e-08 + } + NormalsW: *92 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "map1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *238 { + a: 0,0.100000001490116,0.100000001490116,0.100000001490116,0.200000002980232,0.100000001490116,0.300000011920929,0.100000001490116,0.400000005960464,0.100000001490116,0.5,0.100000001490116,0.600000023841858,0.100000001490116,0.700000047683716,0.100000001490116,0.800000071525574,0.100000001490116,0.900000095367432,0.100000001490116,1.00000011920929,0.100000001490116,0,0.200000002980232,0.100000001490116,0.200000002980232,0.200000002980232,0.200000002980232,0.300000011920929,0.200000002980232,0.400000005960464,0.200000002980232,0.5,0.200000002980232,0.600000023841858,0.200000002980232,0.700000047683716,0.200000002980232,0.800000071525574,0.200000002980232,0.900000095367432,0.200000002980232,1.00000011920929,0.200000002980232,0,0.300000011920929,0.100000001490116,0.300000011920929,0.200000002980232,0.300000011920929,0.300000011920929,0.300000011920929,0.400000005960464,0.300000011920929,0.5,0.300000011920929,0.600000023841858,0.300000011920929,0.700000047683716,0.300000011920929,0.800000071525574,0.300000011920929,0.900000095367432,0.300000011920929,1.00000011920929,0.300000011920929,0,0.400000005960464,0.100000001490116,0.400000005960464,0.200000002980232,0.400000005960464,0.300000011920929,0.400000005960464,0.400000005960464,0.400000005960464,0.5,0.400000005960464,0.600000023841858,0.400000005960464,0.700000047683716,0.400000005960464,0.800000071525574,0.400000005960464,0.900000095367432,0.400000005960464,1.00000011920929,0.400000005960464,0,0.5,0.100000001490116,0.5,0.200000002980232,0.5,0.300000011920929,0.5,0.400000005960464,0.5,0.5,0.5,0.600000023841858,0.5,0.700000047683716,0.5,0.800000071525574,0.5,0.900000095367432,0.5,1.00000011920929,0.5,0,0.600000023841858,0.100000001490116,0.600000023841858,0.200000002980232,0.600000023841858,0.300000011920929,0.600000023841858,0.400000005960464,0.600000023841858,0.5,0.600000023841858,0.600000023841858,0.600000023841858,0.700000047683716,0.600000023841858,0.800000071525574,0.600000023841858,0.900000095367432,0.600000023841858,1.00000011920929,0.600000023841858, +0,0.700000047683716,0.100000001490116,0.700000047683716,0.200000002980232,0.700000047683716,0.300000011920929,0.700000047683716,0.400000005960464,0.700000047683716,0.5,0.700000047683716,0.600000023841858,0.700000047683716,0.700000047683716,0.700000047683716,0.800000071525574,0.700000047683716,0.900000095367432,0.700000047683716,1.00000011920929,0.700000047683716,0,0.800000071525574,0.100000001490116,0.800000071525574,0.200000002980232,0.800000071525574,0.300000011920929,0.800000071525574,0.400000005960464,0.800000071525574,0.5,0.800000071525574,0.600000023841858,0.800000071525574,0.700000047683716,0.800000071525574,0.800000071525574,0.800000071525574,0.900000095367432,0.800000071525574,1.00000011920929,0.800000071525574,0,0.900000095367432,0.100000001490116,0.900000095367432,0.200000002980232,0.900000095367432,0.300000011920929,0.900000095367432,0.400000005960464,0.900000095367432,0.5,0.900000095367432,0.600000023841858,0.900000095367432,0.700000047683716,0.900000095367432,0.800000071525574,0.900000095367432,0.900000095367432,0.900000095367432,1.00000011920929,0.900000095367432,0.0500000007450581,0,0.150000005960464,0,0.25,0,0.350000023841858,0,0.450000017881393,0,0.550000011920929,0,0.650000035762787,0,0.75,0,0.850000023841858,0,0.950000047683716,0,0.0500000007450581,1,0.150000005960464,1,0.25,1,0.350000023841858,1,0.450000017881393,1,0.550000011920929,1,0.650000035762787,1,0.75,1,0.850000023841858,1,0.950000047683716,1 + } + UVIndex: *380 { + a: 0,1,12,11,1,2,13,12,2,3,14,13,3,4,15,14,4,5,16,15,5,6,17,16,6,7,18,17,7,8,19,18,8,9,20,19,9,10,21,20,11,12,23,22,12,13,24,23,13,14,25,24,14,15,26,25,15,16,27,26,16,17,28,27,17,18,29,28,18,19,30,29,19,20,31,30,20,21,32,31,22,23,34,33,23,24,35,34,24,25,36,35,25,26,37,36,26,27,38,37,27,28,39,38,28,29,40,39,29,30,41,40,30,31,42,41,31,32,43,42,33,34,45,44,34,35,46,45,35,36,47,46,36,37,48,47,37,38,49,48,38,39,50,49,39,40,51,50,40,41,52,51,41,42,53,52,42,43,54,53,44,45,56,55,45,46,57,56,46,47,58,57,47,48,59,58,48,49,60,59,49,50,61,60,50,51,62,61,51,52,63,62,52,53,64,63,53,54,65,64,55,56,67,66,56,57,68,67,57,58,69,68,58,59,70,69,59,60,71,70,60,61,72,71,61,62,73,72,62,63,74,73,63,64,75,74,64,65,76,75,66,67,78,77,67,68,79,78,68,69,80,79,69,70,81,80,70,71,82,81,71,72,83,82,72,73,84,83,73,74,85,84,74,75,86,85,75,76,87,86,77,78,89,88,78,79,90,89,79,80,91,90,80,81,92,91,81,82,93,92,82,83,94,93,83,84,95,94,84,85,96,95,85,86,97,96,86,87,98,97,1,0,99,2,1,100,3,2,101,4,3,102,5,4,103,6,5,104,7,6,105,8,7,106,9,8,107,10,9,108,88,89,109,89,90,110,90,91,111,91,92,112,92,93,113,93,94,114,94,95,115,95,96,116,96,97,117,97,98,118 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Geometry: 2637367261552, "Geometry::", "Mesh" { + Vertices: *276 { + a: 0.250000029802322,-0.95105654001236,-0.181635692715645,0.0954914912581444,-0.95105654001236,-0.293892711400986,-0.0954915508627892,-0.95105654001236,-0.293892651796341,-0.250000059604645,-0.95105654001236,-0.181635633111,-0.309017032384872,-0.95105654001236,1.84188486684889e-08,-0.250000029802322,-0.95105654001236,0.181635677814484,-0.095491498708725,-0.95105654001236,0.293892651796341,0.0954915136098862,-0.95105654001236,0.293892651796341,0.25,-0.95105654001236,0.181635633111,0.30901700258255,-0.95105654001236,0,0.475528299808502,-0.80901700258255,-0.345491588115692,0.181635603308678,-0.80901700258255,-0.55901712179184,-0.181635722517967,-0.80901700258255,-0.559017062187195,-0.475528359413147,-0.80901700258255,-0.345491498708725,-0.587785303592682,-0.80901700258255,3.50347306721233e-08,-0.475528299808502,-0.80901700258255,0.34549155831337,-0.181635618209839,-0.80901700258255,0.559017062187195,0.181635648012161,-0.80901700258255,0.55901700258255,0.47552827000618,-0.80901700258255,0.345491498708725,0.587785243988037,-0.80901700258255,0,0.654508531093597,-0.587785243988037,-0.475528389215469,0.249999955296516,-0.587785243988037,-0.76942104101181,-0.25000011920929,-0.587785243988037,-0.769420981407166,-0.654508650302887,-0.587785243988037,-0.47552827000618,-0.80901712179184,-0.587785243988037,4.82211710561842e-08,-0.654508531093597,-0.587785243988037,0.475528359413147,-0.249999985098839,-0.587785243988037,0.769420981407166,0.250000029802322,-0.587785243988037,0.769420921802521,0.654508531093597,-0.587785243988037,0.47552827000618,0.80901700258255,-0.587785243988037,0,0.769420981407166,-0.309016972780228,-0.559017181396484,0.293892592191696,-0.309016972780228,-0.904508709907532,-0.29389277100563,-0.309016972780228,-0.904508590698242,-0.769421100616455,-0.309016972780228,-0.55901700258255,-0.951056659221649,-0.309016972780228,5.66873872287488e-08,-0.769420981407166,-0.309016972780228,0.55901712179184,-0.293892621994019,-0.309016972780228,0.904508590698242,0.293892681598663,-0.309016972780228,0.904508531093597, +0.769420921802521,-0.309016972780228,0.55901700258255,0.95105654001236,-0.309016972780228,0,0.809017062187195,0,-0.587785422801971,0.309016942977905,0,-0.951056718826294,-0.309017151594162,0,-0.951056599617004,-0.809017181396484,0,-0.587785243988037,-1.00000011920929,0,5.96046447753906e-08,-0.809017062187195,0,0.587785363197327,-0.309016972780228,0,0.951056599617004,0.309017032384872,0,0.95105654001236,0.80901700258255,0,0.587785243988037,1,0,0,0.769420981407166,0.309016972780228,-0.559017181396484,0.293892592191696,0.309016972780228,-0.904508709907532,-0.29389277100563,0.309016972780228,-0.904508590698242,-0.769421100616455,0.309016972780228,-0.55901700258255,-0.951056659221649,0.309016972780228,5.66873872287488e-08,-0.769420981407166,0.309016972780228,0.55901712179184,-0.293892621994019,0.309016972780228,0.904508590698242,0.293892681598663,0.309016972780228,0.904508531093597,0.769420921802521,0.309016972780228,0.55901700258255,0.95105654001236,0.309016972780228,0,0.654508531093597,0.587785243988037,-0.475528389215469,0.249999955296516,0.587785243988037,-0.76942104101181,-0.25000011920929,0.587785243988037,-0.769420981407166,-0.654508650302887,0.587785243988037,-0.47552827000618,-0.80901712179184,0.587785243988037,4.82211710561842e-08,-0.654508531093597,0.587785243988037,0.475528359413147,-0.249999985098839,0.587785243988037,0.769420981407166,0.250000029802322,0.587785243988037,0.769420921802521,0.654508531093597,0.587785243988037,0.47552827000618,0.80901700258255,0.587785243988037,0,0.475528299808502,0.80901700258255,-0.345491588115692,0.181635603308678,0.80901700258255,-0.55901712179184,-0.181635722517967,0.80901700258255,-0.559017062187195,-0.475528359413147,0.80901700258255,-0.345491498708725,-0.587785303592682,0.80901700258255,3.50347306721233e-08,-0.475528299808502,0.80901700258255,0.34549155831337,-0.181635618209839,0.80901700258255,0.559017062187195,0.181635648012161,0.80901700258255,0.55901700258255,0.47552827000618,0.80901700258255,0.345491498708725,0.587785243988037,0.80901700258255,0,0.250000029802322,0.95105654001236,-0.181635692715645, +0.0954914912581444,0.95105654001236,-0.293892711400986,-0.0954915508627892,0.95105654001236,-0.293892651796341,-0.250000059604645,0.95105654001236,-0.181635633111,-0.309017032384872,0.95105654001236,1.84188486684889e-08,-0.250000029802322,0.95105654001236,0.181635677814484,-0.095491498708725,0.95105654001236,0.293892651796341,0.0954915136098862,0.95105654001236,0.293892651796341,0.25,0.95105654001236,0.181635633111,0.30901700258255,0.95105654001236,0,0,-1,0,0,1,0 + } + PolygonVertexIndex: *380 { + a: 0,1,11,-11,1,2,12,-12,2,3,13,-13,3,4,14,-14,4,5,15,-15,5,6,16,-16,6,7,17,-17,7,8,18,-18,8,9,19,-19,9,0,10,-20,10,11,21,-21,11,12,22,-22,12,13,23,-23,13,14,24,-24,14,15,25,-25,15,16,26,-26,16,17,27,-27,17,18,28,-28,18,19,29,-29,19,10,20,-30,20,21,31,-31,21,22,32,-32,22,23,33,-33,23,24,34,-34,24,25,35,-35,25,26,36,-36,26,27,37,-37,27,28,38,-38,28,29,39,-39,29,20,30,-40,30,31,41,-41,31,32,42,-42,32,33,43,-43,33,34,44,-44,34,35,45,-45,35,36,46,-46,36,37,47,-47,37,38,48,-48,38,39,49,-49,39,30,40,-50,40,41,51,-51,41,42,52,-52,42,43,53,-53,43,44,54,-54,44,45,55,-55,45,46,56,-56,46,47,57,-57,47,48,58,-58,48,49,59,-59,49,40,50,-60,50,51,61,-61,51,52,62,-62,52,53,63,-63,53,54,64,-64,54,55,65,-65,55,56,66,-66,56,57,67,-67,57,58,68,-68,58,59,69,-69,59,50,60,-70,60,61,71,-71,61,62,72,-72,62,63,73,-73,63,64,74,-74,64,65,75,-75,65,66,76,-76,66,67,77,-77,67,68,78,-78,68,69,79,-79,69,60,70,-80,70,71,81,-81,71,72,82,-82,72,73,83,-83,73,74,84,-84,74,75,85,-85,75,76,86,-86,76,77,87,-87,77,78,88,-88,78,79,89,-89,79,70,80,-90,1,0,-91,2,1,-91,3,2,-91,4,3,-91,5,4,-91,6,5,-91,7,6,-91,8,7,-91,9,8,-91,0,9,-91,80,81,-92,81,82,-92,82,83,-92,83,84,-92,84,85,-92,85,86,-92,86,87,-92,87,88,-92,88,89,-92,89,80,-92 + } + Edges: *190 { + a: 0,4,8,12,16,20,24,28,32,36,2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,3,1,5,9,13,17,21,25,29,33,43,41,45,49,53,57,61,65,69,73,83,81,85,89,93,97,101,105,109,113,123,121,125,129,133,137,141,145,149,153,163,161,165,169,173,177,181,185,189,193,203,201,205,209,213,217,221,225,229,233,243,241,245,249,253,257,261,265,269,273,283,281,285,289,293,297,301,305,309,313,321,322,325,328,331,334,337,340,343,346,352,351,354,357,360,363,366,369,372,375 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "" + MappingInformationType: "ByVertice" + ReferenceInformationType: "Direct" + Normals: *276 { + a: 0.323956578969955,-0.916326344013214,-0.235368266701698,0.123740307986736,-0.916326344013214,-0.380833715200424,-0.123740427196026,-0.916326344013214,-0.380833685398102,-0.323956489562988,-0.916326344013214,-0.235368117690086,-0.400432199239731,-0.916326344013214,1.02760360221055e-08,-0.323956489562988,-0.916326344013214,0.235368117690086,-0.12374035269022,-0.916326344013214,0.380833774805069,0.123740434646606,-0.916326344013214,0.380833715200424,0.323956549167633,-0.916326344013214,0.23536804318428,0.400432378053665,-0.916326344013214,-6.04106489277001e-08,0.512705028057098,-0.7735475897789,-0.372501939535141,0.195835798978806,-0.7735475897789,-0.60272079706192,-0.195835962891579,-0.773547649383545,-0.60272091627121,-0.512705028057098,-0.773547649383545,-0.372501969337463,-0.633738219738007,-0.773547649383545,4.47503794021031e-08,-0.512704968452454,-0.773547649383545,0.372501999139786,-0.195835798978806,-0.773547530174255,0.60272091627121,0.195835903286934,-0.7735475897789,0.602720856666565,0.512705028057098,-0.773547649383545,0.372501909732819,0.633738219738007,-0.7735475897789,-2.79689906790281e-08,0.67137598991394,-0.55796217918396,-0.487783163785934,0.256442725658417,-0.557962119579315,-0.789249897003174,-0.256442874670029,-0.557962119579315,-0.789249897003174,-0.67137610912323,-0.557962119579315,-0.487783223390579,-0.829866349697113,-0.55796205997467,6.69417232757041e-08,-0.671375930309296,-0.557962119579315,0.487783312797546,-0.256442725658417,-0.557962119579315,0.789249897003174,0.256442874670029,-0.557962119579315,0.789249837398529,0.67137610912323,-0.55796217918396,0.487783253192902,0.829866409301758,-0.557962119579315,1.6735430818926e-08,0.773775935173035,-0.291930258274078,-0.562181055545807,0.295555979013443,-0.291930258274078,-0.90962815284729,-0.295556157827377,-0.291930288076401,-0.909628093242645,-0.773775994777679,-0.291930288076401,-0.562180995941162,-0.956439614295959,-0.291930317878723,9.39327549076552e-08,-0.77377587556839,-0.291930228471756,0.562181115150452,-0.295556038618088,-0.291930228471756,0.90962815284729, +0.295556157827377,-0.291930168867111,0.909628093242645,0.773775935173035,-0.291930168867111,0.562181055545807,0.956439614295959,-0.291930198669434,2.89023827093615e-08,0.80901700258255,4.48810801856325e-08,-0.587785184383392,0.309016823768616,0,-0.95105654001236,-0.30901712179184,3.4523908176709e-09,-0.95105642080307,-0.80901700258255,3.4523908176709e-09,-0.587785124778748,-0.999999940395355,4.14286915884077e-08,1.03571721865592e-07,-0.809016942977905,4.83334723355711e-08,0.587785303592682,-0.309016942977905,0,0.95105654001236,0.30901712179184,-3.45239170584932e-09,0.951056480407715,0.80901700258255,3.45239170584932e-09,0.587785184383392,0.999999940395355,4.48810801856325e-08,5.52382530827344e-08,0.773775994777679,0.291930288076401,-0.562181055545807,0.295555979013443,0.291930228471756,-0.909628093242645,-0.295556157827377,0.291930288076401,-0.909628033638,-0.773775994777679,0.291930317878723,-0.562180936336517,-0.956439554691315,0.291930317878723,7.9481552006655e-08,-0.77377587556839,0.291930258274078,0.562181115150452,-0.29555606842041,0.291930198669434,0.90962815284729,0.295556157827377,0.291930168867111,0.909628093242645,0.773775935173035,0.291930168867111,0.562181055545807,0.956439554691315,0.291930258274078,2.89023827093615e-08,0.671375930309296,0.557962238788605,-0.48778310418129,0.256442725658417,0.55796217918396,-0.789249897003174,-0.256442904472351,0.55796217918396,-0.789249837398529,-0.67137610912323,0.55796217918396,-0.487783163785934,-0.829866349697113,0.557962119579315,4.6022435640225e-08,-0.671376049518585,0.55796217918396,0.487783312797546,-0.256442755460739,0.557962119579315,0.789249897003174,0.256442874670029,0.557962119579315,0.789249897003174,0.67137610912323,0.557962119579315,0.487783282995224,0.829866349697113,0.557962119579315,8.3677145212846e-09,0.512705028057098,0.773547649383545,-0.372501879930496,0.195835798978806,0.7735475897789,-0.602720856666565,-0.195835962891579,0.773547649383545,-0.602720856666565,-0.512704968452454,0.773547649383545,-0.372501909732819,-0.633738219738007,0.773547649383545,5.59379742526289e-09, +-0.512704968452454,0.773547530174255,0.372501999139786,-0.195835784077644,0.773547530174255,0.60272091627121,0.195835947990417,0.7735475897789,0.602720856666565,0.512705028057098,0.7735475897789,0.372501909732819,0.633738279342651,0.7735475897789,2.79689889026713e-08,0.323956578969955,0.916326344013214,-0.235368102788925,0.123740307986736,0.916326344013214,-0.380833685398102,-0.123740427196026,0.916326344013214,-0.380833685398102,-0.323956489562988,0.916326344013214,-0.235368132591248,-0.400432229042053,0.916326344013214,3.11395020879957e-10,-0.323956519365311,0.916326344013214,0.235368207097054,-0.123740345239639,0.916326344013214,0.380833804607391,0.123740434646606,0.916326344013214,0.380833804607391,0.323956608772278,0.916326344013214,0.235368117690086,0.400432378053665,0.916326344013214,7.90943559536572e-08,5.34968958021409e-09,-1,-2.40736035550526e-08,1.06993791604282e-08,1,-2.94232922470883e-08 + } + NormalsW: *92 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "map1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *238 { + a: 0,0.100000001490116,0.100000001490116,0.100000001490116,0.200000002980232,0.100000001490116,0.300000011920929,0.100000001490116,0.400000005960464,0.100000001490116,0.5,0.100000001490116,0.600000023841858,0.100000001490116,0.700000047683716,0.100000001490116,0.800000071525574,0.100000001490116,0.900000095367432,0.100000001490116,1.00000011920929,0.100000001490116,0,0.200000002980232,0.100000001490116,0.200000002980232,0.200000002980232,0.200000002980232,0.300000011920929,0.200000002980232,0.400000005960464,0.200000002980232,0.5,0.200000002980232,0.600000023841858,0.200000002980232,0.700000047683716,0.200000002980232,0.800000071525574,0.200000002980232,0.900000095367432,0.200000002980232,1.00000011920929,0.200000002980232,0,0.300000011920929,0.100000001490116,0.300000011920929,0.200000002980232,0.300000011920929,0.300000011920929,0.300000011920929,0.400000005960464,0.300000011920929,0.5,0.300000011920929,0.600000023841858,0.300000011920929,0.700000047683716,0.300000011920929,0.800000071525574,0.300000011920929,0.900000095367432,0.300000011920929,1.00000011920929,0.300000011920929,0,0.400000005960464,0.100000001490116,0.400000005960464,0.200000002980232,0.400000005960464,0.300000011920929,0.400000005960464,0.400000005960464,0.400000005960464,0.5,0.400000005960464,0.600000023841858,0.400000005960464,0.700000047683716,0.400000005960464,0.800000071525574,0.400000005960464,0.900000095367432,0.400000005960464,1.00000011920929,0.400000005960464,0,0.5,0.100000001490116,0.5,0.200000002980232,0.5,0.300000011920929,0.5,0.400000005960464,0.5,0.5,0.5,0.600000023841858,0.5,0.700000047683716,0.5,0.800000071525574,0.5,0.900000095367432,0.5,1.00000011920929,0.5,0,0.600000023841858,0.100000001490116,0.600000023841858,0.200000002980232,0.600000023841858,0.300000011920929,0.600000023841858,0.400000005960464,0.600000023841858,0.5,0.600000023841858,0.600000023841858,0.600000023841858,0.700000047683716,0.600000023841858,0.800000071525574,0.600000023841858,0.900000095367432,0.600000023841858,1.00000011920929,0.600000023841858, +0,0.700000047683716,0.100000001490116,0.700000047683716,0.200000002980232,0.700000047683716,0.300000011920929,0.700000047683716,0.400000005960464,0.700000047683716,0.5,0.700000047683716,0.600000023841858,0.700000047683716,0.700000047683716,0.700000047683716,0.800000071525574,0.700000047683716,0.900000095367432,0.700000047683716,1.00000011920929,0.700000047683716,0,0.800000071525574,0.100000001490116,0.800000071525574,0.200000002980232,0.800000071525574,0.300000011920929,0.800000071525574,0.400000005960464,0.800000071525574,0.5,0.800000071525574,0.600000023841858,0.800000071525574,0.700000047683716,0.800000071525574,0.800000071525574,0.800000071525574,0.900000095367432,0.800000071525574,1.00000011920929,0.800000071525574,0,0.900000095367432,0.100000001490116,0.900000095367432,0.200000002980232,0.900000095367432,0.300000011920929,0.900000095367432,0.400000005960464,0.900000095367432,0.5,0.900000095367432,0.600000023841858,0.900000095367432,0.700000047683716,0.900000095367432,0.800000071525574,0.900000095367432,0.900000095367432,0.900000095367432,1.00000011920929,0.900000095367432,0.0500000007450581,0,0.150000005960464,0,0.25,0,0.350000023841858,0,0.450000017881393,0,0.550000011920929,0,0.650000035762787,0,0.75,0,0.850000023841858,0,0.950000047683716,0,0.0500000007450581,1,0.150000005960464,1,0.25,1,0.350000023841858,1,0.450000017881393,1,0.550000011920929,1,0.650000035762787,1,0.75,1,0.850000023841858,1,0.950000047683716,1 + } + UVIndex: *380 { + a: 0,1,12,11,1,2,13,12,2,3,14,13,3,4,15,14,4,5,16,15,5,6,17,16,6,7,18,17,7,8,19,18,8,9,20,19,9,10,21,20,11,12,23,22,12,13,24,23,13,14,25,24,14,15,26,25,15,16,27,26,16,17,28,27,17,18,29,28,18,19,30,29,19,20,31,30,20,21,32,31,22,23,34,33,23,24,35,34,24,25,36,35,25,26,37,36,26,27,38,37,27,28,39,38,28,29,40,39,29,30,41,40,30,31,42,41,31,32,43,42,33,34,45,44,34,35,46,45,35,36,47,46,36,37,48,47,37,38,49,48,38,39,50,49,39,40,51,50,40,41,52,51,41,42,53,52,42,43,54,53,44,45,56,55,45,46,57,56,46,47,58,57,47,48,59,58,48,49,60,59,49,50,61,60,50,51,62,61,51,52,63,62,52,53,64,63,53,54,65,64,55,56,67,66,56,57,68,67,57,58,69,68,58,59,70,69,59,60,71,70,60,61,72,71,61,62,73,72,62,63,74,73,63,64,75,74,64,65,76,75,66,67,78,77,67,68,79,78,68,69,80,79,69,70,81,80,70,71,82,81,71,72,83,82,72,73,84,83,73,74,85,84,74,75,86,85,75,76,87,86,77,78,89,88,78,79,90,89,79,80,91,90,80,81,92,91,81,82,93,92,82,83,94,93,83,84,95,94,84,85,96,95,85,86,97,96,86,87,98,97,1,0,99,2,1,100,3,2,101,4,3,102,5,4,103,6,5,104,7,6,105,8,7,106,9,8,107,10,9,108,88,89,109,89,90,110,90,91,111,91,92,112,92,93,113,93,94,114,94,95,115,95,96,116,96,97,117,97,98,118 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Geometry: 2637367284432, "Geometry::", "Mesh" { + Vertices: *276 { + a: 0.250000029802322,-0.95105654001236,-0.181635692715645,0.0954914912581444,-0.95105654001236,-0.293892711400986,-0.0954915508627892,-0.95105654001236,-0.293892651796341,-0.250000059604645,-0.95105654001236,-0.181635633111,-0.309017032384872,-0.95105654001236,1.84188486684889e-08,-0.250000029802322,-0.95105654001236,0.181635677814484,-0.095491498708725,-0.95105654001236,0.293892651796341,0.0954915136098862,-0.95105654001236,0.293892651796341,0.25,-0.95105654001236,0.181635633111,0.30901700258255,-0.95105654001236,0,0.475528299808502,-0.80901700258255,-0.345491588115692,0.181635603308678,-0.80901700258255,-0.55901712179184,-0.181635722517967,-0.80901700258255,-0.559017062187195,-0.475528359413147,-0.80901700258255,-0.345491498708725,-0.587785303592682,-0.80901700258255,3.50347306721233e-08,-0.475528299808502,-0.80901700258255,0.34549155831337,-0.181635618209839,-0.80901700258255,0.559017062187195,0.181635648012161,-0.80901700258255,0.55901700258255,0.47552827000618,-0.80901700258255,0.345491498708725,0.587785243988037,-0.80901700258255,0,0.654508531093597,-0.587785243988037,-0.475528389215469,0.249999955296516,-0.587785243988037,-0.76942104101181,-0.25000011920929,-0.587785243988037,-0.769420981407166,-0.654508650302887,-0.587785243988037,-0.47552827000618,-0.80901712179184,-0.587785243988037,4.82211710561842e-08,-0.654508531093597,-0.587785243988037,0.475528359413147,-0.249999985098839,-0.587785243988037,0.769420981407166,0.250000029802322,-0.587785243988037,0.769420921802521,0.654508531093597,-0.587785243988037,0.47552827000618,0.80901700258255,-0.587785243988037,0,0.769420981407166,-0.309016972780228,-0.559017181396484,0.293892592191696,-0.309016972780228,-0.904508709907532,-0.29389277100563,-0.309016972780228,-0.904508590698242,-0.769421100616455,-0.309016972780228,-0.55901700258255,-0.951056659221649,-0.309016972780228,5.66873872287488e-08,-0.769420981407166,-0.309016972780228,0.55901712179184,-0.293892621994019,-0.309016972780228,0.904508590698242,0.293892681598663,-0.309016972780228,0.904508531093597, +0.769420921802521,-0.309016972780228,0.55901700258255,0.95105654001236,-0.309016972780228,0,0.809017062187195,0,-0.587785422801971,0.309016942977905,0,-0.951056718826294,-0.309017151594162,0,-0.951056599617004,-0.809017181396484,0,-0.587785243988037,-1.00000011920929,0,5.96046447753906e-08,-0.809017062187195,0,0.587785363197327,-0.309016972780228,0,0.951056599617004,0.309017032384872,0,0.95105654001236,0.80901700258255,0,0.587785243988037,1,0,0,0.769420981407166,0.309016972780228,-0.559017181396484,0.293892592191696,0.309016972780228,-0.904508709907532,-0.29389277100563,0.309016972780228,-0.904508590698242,-0.769421100616455,0.309016972780228,-0.55901700258255,-0.951056659221649,0.309016972780228,5.66873872287488e-08,-0.769420981407166,0.309016972780228,0.55901712179184,-0.293892621994019,0.309016972780228,0.904508590698242,0.293892681598663,0.309016972780228,0.904508531093597,0.769420921802521,0.309016972780228,0.55901700258255,0.95105654001236,0.309016972780228,0,0.654508531093597,0.587785243988037,-0.475528389215469,0.249999955296516,0.587785243988037,-0.76942104101181,-0.25000011920929,0.587785243988037,-0.769420981407166,-0.654508650302887,0.587785243988037,-0.47552827000618,-0.80901712179184,0.587785243988037,4.82211710561842e-08,-0.654508531093597,0.587785243988037,0.475528359413147,-0.249999985098839,0.587785243988037,0.769420981407166,0.250000029802322,0.587785243988037,0.769420921802521,0.654508531093597,0.587785243988037,0.47552827000618,0.80901700258255,0.587785243988037,0,0.475528299808502,0.80901700258255,-0.345491588115692,0.181635603308678,0.80901700258255,-0.55901712179184,-0.181635722517967,0.80901700258255,-0.559017062187195,-0.475528359413147,0.80901700258255,-0.345491498708725,-0.587785303592682,0.80901700258255,3.50347306721233e-08,-0.475528299808502,0.80901700258255,0.34549155831337,-0.181635618209839,0.80901700258255,0.559017062187195,0.181635648012161,0.80901700258255,0.55901700258255,0.47552827000618,0.80901700258255,0.345491498708725,0.587785243988037,0.80901700258255,0,0.250000029802322,0.95105654001236,-0.181635692715645, +0.0954914912581444,0.95105654001236,-0.293892711400986,-0.0954915508627892,0.95105654001236,-0.293892651796341,-0.250000059604645,0.95105654001236,-0.181635633111,-0.309017032384872,0.95105654001236,1.84188486684889e-08,-0.250000029802322,0.95105654001236,0.181635677814484,-0.095491498708725,0.95105654001236,0.293892651796341,0.0954915136098862,0.95105654001236,0.293892651796341,0.25,0.95105654001236,0.181635633111,0.30901700258255,0.95105654001236,0,0,-1,0,0,1,0 + } + PolygonVertexIndex: *380 { + a: 0,1,11,-11,1,2,12,-12,2,3,13,-13,3,4,14,-14,4,5,15,-15,5,6,16,-16,6,7,17,-17,7,8,18,-18,8,9,19,-19,9,0,10,-20,10,11,21,-21,11,12,22,-22,12,13,23,-23,13,14,24,-24,14,15,25,-25,15,16,26,-26,16,17,27,-27,17,18,28,-28,18,19,29,-29,19,10,20,-30,20,21,31,-31,21,22,32,-32,22,23,33,-33,23,24,34,-34,24,25,35,-35,25,26,36,-36,26,27,37,-37,27,28,38,-38,28,29,39,-39,29,20,30,-40,30,31,41,-41,31,32,42,-42,32,33,43,-43,33,34,44,-44,34,35,45,-45,35,36,46,-46,36,37,47,-47,37,38,48,-48,38,39,49,-49,39,30,40,-50,40,41,51,-51,41,42,52,-52,42,43,53,-53,43,44,54,-54,44,45,55,-55,45,46,56,-56,46,47,57,-57,47,48,58,-58,48,49,59,-59,49,40,50,-60,50,51,61,-61,51,52,62,-62,52,53,63,-63,53,54,64,-64,54,55,65,-65,55,56,66,-66,56,57,67,-67,57,58,68,-68,58,59,69,-69,59,50,60,-70,60,61,71,-71,61,62,72,-72,62,63,73,-73,63,64,74,-74,64,65,75,-75,65,66,76,-76,66,67,77,-77,67,68,78,-78,68,69,79,-79,69,60,70,-80,70,71,81,-81,71,72,82,-82,72,73,83,-83,73,74,84,-84,74,75,85,-85,75,76,86,-86,76,77,87,-87,77,78,88,-88,78,79,89,-89,79,70,80,-90,1,0,-91,2,1,-91,3,2,-91,4,3,-91,5,4,-91,6,5,-91,7,6,-91,8,7,-91,9,8,-91,0,9,-91,80,81,-92,81,82,-92,82,83,-92,83,84,-92,84,85,-92,85,86,-92,86,87,-92,87,88,-92,88,89,-92,89,80,-92 + } + Edges: *190 { + a: 0,4,8,12,16,20,24,28,32,36,2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,3,1,5,9,13,17,21,25,29,33,43,41,45,49,53,57,61,65,69,73,83,81,85,89,93,97,101,105,109,113,123,121,125,129,133,137,141,145,149,153,163,161,165,169,173,177,181,185,189,193,203,201,205,209,213,217,221,225,229,233,243,241,245,249,253,257,261,265,269,273,283,281,285,289,293,297,301,305,309,313,321,322,325,328,331,334,337,340,343,346,352,351,354,357,360,363,366,369,372,375 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "" + MappingInformationType: "ByVertice" + ReferenceInformationType: "Direct" + Normals: *276 { + a: 0.323956578969955,-0.916326344013214,-0.235368266701698,0.123740307986736,-0.916326344013214,-0.380833715200424,-0.123740427196026,-0.916326344013214,-0.380833685398102,-0.323956489562988,-0.916326344013214,-0.235368117690086,-0.400432199239731,-0.916326344013214,1.02760360221055e-08,-0.323956489562988,-0.916326344013214,0.235368117690086,-0.12374035269022,-0.916326344013214,0.380833774805069,0.123740434646606,-0.916326344013214,0.380833715200424,0.323956549167633,-0.916326344013214,0.23536804318428,0.400432378053665,-0.916326344013214,-6.04106489277001e-08,0.512705028057098,-0.7735475897789,-0.372501939535141,0.195835798978806,-0.7735475897789,-0.60272079706192,-0.195835962891579,-0.773547649383545,-0.60272091627121,-0.512705028057098,-0.773547649383545,-0.372501969337463,-0.633738219738007,-0.773547649383545,4.47503794021031e-08,-0.512704968452454,-0.773547649383545,0.372501999139786,-0.195835798978806,-0.773547530174255,0.60272091627121,0.195835903286934,-0.7735475897789,0.602720856666565,0.512705028057098,-0.773547649383545,0.372501909732819,0.633738219738007,-0.7735475897789,-2.79689906790281e-08,0.67137598991394,-0.55796217918396,-0.487783163785934,0.256442725658417,-0.557962119579315,-0.789249897003174,-0.256442874670029,-0.557962119579315,-0.789249897003174,-0.67137610912323,-0.557962119579315,-0.487783223390579,-0.829866349697113,-0.55796205997467,6.69417232757041e-08,-0.671375930309296,-0.557962119579315,0.487783312797546,-0.256442725658417,-0.557962119579315,0.789249897003174,0.256442874670029,-0.557962119579315,0.789249837398529,0.67137610912323,-0.55796217918396,0.487783253192902,0.829866409301758,-0.557962119579315,1.6735430818926e-08,0.773775935173035,-0.291930258274078,-0.562181055545807,0.295555979013443,-0.291930258274078,-0.90962815284729,-0.295556157827377,-0.291930288076401,-0.909628093242645,-0.773775994777679,-0.291930288076401,-0.562180995941162,-0.956439614295959,-0.291930317878723,9.39327549076552e-08,-0.77377587556839,-0.291930228471756,0.562181115150452,-0.295556038618088,-0.291930228471756,0.90962815284729, +0.295556157827377,-0.291930168867111,0.909628093242645,0.773775935173035,-0.291930168867111,0.562181055545807,0.956439614295959,-0.291930198669434,2.89023827093615e-08,0.80901700258255,4.48810801856325e-08,-0.587785184383392,0.309016823768616,0,-0.95105654001236,-0.30901712179184,3.4523908176709e-09,-0.95105642080307,-0.80901700258255,3.4523908176709e-09,-0.587785124778748,-0.999999940395355,4.14286915884077e-08,1.03571721865592e-07,-0.809016942977905,4.83334723355711e-08,0.587785303592682,-0.309016942977905,0,0.95105654001236,0.30901712179184,-3.45239170584932e-09,0.951056480407715,0.80901700258255,3.45239170584932e-09,0.587785184383392,0.999999940395355,4.48810801856325e-08,5.52382530827344e-08,0.773775994777679,0.291930288076401,-0.562181055545807,0.295555979013443,0.291930228471756,-0.909628093242645,-0.295556157827377,0.291930288076401,-0.909628033638,-0.773775994777679,0.291930317878723,-0.562180936336517,-0.956439554691315,0.291930317878723,7.9481552006655e-08,-0.77377587556839,0.291930258274078,0.562181115150452,-0.29555606842041,0.291930198669434,0.90962815284729,0.295556157827377,0.291930168867111,0.909628093242645,0.773775935173035,0.291930168867111,0.562181055545807,0.956439554691315,0.291930258274078,2.89023827093615e-08,0.671375930309296,0.557962238788605,-0.48778310418129,0.256442725658417,0.55796217918396,-0.789249897003174,-0.256442904472351,0.55796217918396,-0.789249837398529,-0.67137610912323,0.55796217918396,-0.487783163785934,-0.829866349697113,0.557962119579315,4.6022435640225e-08,-0.671376049518585,0.55796217918396,0.487783312797546,-0.256442755460739,0.557962119579315,0.789249897003174,0.256442874670029,0.557962119579315,0.789249897003174,0.67137610912323,0.557962119579315,0.487783282995224,0.829866349697113,0.557962119579315,8.3677145212846e-09,0.512705028057098,0.773547649383545,-0.372501879930496,0.195835798978806,0.7735475897789,-0.602720856666565,-0.195835962891579,0.773547649383545,-0.602720856666565,-0.512704968452454,0.773547649383545,-0.372501909732819,-0.633738219738007,0.773547649383545,5.59379742526289e-09, +-0.512704968452454,0.773547530174255,0.372501999139786,-0.195835784077644,0.773547530174255,0.60272091627121,0.195835947990417,0.7735475897789,0.602720856666565,0.512705028057098,0.7735475897789,0.372501909732819,0.633738279342651,0.7735475897789,2.79689889026713e-08,0.323956578969955,0.916326344013214,-0.235368102788925,0.123740307986736,0.916326344013214,-0.380833685398102,-0.123740427196026,0.916326344013214,-0.380833685398102,-0.323956489562988,0.916326344013214,-0.235368132591248,-0.400432229042053,0.916326344013214,3.11395020879957e-10,-0.323956519365311,0.916326344013214,0.235368207097054,-0.123740345239639,0.916326344013214,0.380833804607391,0.123740434646606,0.916326344013214,0.380833804607391,0.323956608772278,0.916326344013214,0.235368117690086,0.400432378053665,0.916326344013214,7.90943559536572e-08,5.34968958021409e-09,-1,-2.40736035550526e-08,1.06993791604282e-08,1,-2.94232922470883e-08 + } + NormalsW: *92 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "map1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *238 { + a: 0,0.100000001490116,0.100000001490116,0.100000001490116,0.200000002980232,0.100000001490116,0.300000011920929,0.100000001490116,0.400000005960464,0.100000001490116,0.5,0.100000001490116,0.600000023841858,0.100000001490116,0.700000047683716,0.100000001490116,0.800000071525574,0.100000001490116,0.900000095367432,0.100000001490116,1.00000011920929,0.100000001490116,0,0.200000002980232,0.100000001490116,0.200000002980232,0.200000002980232,0.200000002980232,0.300000011920929,0.200000002980232,0.400000005960464,0.200000002980232,0.5,0.200000002980232,0.600000023841858,0.200000002980232,0.700000047683716,0.200000002980232,0.800000071525574,0.200000002980232,0.900000095367432,0.200000002980232,1.00000011920929,0.200000002980232,0,0.300000011920929,0.100000001490116,0.300000011920929,0.200000002980232,0.300000011920929,0.300000011920929,0.300000011920929,0.400000005960464,0.300000011920929,0.5,0.300000011920929,0.600000023841858,0.300000011920929,0.700000047683716,0.300000011920929,0.800000071525574,0.300000011920929,0.900000095367432,0.300000011920929,1.00000011920929,0.300000011920929,0,0.400000005960464,0.100000001490116,0.400000005960464,0.200000002980232,0.400000005960464,0.300000011920929,0.400000005960464,0.400000005960464,0.400000005960464,0.5,0.400000005960464,0.600000023841858,0.400000005960464,0.700000047683716,0.400000005960464,0.800000071525574,0.400000005960464,0.900000095367432,0.400000005960464,1.00000011920929,0.400000005960464,0,0.5,0.100000001490116,0.5,0.200000002980232,0.5,0.300000011920929,0.5,0.400000005960464,0.5,0.5,0.5,0.600000023841858,0.5,0.700000047683716,0.5,0.800000071525574,0.5,0.900000095367432,0.5,1.00000011920929,0.5,0,0.600000023841858,0.100000001490116,0.600000023841858,0.200000002980232,0.600000023841858,0.300000011920929,0.600000023841858,0.400000005960464,0.600000023841858,0.5,0.600000023841858,0.600000023841858,0.600000023841858,0.700000047683716,0.600000023841858,0.800000071525574,0.600000023841858,0.900000095367432,0.600000023841858,1.00000011920929,0.600000023841858, +0,0.700000047683716,0.100000001490116,0.700000047683716,0.200000002980232,0.700000047683716,0.300000011920929,0.700000047683716,0.400000005960464,0.700000047683716,0.5,0.700000047683716,0.600000023841858,0.700000047683716,0.700000047683716,0.700000047683716,0.800000071525574,0.700000047683716,0.900000095367432,0.700000047683716,1.00000011920929,0.700000047683716,0,0.800000071525574,0.100000001490116,0.800000071525574,0.200000002980232,0.800000071525574,0.300000011920929,0.800000071525574,0.400000005960464,0.800000071525574,0.5,0.800000071525574,0.600000023841858,0.800000071525574,0.700000047683716,0.800000071525574,0.800000071525574,0.800000071525574,0.900000095367432,0.800000071525574,1.00000011920929,0.800000071525574,0,0.900000095367432,0.100000001490116,0.900000095367432,0.200000002980232,0.900000095367432,0.300000011920929,0.900000095367432,0.400000005960464,0.900000095367432,0.5,0.900000095367432,0.600000023841858,0.900000095367432,0.700000047683716,0.900000095367432,0.800000071525574,0.900000095367432,0.900000095367432,0.900000095367432,1.00000011920929,0.900000095367432,0.0500000007450581,0,0.150000005960464,0,0.25,0,0.350000023841858,0,0.450000017881393,0,0.550000011920929,0,0.650000035762787,0,0.75,0,0.850000023841858,0,0.950000047683716,0,0.0500000007450581,1,0.150000005960464,1,0.25,1,0.350000023841858,1,0.450000017881393,1,0.550000011920929,1,0.650000035762787,1,0.75,1,0.850000023841858,1,0.950000047683716,1 + } + UVIndex: *380 { + a: 0,1,12,11,1,2,13,12,2,3,14,13,3,4,15,14,4,5,16,15,5,6,17,16,6,7,18,17,7,8,19,18,8,9,20,19,9,10,21,20,11,12,23,22,12,13,24,23,13,14,25,24,14,15,26,25,15,16,27,26,16,17,28,27,17,18,29,28,18,19,30,29,19,20,31,30,20,21,32,31,22,23,34,33,23,24,35,34,24,25,36,35,25,26,37,36,26,27,38,37,27,28,39,38,28,29,40,39,29,30,41,40,30,31,42,41,31,32,43,42,33,34,45,44,34,35,46,45,35,36,47,46,36,37,48,47,37,38,49,48,38,39,50,49,39,40,51,50,40,41,52,51,41,42,53,52,42,43,54,53,44,45,56,55,45,46,57,56,46,47,58,57,47,48,59,58,48,49,60,59,49,50,61,60,50,51,62,61,51,52,63,62,52,53,64,63,53,54,65,64,55,56,67,66,56,57,68,67,57,58,69,68,58,59,70,69,59,60,71,70,60,61,72,71,61,62,73,72,62,63,74,73,63,64,75,74,64,65,76,75,66,67,78,77,67,68,79,78,68,69,80,79,69,70,81,80,70,71,82,81,71,72,83,82,72,73,84,83,73,74,85,84,74,75,86,85,75,76,87,86,77,78,89,88,78,79,90,89,79,80,91,90,80,81,92,91,81,82,93,92,82,83,94,93,83,84,95,94,84,85,96,95,85,86,97,96,86,87,98,97,1,0,99,2,1,100,3,2,101,4,3,102,5,4,103,6,5,104,7,6,105,8,7,106,9,8,107,10,9,108,88,89,109,89,90,110,90,91,111,91,92,112,92,93,113,93,94,114,94,95,115,95,96,116,96,97,117,97,98,118 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + NodeAttribute: 2637748780656, "NodeAttribute::", "Null" { + Properties70: { + P: "Look", "enum", "", "",0 + } + TypeFlags: "Null" + } + Geometry: 2637367269456, "Geometry::", "Mesh" { + Vertices: *276 { + a: 0.250000029802322,-0.95105654001236,-0.181635692715645,0.0954914912581444,-0.95105654001236,-0.293892711400986,-0.0954915508627892,-0.95105654001236,-0.293892651796341,-0.250000059604645,-0.95105654001236,-0.181635633111,-0.309017032384872,-0.95105654001236,1.84188486684889e-08,-0.250000029802322,-0.95105654001236,0.181635677814484,-0.095491498708725,-0.95105654001236,0.293892651796341,0.0954915136098862,-0.95105654001236,0.293892651796341,0.25,-0.95105654001236,0.181635633111,0.30901700258255,-0.95105654001236,0,0.475528299808502,-0.80901700258255,-0.345491588115692,0.181635603308678,-0.80901700258255,-0.55901712179184,-0.181635722517967,-0.80901700258255,-0.559017062187195,-0.475528359413147,-0.80901700258255,-0.345491498708725,-0.587785303592682,-0.80901700258255,3.50347306721233e-08,-0.475528299808502,-0.80901700258255,0.34549155831337,-0.181635618209839,-0.80901700258255,0.559017062187195,0.181635648012161,-0.80901700258255,0.55901700258255,0.47552827000618,-0.80901700258255,0.345491498708725,0.587785243988037,-0.80901700258255,0,0.654508531093597,-0.587785243988037,-0.475528389215469,0.249999955296516,-0.587785243988037,-0.76942104101181,-0.25000011920929,-0.587785243988037,-0.769420981407166,-0.654508650302887,-0.587785243988037,-0.47552827000618,-0.80901712179184,-0.587785243988037,4.82211710561842e-08,-0.654508531093597,-0.587785243988037,0.475528359413147,-0.249999985098839,-0.587785243988037,0.733264148235321,0.250000029802322,-0.587785243988037,0.733264088630676,0.654508531093597,-0.587785243988037,0.47552827000618,0.80901700258255,-0.587785243988037,0,0.769420981407166,-0.309016972780228,-0.559017181396484,0.293892592191696,-0.309016972780228,-0.904508709907532,-0.29389277100563,-0.309016972780228,-0.904508590698242,-0.769421100616455,-0.309016972780228,-0.55901700258255,-0.951056659221649,-0.309016972780228,5.66873872287488e-08,-0.769420981407166,-0.309016972780228,0.55901712179184,-0.293892621994019,-0.309016972780228,0.824864029884338,0.293892681598663,-0.309016972780228,0.824863970279694, +0.769420921802521,-0.309016972780228,0.55901700258255,0.95105654001236,-0.309016972780228,0,0.809017062187195,0,-0.587785422801971,0.309016942977905,0,-0.951056718826294,-0.309017151594162,0,-0.951056599617004,-0.809017181396484,0,-0.587785243988037,-1.00000011920929,0,5.96046447753906e-08,-0.809017062187195,0,0.587785363197327,-0.309016972780228,0,0.876929759979248,0.309017032384872,0,0.876929700374603,0.80901700258255,0,0.587785243988037,1,0,0,0.769420981407166,0.309016972780228,-0.559017181396484,0.293892592191696,0.309016972780228,-0.904508709907532,-0.29389277100563,0.309016972780228,-0.904508590698242,-0.769421100616455,0.309016972780228,-0.55901700258255,-0.951056659221649,0.309016972780228,5.66873872287488e-08,-0.769420981407166,0.309016972780228,0.55901712179184,-0.293892621994019,0.309016972780228,0.824864029884338,0.293892681598663,0.309016972780228,0.824863970279694,0.769420921802521,0.309016972780228,0.55901700258255,0.95105654001236,0.309016972780228,0,0.654508531093597,0.587785243988037,-0.475528389215469,0.249999955296516,0.587785243988037,-0.805577874183655,-0.25000011920929,0.587785243988037,-0.769420981407166,-0.654508650302887,0.587785243988037,-0.47552827000618,-0.80901712179184,0.587785243988037,4.82211710561842e-08,-0.654508531093597,0.587785243988037,0.475528359413147,-0.249999985098839,0.587785243988037,0.769420981407166,0.250000029802322,0.587785243988037,0.769420921802521,0.654508531093597,0.587785243988037,0.47552827000618,0.80901700258255,0.587785243988037,0,0.475528299808502,0.80901700258255,-0.345491588115692,0.181635603308678,0.80901700258255,-0.55901712179184,-0.181635722517967,0.80901700258255,-0.559017062187195,-0.475528359413147,0.80901700258255,-0.345491498708725,-0.587785303592682,0.80901700258255,3.50347306721233e-08,-0.475528299808502,0.80901700258255,0.34549155831337,-0.181635618209839,0.80901700258255,0.559017062187195,0.181635648012161,0.80901700258255,0.55901700258255,0.47552827000618,0.80901700258255,0.345491498708725,0.587785243988037,0.80901700258255,0,0.250000029802322,0.95105654001236,-0.181635692715645, +0.0954914912581444,0.95105654001236,-0.293892711400986,-0.0954915508627892,0.95105654001236,-0.293892651796341,-0.250000059604645,0.95105654001236,-0.181635633111,-0.309017032384872,0.95105654001236,1.84188486684889e-08,-0.250000029802322,0.95105654001236,0.181635677814484,-0.095491498708725,0.95105654001236,0.293892651796341,0.0954915136098862,0.95105654001236,0.293892651796341,0.25,0.95105654001236,0.181635633111,0.30901700258255,0.95105654001236,0,0,-1,0,0,1,0 + } + PolygonVertexIndex: *380 { + a: 0,1,11,-11,1,2,12,-12,2,3,13,-13,3,4,14,-14,4,5,15,-15,5,6,16,-16,6,7,17,-17,7,8,18,-18,8,9,19,-19,9,0,10,-20,10,11,21,-21,11,12,22,-22,12,13,23,-23,13,14,24,-24,14,15,25,-25,15,16,26,-26,16,17,27,-27,17,18,28,-28,18,19,29,-29,19,10,20,-30,20,21,31,-31,21,22,32,-32,22,23,33,-33,23,24,34,-34,24,25,35,-35,25,26,36,-36,26,27,37,-37,27,28,38,-38,28,29,39,-39,29,20,30,-40,30,31,41,-41,31,32,42,-42,32,33,43,-43,33,34,44,-44,34,35,45,-45,35,36,46,-46,36,37,47,-47,37,38,48,-48,38,39,49,-49,39,30,40,-50,40,41,51,-51,41,42,52,-52,42,43,53,-53,43,44,54,-54,44,45,55,-55,45,46,56,-56,46,47,57,-57,47,48,58,-58,48,49,59,-59,49,40,50,-60,50,51,61,-61,51,52,62,-62,52,53,63,-63,53,54,64,-64,54,55,65,-65,55,56,66,-66,56,57,67,-67,57,58,68,-68,58,59,69,-69,59,50,60,-70,60,61,71,-71,61,62,72,-72,62,63,73,-73,63,64,74,-74,64,65,75,-75,65,66,76,-76,66,67,77,-77,67,68,78,-78,68,69,79,-79,69,60,70,-80,70,71,81,-81,71,72,82,-82,72,73,83,-83,73,74,84,-84,74,75,85,-85,75,76,86,-86,76,77,87,-87,77,78,88,-88,78,79,89,-89,79,70,80,-90,1,0,-91,2,1,-91,3,2,-91,4,3,-91,5,4,-91,6,5,-91,7,6,-91,8,7,-91,9,8,-91,0,9,-91,80,81,-92,81,82,-92,82,83,-92,83,84,-92,84,85,-92,85,86,-92,86,87,-92,87,88,-92,88,89,-92,89,80,-92 + } + Edges: *190 { + a: 0,4,8,12,16,20,24,28,32,36,2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,3,1,5,9,13,17,21,25,29,33,43,41,45,49,53,57,61,65,69,73,83,81,85,89,93,97,101,105,109,113,123,121,125,129,133,137,141,145,149,153,163,161,165,169,173,177,181,185,189,193,203,201,205,209,213,217,221,225,229,233,243,241,245,249,253,257,261,265,269,273,283,281,285,289,293,297,301,305,309,313,321,322,325,328,331,334,337,340,343,346,352,351,354,357,360,363,366,369,372,375 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "" + MappingInformationType: "ByVertice" + ReferenceInformationType: "Direct" + Normals: *276 { + a: 0.323956578969955,-0.916326344013214,-0.235368266701698,0.123740307986736,-0.916326344013214,-0.380833715200424,-0.123740427196026,-0.916326344013214,-0.380833685398102,-0.323956489562988,-0.916326344013214,-0.235368117690086,-0.400432199239731,-0.916326344013214,1.02760360221055e-08,-0.323956489562988,-0.916326344013214,0.235368117690086,-0.12374035269022,-0.916326344013214,0.380833774805069,0.123740434646606,-0.916326344013214,0.380833715200424,0.323956549167633,-0.916326344013214,0.23536804318428,0.400432378053665,-0.916326344013214,-6.04106489277001e-08,0.512705028057098,-0.7735475897789,-0.372501939535141,0.195835798978806,-0.7735475897789,-0.60272079706192,-0.195835962891579,-0.773547649383545,-0.60272091627121,-0.512705028057098,-0.773547649383545,-0.372501969337463,-0.633738219738007,-0.773547649383545,4.47503794021031e-08,-0.513895452022552,-0.768420338630676,0.381368041038513,-0.191883713006973,-0.747442364692688,0.63601142168045,0.19188380241394,-0.747442364692688,0.636011362075806,0.513895571231842,-0.768420398235321,0.381367951631546,0.633738219738007,-0.7735475897789,-2.79689906790281e-08,0.67137598991394,-0.55796217918396,-0.487783163785934,0.256442725658417,-0.557962119579315,-0.789249897003174,-0.256442874670029,-0.557962119579315,-0.789249897003174,-0.67137610912323,-0.557962119579315,-0.487783223390579,-0.829866349697113,-0.55796205997467,6.69417232757041e-08,-0.666149854660034,-0.541811585426331,0.512527406215668,-0.233402296900749,-0.484224200248718,0.843238055706024,0.233402356505394,-0.484224200248718,0.843238055706024,0.666150093078613,-0.541811645030975,0.512527346611023,0.829866409301758,-0.557962119579315,1.6735430818926e-08,0.773775935173035,-0.291930258274078,-0.562181055545807,0.295555979013443,-0.291930258274078,-0.90962815284729,-0.295556157827377,-0.291930288076401,-0.909628093242645,-0.773775994777679,-0.291930288076401,-0.562180995941162,-0.956439614295959,-0.291930317878723,9.39327549076552e-08,-0.754170060157776,-0.284571647644043,0.591816306114197,-0.247200518846512,-0.253524780273438,0.935209691524506, +0.247200608253479,-0.253524750471115,0.935209572315216,0.754170119762421,-0.284571588039398,0.591816246509552,0.956439614295959,-0.291930198669434,2.89023827093615e-08,0.80901700258255,4.48810801856325e-08,-0.587785184383392,0.309016823768616,0,-0.95105654001236,-0.30901712179184,3.4523908176709e-09,-0.95105642080307,-0.80901700258255,3.4523908176709e-09,-0.587785124778748,-0.999999940395355,4.14286915884077e-08,1.03571721865592e-07,-0.785049915313721,4.39771952187584e-08,0.61943244934082,-0.24714657664299,0,0.9689781665802,0.24714669585228,-3.51005802201598e-09,0.9689781665802,0.78505003452301,0,0.619432330131531,0.999999940395355,4.48810801856325e-08,5.52382530827344e-08,0.778561949729919,0.282090544700623,-0.56059455871582,0.300731658935547,0.272351562976837,-0.913994014263153,-0.303090959787369,0.278795391321182,-0.911267817020416,-0.773775994777679,0.291930317878723,-0.562180936336517,-0.956439554691315,0.291930317878723,7.9481552006655e-08,-0.759169578552246,0.274559378623962,0.590151488780975,-0.259237319231033,0.218795984983444,0.940704107284546,0.259237438440323,0.218795955181122,0.940704107284546,0.759169578552246,0.274559259414673,0.590151429176331,0.956439554691315,0.291930258274078,2.89023827093615e-08,0.678827285766602,0.554085612297058,-0.481853246688843,0.251933455467224,0.549818933010101,-0.796384692192078,-0.271689713001251,0.553045094013214,-0.787607729434967,-0.67137610912323,0.55796217918396,-0.487783163785934,-0.829866349697113,0.557962119579315,4.6022435640225e-08,-0.674414694309235,0.537635326385498,0.506076276302338,-0.244304075837135,0.469502836465836,0.848458886146545,0.244304209947586,0.469502866268158,0.848458886146545,0.674414813518524,0.537635266780853,0.506076157093048,0.829866349697113,0.557962119579315,8.3677145212846e-09,0.511517822742462,0.778364658355713,-0.364002615213394,0.192416414618492,0.789989590644836,-0.582144796848297,-0.202850148081779,0.780141651630402,-0.591802954673767,-0.512704968452454,0.773547649383545,-0.372501909732819,-0.633738219738007,0.773547649383545,5.59379742526289e-09, +-0.512704968452454,0.773547530174255,0.372501999139786,-0.195835784077644,0.773547530174255,0.60272091627121,0.195835947990417,0.7735475897789,0.602720856666565,0.512705028057098,0.7735475897789,0.372501909732819,0.633738279342651,0.7735475897789,2.79689889026713e-08,0.323956578969955,0.916326344013214,-0.235368102788925,0.123740307986736,0.916326344013214,-0.380833685398102,-0.123740427196026,0.916326344013214,-0.380833685398102,-0.323956489562988,0.916326344013214,-0.235368132591248,-0.400432229042053,0.916326344013214,3.11395020879957e-10,-0.323956519365311,0.916326344013214,0.235368207097054,-0.123740345239639,0.916326344013214,0.380833804607391,0.123740434646606,0.916326344013214,0.380833804607391,0.323956608772278,0.916326344013214,0.235368117690086,0.400432378053665,0.916326344013214,7.90943559536572e-08,5.34968958021409e-09,-1,-2.40736035550526e-08,1.06993791604282e-08,1,-2.94232922470883e-08 + } + NormalsW: *92 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "map1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *238 { + a: 0,0.100000001490116,0.100000001490116,0.100000001490116,0.200000002980232,0.100000001490116,0.300000011920929,0.100000001490116,0.400000005960464,0.100000001490116,0.5,0.100000001490116,0.600000023841858,0.100000001490116,0.700000047683716,0.100000001490116,0.800000071525574,0.100000001490116,0.900000095367432,0.100000001490116,1.00000011920929,0.100000001490116,0,0.200000002980232,0.100000001490116,0.200000002980232,0.200000002980232,0.200000002980232,0.300000011920929,0.200000002980232,0.400000005960464,0.200000002980232,0.5,0.200000002980232,0.600000023841858,0.200000002980232,0.700000047683716,0.200000002980232,0.800000071525574,0.200000002980232,0.900000095367432,0.200000002980232,1.00000011920929,0.200000002980232,0,0.300000011920929,0.100000001490116,0.300000011920929,0.200000002980232,0.300000011920929,0.300000011920929,0.300000011920929,0.400000005960464,0.300000011920929,0.5,0.300000011920929,0.600000023841858,0.300000011920929,0.700000047683716,0.300000011920929,0.800000071525574,0.300000011920929,0.900000095367432,0.300000011920929,1.00000011920929,0.300000011920929,0,0.400000005960464,0.100000001490116,0.400000005960464,0.200000002980232,0.400000005960464,0.300000011920929,0.400000005960464,0.400000005960464,0.400000005960464,0.5,0.400000005960464,0.600000023841858,0.400000005960464,0.700000047683716,0.400000005960464,0.800000071525574,0.400000005960464,0.900000095367432,0.400000005960464,1.00000011920929,0.400000005960464,0,0.5,0.100000001490116,0.5,0.200000002980232,0.5,0.300000011920929,0.5,0.400000005960464,0.5,0.5,0.5,0.600000023841858,0.5,0.700000047683716,0.5,0.800000071525574,0.5,0.900000095367432,0.5,1.00000011920929,0.5,0,0.600000023841858,0.100000001490116,0.600000023841858,0.200000002980232,0.600000023841858,0.300000011920929,0.600000023841858,0.400000005960464,0.600000023841858,0.5,0.600000023841858,0.600000023841858,0.600000023841858,0.700000047683716,0.600000023841858,0.800000071525574,0.600000023841858,0.900000095367432,0.600000023841858,1.00000011920929,0.600000023841858, +0,0.700000047683716,0.100000001490116,0.700000047683716,0.200000002980232,0.700000047683716,0.300000011920929,0.700000047683716,0.400000005960464,0.700000047683716,0.5,0.700000047683716,0.600000023841858,0.700000047683716,0.700000047683716,0.700000047683716,0.800000071525574,0.700000047683716,0.900000095367432,0.700000047683716,1.00000011920929,0.700000047683716,0,0.800000071525574,0.100000001490116,0.800000071525574,0.200000002980232,0.800000071525574,0.300000011920929,0.800000071525574,0.400000005960464,0.800000071525574,0.5,0.800000071525574,0.600000023841858,0.800000071525574,0.700000047683716,0.800000071525574,0.800000071525574,0.800000071525574,0.900000095367432,0.800000071525574,1.00000011920929,0.800000071525574,0,0.900000095367432,0.100000001490116,0.900000095367432,0.200000002980232,0.900000095367432,0.300000011920929,0.900000095367432,0.400000005960464,0.900000095367432,0.5,0.900000095367432,0.600000023841858,0.900000095367432,0.700000047683716,0.900000095367432,0.800000071525574,0.900000095367432,0.900000095367432,0.900000095367432,1.00000011920929,0.900000095367432,0.0500000007450581,0,0.150000005960464,0,0.25,0,0.350000023841858,0,0.450000017881393,0,0.550000011920929,0,0.650000035762787,0,0.75,0,0.850000023841858,0,0.950000047683716,0,0.0500000007450581,1,0.150000005960464,1,0.25,1,0.350000023841858,1,0.450000017881393,1,0.550000011920929,1,0.650000035762787,1,0.75,1,0.850000023841858,1,0.950000047683716,1 + } + UVIndex: *380 { + a: 0,1,12,11,1,2,13,12,2,3,14,13,3,4,15,14,4,5,16,15,5,6,17,16,6,7,18,17,7,8,19,18,8,9,20,19,9,10,21,20,11,12,23,22,12,13,24,23,13,14,25,24,14,15,26,25,15,16,27,26,16,17,28,27,17,18,29,28,18,19,30,29,19,20,31,30,20,21,32,31,22,23,34,33,23,24,35,34,24,25,36,35,25,26,37,36,26,27,38,37,27,28,39,38,28,29,40,39,29,30,41,40,30,31,42,41,31,32,43,42,33,34,45,44,34,35,46,45,35,36,47,46,36,37,48,47,37,38,49,48,38,39,50,49,39,40,51,50,40,41,52,51,41,42,53,52,42,43,54,53,44,45,56,55,45,46,57,56,46,47,58,57,47,48,59,58,48,49,60,59,49,50,61,60,50,51,62,61,51,52,63,62,52,53,64,63,53,54,65,64,55,56,67,66,56,57,68,67,57,58,69,68,58,59,70,69,59,60,71,70,60,61,72,71,61,62,73,72,62,63,74,73,63,64,75,74,64,65,76,75,66,67,78,77,67,68,79,78,68,69,80,79,69,70,81,80,70,71,82,81,71,72,83,82,72,73,84,83,73,74,85,84,74,75,86,85,75,76,87,86,77,78,89,88,78,79,90,89,79,80,91,90,80,81,92,91,81,82,93,92,82,83,94,93,83,84,95,94,84,85,96,95,85,86,97,96,86,87,98,97,1,0,99,2,1,100,3,2,101,4,3,102,5,4,103,6,5,104,7,6,105,8,7,106,9,8,107,10,9,108,88,89,109,89,90,110,90,91,111,91,92,112,92,93,113,93,94,114,94,95,115,95,96,116,96,97,117,97,98,118 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Geometry: 2637367281936, "Geometry::", "Mesh" { + Vertices: *276 { + a: 0.250000029802322,-0.95105654001236,-0.181635692715645,0.0954914912581444,-0.95105654001236,-0.293892711400986,-0.0954915508627892,-0.95105654001236,-0.293892651796341,-0.250000059604645,-0.95105654001236,-0.181635633111,-0.309017032384872,-0.95105654001236,1.84188486684889e-08,-0.250000029802322,-0.95105654001236,0.181635677814484,-0.095491498708725,-0.95105654001236,0.293892651796341,0.0954915136098862,-0.95105654001236,0.293892651796341,0.25,-0.95105654001236,0.181635633111,0.30901700258255,-0.95105654001236,0,0.475528299808502,-0.80901700258255,-0.345491588115692,0.181635603308678,-0.80901700258255,-0.55901712179184,-0.181635722517967,-0.80901700258255,-0.559017062187195,-0.475528359413147,-0.80901700258255,-0.345491498708725,-0.587785303592682,-0.80901700258255,3.50347306721233e-08,-0.475528299808502,-0.80901700258255,0.34549155831337,-0.181635618209839,-0.80901700258255,0.559017062187195,0.181635648012161,-0.80901700258255,0.55901700258255,0.47552827000618,-0.80901700258255,0.345491498708725,0.587785243988037,-0.80901700258255,0,0.654508531093597,-0.587785243988037,-0.475528389215469,0.249999955296516,-0.587785243988037,-0.76942104101181,-0.25000011920929,-0.587785243988037,-0.769420981407166,-0.654508650302887,-0.587785243988037,-0.47552827000618,-0.80901712179184,-0.587785243988037,4.82211710561842e-08,-0.654508531093597,-0.587785243988037,0.475528359413147,-0.249999985098839,-0.587785243988037,0.769420981407166,0.250000029802322,-0.587785243988037,0.769420921802521,0.654508531093597,-0.587785243988037,0.47552827000618,0.80901700258255,-0.587785243988037,0,0.769420981407166,-0.309016972780228,-0.559017181396484,0.293892592191696,-0.309016972780228,-0.904508709907532,-0.29389277100563,-0.309016972780228,-0.904508590698242,-0.769421100616455,-0.309016972780228,-0.55901700258255,-0.951056659221649,-0.309016972780228,5.66873872287488e-08,-0.769420981407166,-0.309016972780228,0.55901712179184,-0.293892621994019,-0.309016972780228,0.904508590698242,0.293892681598663,-0.309016972780228,0.904508531093597, +0.769420921802521,-0.309016972780228,0.55901700258255,0.95105654001236,-0.309016972780228,0,0.809017062187195,0,-0.587785422801971,0.309016942977905,0,-0.951056718826294,-0.309017151594162,0,-0.951056599617004,-0.809017181396484,0,-0.587785243988037,-1.00000011920929,0,5.96046447753906e-08,-0.809017062187195,0,0.587785363197327,-0.309016972780228,0,0.951056599617004,0.309017032384872,0,0.95105654001236,0.80901700258255,0,0.587785243988037,1,0,0,0.769420981407166,0.309016972780228,-0.559017181396484,0.293892592191696,0.309016972780228,-0.904508709907532,-0.29389277100563,0.309016972780228,-0.904508590698242,-0.769421100616455,0.309016972780228,-0.55901700258255,-0.951056659221649,0.309016972780228,5.66873872287488e-08,-0.769420981407166,0.309016972780228,0.55901712179184,-0.293892621994019,0.309016972780228,0.904508590698242,0.293892681598663,0.309016972780228,0.904508531093597,0.769420921802521,0.309016972780228,0.55901700258255,0.95105654001236,0.309016972780228,0,0.654508531093597,0.587785243988037,-0.475528389215469,0.249999955296516,0.587785243988037,-0.76942104101181,-0.25000011920929,0.587785243988037,-0.769420981407166,-0.654508650302887,0.587785243988037,-0.47552827000618,-0.80901712179184,0.587785243988037,4.82211710561842e-08,-0.654508531093597,0.587785243988037,0.475528359413147,-0.249999985098839,0.587785243988037,0.769420981407166,0.250000029802322,0.587785243988037,0.769420921802521,0.654508531093597,0.587785243988037,0.47552827000618,0.80901700258255,0.587785243988037,0,0.475528299808502,0.80901700258255,-0.345491588115692,0.181635603308678,0.80901700258255,-0.55901712179184,-0.181635722517967,0.80901700258255,-0.559017062187195,-0.475528359413147,0.80901700258255,-0.345491498708725,-0.587785303592682,0.80901700258255,3.50347306721233e-08,-0.475528299808502,0.80901700258255,0.34549155831337,-0.181635618209839,0.80901700258255,0.559017062187195,0.181635648012161,0.80901700258255,0.55901700258255,0.47552827000618,0.80901700258255,0.345491498708725,0.587785243988037,0.80901700258255,0,0.250000029802322,0.95105654001236,-0.181635692715645, +0.0954914912581444,0.95105654001236,-0.293892711400986,-0.0954915508627892,0.95105654001236,-0.293892651796341,-0.250000059604645,0.95105654001236,-0.181635633111,-0.309017032384872,0.95105654001236,1.84188486684889e-08,-0.250000029802322,0.95105654001236,0.181635677814484,-0.095491498708725,0.95105654001236,0.293892651796341,0.0954915136098862,0.95105654001236,0.293892651796341,0.25,0.95105654001236,0.181635633111,0.30901700258255,0.95105654001236,0,0,-1,0,0,1,0 + } + PolygonVertexIndex: *380 { + a: 0,1,11,-11,1,2,12,-12,2,3,13,-13,3,4,14,-14,4,5,15,-15,5,6,16,-16,6,7,17,-17,7,8,18,-18,8,9,19,-19,9,0,10,-20,10,11,21,-21,11,12,22,-22,12,13,23,-23,13,14,24,-24,14,15,25,-25,15,16,26,-26,16,17,27,-27,17,18,28,-28,18,19,29,-29,19,10,20,-30,20,21,31,-31,21,22,32,-32,22,23,33,-33,23,24,34,-34,24,25,35,-35,25,26,36,-36,26,27,37,-37,27,28,38,-38,28,29,39,-39,29,20,30,-40,30,31,41,-41,31,32,42,-42,32,33,43,-43,33,34,44,-44,34,35,45,-45,35,36,46,-46,36,37,47,-47,37,38,48,-48,38,39,49,-49,39,30,40,-50,40,41,51,-51,41,42,52,-52,42,43,53,-53,43,44,54,-54,44,45,55,-55,45,46,56,-56,46,47,57,-57,47,48,58,-58,48,49,59,-59,49,40,50,-60,50,51,61,-61,51,52,62,-62,52,53,63,-63,53,54,64,-64,54,55,65,-65,55,56,66,-66,56,57,67,-67,57,58,68,-68,58,59,69,-69,59,50,60,-70,60,61,71,-71,61,62,72,-72,62,63,73,-73,63,64,74,-74,64,65,75,-75,65,66,76,-76,66,67,77,-77,67,68,78,-78,68,69,79,-79,69,60,70,-80,70,71,81,-81,71,72,82,-82,72,73,83,-83,73,74,84,-84,74,75,85,-85,75,76,86,-86,76,77,87,-87,77,78,88,-88,78,79,89,-89,79,70,80,-90,1,0,-91,2,1,-91,3,2,-91,4,3,-91,5,4,-91,6,5,-91,7,6,-91,8,7,-91,9,8,-91,0,9,-91,80,81,-92,81,82,-92,82,83,-92,83,84,-92,84,85,-92,85,86,-92,86,87,-92,87,88,-92,88,89,-92,89,80,-92 + } + Edges: *190 { + a: 0,4,8,12,16,20,24,28,32,36,2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,3,1,5,9,13,17,21,25,29,33,43,41,45,49,53,57,61,65,69,73,83,81,85,89,93,97,101,105,109,113,123,121,125,129,133,137,141,145,149,153,163,161,165,169,173,177,181,185,189,193,203,201,205,209,213,217,221,225,229,233,243,241,245,249,253,257,261,265,269,273,283,281,285,289,293,297,301,305,309,313,321,322,325,328,331,334,337,340,343,346,352,351,354,357,360,363,366,369,372,375 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "" + MappingInformationType: "ByVertice" + ReferenceInformationType: "Direct" + Normals: *276 { + a: 0.323956578969955,-0.916326344013214,-0.235368266701698,0.123740307986736,-0.916326344013214,-0.380833715200424,-0.123740427196026,-0.916326344013214,-0.380833685398102,-0.323956489562988,-0.916326344013214,-0.235368117690086,-0.400432199239731,-0.916326344013214,1.02760360221055e-08,-0.323956489562988,-0.916326344013214,0.235368117690086,-0.12374035269022,-0.916326344013214,0.380833774805069,0.123740434646606,-0.916326344013214,0.380833715200424,0.323956549167633,-0.916326344013214,0.23536804318428,0.400432378053665,-0.916326344013214,-6.04106489277001e-08,0.512705028057098,-0.7735475897789,-0.372501939535141,0.195835798978806,-0.7735475897789,-0.60272079706192,-0.195835962891579,-0.773547649383545,-0.60272091627121,-0.512705028057098,-0.773547649383545,-0.372501969337463,-0.633738219738007,-0.773547649383545,4.47503794021031e-08,-0.512704968452454,-0.773547649383545,0.372501999139786,-0.195835798978806,-0.773547530174255,0.60272091627121,0.195835903286934,-0.7735475897789,0.602720856666565,0.512705028057098,-0.773547649383545,0.372501909732819,0.633738219738007,-0.7735475897789,-2.79689906790281e-08,0.67137598991394,-0.55796217918396,-0.487783163785934,0.256442725658417,-0.557962119579315,-0.789249897003174,-0.256442874670029,-0.557962119579315,-0.789249897003174,-0.67137610912323,-0.557962119579315,-0.487783223390579,-0.829866349697113,-0.55796205997467,6.69417232757041e-08,-0.671375930309296,-0.557962119579315,0.487783312797546,-0.256442725658417,-0.557962119579315,0.789249897003174,0.256442874670029,-0.557962119579315,0.789249837398529,0.67137610912323,-0.55796217918396,0.487783253192902,0.829866409301758,-0.557962119579315,1.6735430818926e-08,0.773775935173035,-0.291930258274078,-0.562181055545807,0.295555979013443,-0.291930258274078,-0.90962815284729,-0.295556157827377,-0.291930288076401,-0.909628093242645,-0.773775994777679,-0.291930288076401,-0.562180995941162,-0.956439614295959,-0.291930317878723,9.39327549076552e-08,-0.77377587556839,-0.291930228471756,0.562181115150452,-0.295556038618088,-0.291930228471756,0.90962815284729, +0.295556157827377,-0.291930168867111,0.909628093242645,0.773775935173035,-0.291930168867111,0.562181055545807,0.956439614295959,-0.291930198669434,2.89023827093615e-08,0.80901700258255,4.48810801856325e-08,-0.587785184383392,0.309016823768616,0,-0.95105654001236,-0.30901712179184,3.4523908176709e-09,-0.95105642080307,-0.80901700258255,3.4523908176709e-09,-0.587785124778748,-0.999999940395355,4.14286915884077e-08,1.03571721865592e-07,-0.809016942977905,4.83334723355711e-08,0.587785303592682,-0.309016942977905,0,0.95105654001236,0.30901712179184,-3.45239170584932e-09,0.951056480407715,0.80901700258255,3.45239170584932e-09,0.587785184383392,0.999999940395355,4.48810801856325e-08,5.52382530827344e-08,0.773775994777679,0.291930288076401,-0.562181055545807,0.295555979013443,0.291930228471756,-0.909628093242645,-0.295556157827377,0.291930288076401,-0.909628033638,-0.773775994777679,0.291930317878723,-0.562180936336517,-0.956439554691315,0.291930317878723,7.9481552006655e-08,-0.77377587556839,0.291930258274078,0.562181115150452,-0.29555606842041,0.291930198669434,0.90962815284729,0.295556157827377,0.291930168867111,0.909628093242645,0.773775935173035,0.291930168867111,0.562181055545807,0.956439554691315,0.291930258274078,2.89023827093615e-08,0.671375930309296,0.557962238788605,-0.48778310418129,0.256442725658417,0.55796217918396,-0.789249897003174,-0.256442904472351,0.55796217918396,-0.789249837398529,-0.67137610912323,0.55796217918396,-0.487783163785934,-0.829866349697113,0.557962119579315,4.6022435640225e-08,-0.671376049518585,0.55796217918396,0.487783312797546,-0.256442755460739,0.557962119579315,0.789249897003174,0.256442874670029,0.557962119579315,0.789249897003174,0.67137610912323,0.557962119579315,0.487783282995224,0.829866349697113,0.557962119579315,8.3677145212846e-09,0.512705028057098,0.773547649383545,-0.372501879930496,0.195835798978806,0.7735475897789,-0.602720856666565,-0.195835962891579,0.773547649383545,-0.602720856666565,-0.512704968452454,0.773547649383545,-0.372501909732819,-0.633738219738007,0.773547649383545,5.59379742526289e-09, +-0.512704968452454,0.773547530174255,0.372501999139786,-0.195835784077644,0.773547530174255,0.60272091627121,0.195835947990417,0.7735475897789,0.602720856666565,0.512705028057098,0.7735475897789,0.372501909732819,0.633738279342651,0.7735475897789,2.79689889026713e-08,0.323956578969955,0.916326344013214,-0.235368102788925,0.123740307986736,0.916326344013214,-0.380833685398102,-0.123740427196026,0.916326344013214,-0.380833685398102,-0.323956489562988,0.916326344013214,-0.235368132591248,-0.400432229042053,0.916326344013214,3.11395020879957e-10,-0.323956519365311,0.916326344013214,0.235368207097054,-0.123740345239639,0.916326344013214,0.380833804607391,0.123740434646606,0.916326344013214,0.380833804607391,0.323956608772278,0.916326344013214,0.235368117690086,0.400432378053665,0.916326344013214,7.90943559536572e-08,5.34968958021409e-09,-1,-2.40736035550526e-08,1.06993791604282e-08,1,-2.94232922470883e-08 + } + NormalsW: *92 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "map1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *238 { + a: 0,0.100000001490116,0.100000001490116,0.100000001490116,0.200000002980232,0.100000001490116,0.300000011920929,0.100000001490116,0.400000005960464,0.100000001490116,0.5,0.100000001490116,0.600000023841858,0.100000001490116,0.700000047683716,0.100000001490116,0.800000071525574,0.100000001490116,0.900000095367432,0.100000001490116,1.00000011920929,0.100000001490116,0,0.200000002980232,0.100000001490116,0.200000002980232,0.200000002980232,0.200000002980232,0.300000011920929,0.200000002980232,0.400000005960464,0.200000002980232,0.5,0.200000002980232,0.600000023841858,0.200000002980232,0.700000047683716,0.200000002980232,0.800000071525574,0.200000002980232,0.900000095367432,0.200000002980232,1.00000011920929,0.200000002980232,0,0.300000011920929,0.100000001490116,0.300000011920929,0.200000002980232,0.300000011920929,0.300000011920929,0.300000011920929,0.400000005960464,0.300000011920929,0.5,0.300000011920929,0.600000023841858,0.300000011920929,0.700000047683716,0.300000011920929,0.800000071525574,0.300000011920929,0.900000095367432,0.300000011920929,1.00000011920929,0.300000011920929,0,0.400000005960464,0.100000001490116,0.400000005960464,0.200000002980232,0.400000005960464,0.300000011920929,0.400000005960464,0.400000005960464,0.400000005960464,0.5,0.400000005960464,0.600000023841858,0.400000005960464,0.700000047683716,0.400000005960464,0.800000071525574,0.400000005960464,0.900000095367432,0.400000005960464,1.00000011920929,0.400000005960464,0,0.5,0.100000001490116,0.5,0.200000002980232,0.5,0.300000011920929,0.5,0.400000005960464,0.5,0.5,0.5,0.600000023841858,0.5,0.700000047683716,0.5,0.800000071525574,0.5,0.900000095367432,0.5,1.00000011920929,0.5,0,0.600000023841858,0.100000001490116,0.600000023841858,0.200000002980232,0.600000023841858,0.300000011920929,0.600000023841858,0.400000005960464,0.600000023841858,0.5,0.600000023841858,0.600000023841858,0.600000023841858,0.700000047683716,0.600000023841858,0.800000071525574,0.600000023841858,0.900000095367432,0.600000023841858,1.00000011920929,0.600000023841858, +0,0.700000047683716,0.100000001490116,0.700000047683716,0.200000002980232,0.700000047683716,0.300000011920929,0.700000047683716,0.400000005960464,0.700000047683716,0.5,0.700000047683716,0.600000023841858,0.700000047683716,0.700000047683716,0.700000047683716,0.800000071525574,0.700000047683716,0.900000095367432,0.700000047683716,1.00000011920929,0.700000047683716,0,0.800000071525574,0.100000001490116,0.800000071525574,0.200000002980232,0.800000071525574,0.300000011920929,0.800000071525574,0.400000005960464,0.800000071525574,0.5,0.800000071525574,0.600000023841858,0.800000071525574,0.700000047683716,0.800000071525574,0.800000071525574,0.800000071525574,0.900000095367432,0.800000071525574,1.00000011920929,0.800000071525574,0,0.900000095367432,0.100000001490116,0.900000095367432,0.200000002980232,0.900000095367432,0.300000011920929,0.900000095367432,0.400000005960464,0.900000095367432,0.5,0.900000095367432,0.600000023841858,0.900000095367432,0.700000047683716,0.900000095367432,0.800000071525574,0.900000095367432,0.900000095367432,0.900000095367432,1.00000011920929,0.900000095367432,0.0500000007450581,0,0.150000005960464,0,0.25,0,0.350000023841858,0,0.450000017881393,0,0.550000011920929,0,0.650000035762787,0,0.75,0,0.850000023841858,0,0.950000047683716,0,0.0500000007450581,1,0.150000005960464,1,0.25,1,0.350000023841858,1,0.450000017881393,1,0.550000011920929,1,0.650000035762787,1,0.75,1,0.850000023841858,1,0.950000047683716,1 + } + UVIndex: *380 { + a: 0,1,12,11,1,2,13,12,2,3,14,13,3,4,15,14,4,5,16,15,5,6,17,16,6,7,18,17,7,8,19,18,8,9,20,19,9,10,21,20,11,12,23,22,12,13,24,23,13,14,25,24,14,15,26,25,15,16,27,26,16,17,28,27,17,18,29,28,18,19,30,29,19,20,31,30,20,21,32,31,22,23,34,33,23,24,35,34,24,25,36,35,25,26,37,36,26,27,38,37,27,28,39,38,28,29,40,39,29,30,41,40,30,31,42,41,31,32,43,42,33,34,45,44,34,35,46,45,35,36,47,46,36,37,48,47,37,38,49,48,38,39,50,49,39,40,51,50,40,41,52,51,41,42,53,52,42,43,54,53,44,45,56,55,45,46,57,56,46,47,58,57,47,48,59,58,48,49,60,59,49,50,61,60,50,51,62,61,51,52,63,62,52,53,64,63,53,54,65,64,55,56,67,66,56,57,68,67,57,58,69,68,58,59,70,69,59,60,71,70,60,61,72,71,61,62,73,72,62,63,74,73,63,64,75,74,64,65,76,75,66,67,78,77,67,68,79,78,68,69,80,79,69,70,81,80,70,71,82,81,71,72,83,82,72,73,84,83,73,74,85,84,74,75,86,85,75,76,87,86,77,78,89,88,78,79,90,89,79,80,91,90,80,81,92,91,81,82,93,92,82,83,94,93,83,84,95,94,84,85,96,95,85,86,97,96,86,87,98,97,1,0,99,2,1,100,3,2,101,4,3,102,5,4,103,6,5,104,7,6,105,8,7,106,9,8,107,10,9,108,88,89,109,89,90,110,90,91,111,91,92,112,92,93,113,93,94,114,94,95,115,95,96,116,96,97,117,97,98,118 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "" + MappingInformationType: "ByPolygon" + ReferenceInformationType: "IndexToDirect" + Materials: *100 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Geometry: 2637367273200, "Geometry::", "Mesh" { + Vertices: *276 { + a: 0.250000029802322,-0.95105654001236,-0.181635692715645,0.0954914912581444,-0.95105654001236,-0.293892711400986,-0.0954915508627892,-0.95105654001236,-0.293892651796341,-0.250000059604645,-0.95105654001236,-0.181635633111,-0.309017032384872,-0.95105654001236,1.84188486684889e-08,-0.250000029802322,-0.95105654001236,0.181635677814484,-0.095491498708725,-0.95105654001236,0.293892651796341,0.0954915136098862,-0.95105654001236,0.293892651796341,0.25,-0.95105654001236,0.181635633111,0.30901700258255,-0.95105654001236,0,0.475528299808502,-0.80901700258255,-0.345491588115692,0.181635603308678,-0.80901700258255,-0.55901712179184,-0.181635722517967,-0.80901700258255,-0.559017062187195,-0.475528359413147,-0.80901700258255,-0.345491498708725,-0.587785303592682,-0.80901700258255,3.50347306721233e-08,-0.475528299808502,-0.80901700258255,0.34549155831337,-0.181635618209839,-0.80901700258255,0.559017062187195,0.181635648012161,-0.80901700258255,0.55901700258255,0.47552827000618,-0.80901700258255,0.345491498708725,0.587785243988037,-0.80901700258255,0,0.654508531093597,-0.587785243988037,-0.475528389215469,0.249999955296516,-0.587785243988037,-0.76942104101181,-0.25000011920929,-0.587785243988037,-0.769420981407166,-0.654508650302887,-0.587785243988037,-0.47552827000618,-0.80901712179184,-0.587785243988037,4.82211710561842e-08,-0.654508531093597,-0.587785243988037,0.475528359413147,-0.249999985098839,-0.587785243988037,0.769420981407166,0.250000029802322,-0.587785243988037,0.769420921802521,0.654508531093597,-0.587785243988037,0.47552827000618,0.80901700258255,-0.587785243988037,0,0.769420981407166,-0.309016972780228,-0.559017181396484,0.293892592191696,-0.309016972780228,-0.904508709907532,-0.29389277100563,-0.309016972780228,-0.904508590698242,-0.769421100616455,-0.309016972780228,-0.55901700258255,-0.951056659221649,-0.309016972780228,5.66873872287488e-08,-0.769420981407166,-0.309016972780228,0.55901712179184,-0.293892621994019,-0.309016972780228,0.904508590698242,0.293892681598663,-0.309016972780228,0.904508531093597, +0.769420921802521,-0.309016972780228,0.55901700258255,0.95105654001236,-0.309016972780228,0,0.809017062187195,0,-0.587785422801971,0.309016942977905,0,-0.951056718826294,-0.309017151594162,0,-0.951056599617004,-0.809017181396484,0,-0.587785243988037,-1.00000011920929,0,5.96046447753906e-08,-0.809017062187195,0,0.587785363197327,-0.309016972780228,0,0.951056599617004,0.309017032384872,0,0.95105654001236,0.80901700258255,0,0.587785243988037,1,0,0,0.769420981407166,0.309016972780228,-0.559017181396484,0.293892592191696,0.309016972780228,-0.904508709907532,-0.29389277100563,0.309016972780228,-0.904508590698242,-0.769421100616455,0.309016972780228,-0.55901700258255,-0.951056659221649,0.309016972780228,5.66873872287488e-08,-0.769420981407166,0.309016972780228,0.55901712179184,-0.293892621994019,0.309016972780228,0.904508590698242,0.293892681598663,0.309016972780228,0.904508531093597,0.769420921802521,0.309016972780228,0.55901700258255,0.95105654001236,0.309016972780228,0,0.654508531093597,0.587785243988037,-0.475528389215469,0.249999955296516,0.587785243988037,-0.76942104101181,-0.25000011920929,0.587785243988037,-0.769420981407166,-0.654508650302887,0.587785243988037,-0.47552827000618,-0.80901712179184,0.587785243988037,4.82211710561842e-08,-0.654508531093597,0.587785243988037,0.475528359413147,-0.249999985098839,0.587785243988037,0.769420981407166,0.250000029802322,0.587785243988037,0.769420921802521,0.654508531093597,0.587785243988037,0.47552827000618,0.80901700258255,0.587785243988037,0,0.475528299808502,0.80901700258255,-0.345491588115692,0.181635603308678,0.80901700258255,-0.55901712179184,-0.181635722517967,0.80901700258255,-0.559017062187195,-0.475528359413147,0.80901700258255,-0.345491498708725,-0.587785303592682,0.80901700258255,3.50347306721233e-08,-0.475528299808502,0.80901700258255,0.34549155831337,-0.181635618209839,0.80901700258255,0.559017062187195,0.181635648012161,0.80901700258255,0.55901700258255,0.47552827000618,0.80901700258255,0.345491498708725,0.587785243988037,0.80901700258255,0,0.250000029802322,0.95105654001236,-0.181635692715645, +0.0954914912581444,0.95105654001236,-0.293892711400986,-0.0954915508627892,0.95105654001236,-0.293892651796341,-0.250000059604645,0.95105654001236,-0.181635633111,-0.309017032384872,0.95105654001236,1.84188486684889e-08,-0.250000029802322,0.95105654001236,0.181635677814484,-0.095491498708725,0.95105654001236,0.293892651796341,0.0954915136098862,0.95105654001236,0.293892651796341,0.25,0.95105654001236,0.181635633111,0.30901700258255,0.95105654001236,0,0,-1,0,0,1,0 + } + PolygonVertexIndex: *380 { + a: 0,1,11,-11,1,2,12,-12,2,3,13,-13,3,4,14,-14,4,5,15,-15,5,6,16,-16,6,7,17,-17,7,8,18,-18,8,9,19,-19,9,0,10,-20,10,11,21,-21,11,12,22,-22,12,13,23,-23,13,14,24,-24,14,15,25,-25,15,16,26,-26,16,17,27,-27,17,18,28,-28,18,19,29,-29,19,10,20,-30,20,21,31,-31,21,22,32,-32,22,23,33,-33,23,24,34,-34,24,25,35,-35,25,26,36,-36,26,27,37,-37,27,28,38,-38,28,29,39,-39,29,20,30,-40,30,31,41,-41,31,32,42,-42,32,33,43,-43,33,34,44,-44,34,35,45,-45,35,36,46,-46,36,37,47,-47,37,38,48,-48,38,39,49,-49,39,30,40,-50,40,41,51,-51,41,42,52,-52,42,43,53,-53,43,44,54,-54,44,45,55,-55,45,46,56,-56,46,47,57,-57,47,48,58,-58,48,49,59,-59,49,40,50,-60,50,51,61,-61,51,52,62,-62,52,53,63,-63,53,54,64,-64,54,55,65,-65,55,56,66,-66,56,57,67,-67,57,58,68,-68,58,59,69,-69,59,50,60,-70,60,61,71,-71,61,62,72,-72,62,63,73,-73,63,64,74,-74,64,65,75,-75,65,66,76,-76,66,67,77,-77,67,68,78,-78,68,69,79,-79,69,60,70,-80,70,71,81,-81,71,72,82,-82,72,73,83,-83,73,74,84,-84,74,75,85,-85,75,76,86,-86,76,77,87,-87,77,78,88,-88,78,79,89,-89,79,70,80,-90,1,0,-91,2,1,-91,3,2,-91,4,3,-91,5,4,-91,6,5,-91,7,6,-91,8,7,-91,9,8,-91,0,9,-91,80,81,-92,81,82,-92,82,83,-92,83,84,-92,84,85,-92,85,86,-92,86,87,-92,87,88,-92,88,89,-92,89,80,-92 + } + Edges: *190 { + a: 0,4,8,12,16,20,24,28,32,36,2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,3,1,5,9,13,17,21,25,29,33,43,41,45,49,53,57,61,65,69,73,83,81,85,89,93,97,101,105,109,113,123,121,125,129,133,137,141,145,149,153,163,161,165,169,173,177,181,185,189,193,203,201,205,209,213,217,221,225,229,233,243,241,245,249,253,257,261,265,269,273,283,281,285,289,293,297,301,305,309,313,321,322,325,328,331,334,337,340,343,346,352,351,354,357,360,363,366,369,372,375 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "" + MappingInformationType: "ByVertice" + ReferenceInformationType: "Direct" + Normals: *276 { + a: 0.323956578969955,-0.916326344013214,-0.235368266701698,0.123740307986736,-0.916326344013214,-0.380833715200424,-0.123740427196026,-0.916326344013214,-0.380833685398102,-0.323956489562988,-0.916326344013214,-0.235368117690086,-0.400432199239731,-0.916326344013214,1.02760360221055e-08,-0.323956489562988,-0.916326344013214,0.235368117690086,-0.12374035269022,-0.916326344013214,0.380833774805069,0.123740434646606,-0.916326344013214,0.380833715200424,0.323956549167633,-0.916326344013214,0.23536804318428,0.400432378053665,-0.916326344013214,-6.04106489277001e-08,0.512705028057098,-0.7735475897789,-0.372501939535141,0.195835798978806,-0.7735475897789,-0.60272079706192,-0.195835962891579,-0.773547649383545,-0.60272091627121,-0.512705028057098,-0.773547649383545,-0.372501969337463,-0.633738219738007,-0.773547649383545,4.47503794021031e-08,-0.512704968452454,-0.773547649383545,0.372501999139786,-0.195835798978806,-0.773547530174255,0.60272091627121,0.195835903286934,-0.7735475897789,0.602720856666565,0.512705028057098,-0.773547649383545,0.372501909732819,0.633738219738007,-0.7735475897789,-2.79689906790281e-08,0.67137598991394,-0.55796217918396,-0.487783163785934,0.256442725658417,-0.557962119579315,-0.789249897003174,-0.256442874670029,-0.557962119579315,-0.789249897003174,-0.67137610912323,-0.557962119579315,-0.487783223390579,-0.829866349697113,-0.55796205997467,6.69417232757041e-08,-0.671375930309296,-0.557962119579315,0.487783312797546,-0.256442725658417,-0.557962119579315,0.789249897003174,0.256442874670029,-0.557962119579315,0.789249837398529,0.67137610912323,-0.55796217918396,0.487783253192902,0.829866409301758,-0.557962119579315,1.6735430818926e-08,0.773775935173035,-0.291930258274078,-0.562181055545807,0.295555979013443,-0.291930258274078,-0.90962815284729,-0.295556157827377,-0.291930288076401,-0.909628093242645,-0.773775994777679,-0.291930288076401,-0.562180995941162,-0.956439614295959,-0.291930317878723,9.39327549076552e-08,-0.77377587556839,-0.291930228471756,0.562181115150452,-0.295556038618088,-0.291930228471756,0.90962815284729, +0.295556157827377,-0.291930168867111,0.909628093242645,0.773775935173035,-0.291930168867111,0.562181055545807,0.956439614295959,-0.291930198669434,2.89023827093615e-08,0.80901700258255,4.48810801856325e-08,-0.587785184383392,0.309016823768616,0,-0.95105654001236,-0.30901712179184,3.4523908176709e-09,-0.95105642080307,-0.80901700258255,3.4523908176709e-09,-0.587785124778748,-0.999999940395355,4.14286915884077e-08,1.03571721865592e-07,-0.809016942977905,4.83334723355711e-08,0.587785303592682,-0.309016942977905,0,0.95105654001236,0.30901712179184,-3.45239170584932e-09,0.951056480407715,0.80901700258255,3.45239170584932e-09,0.587785184383392,0.999999940395355,4.48810801856325e-08,5.52382530827344e-08,0.773775994777679,0.291930288076401,-0.562181055545807,0.295555979013443,0.291930228471756,-0.909628093242645,-0.295556157827377,0.291930288076401,-0.909628033638,-0.773775994777679,0.291930317878723,-0.562180936336517,-0.956439554691315,0.291930317878723,7.9481552006655e-08,-0.77377587556839,0.291930258274078,0.562181115150452,-0.29555606842041,0.291930198669434,0.90962815284729,0.295556157827377,0.291930168867111,0.909628093242645,0.773775935173035,0.291930168867111,0.562181055545807,0.956439554691315,0.291930258274078,2.89023827093615e-08,0.671375930309296,0.557962238788605,-0.48778310418129,0.256442725658417,0.55796217918396,-0.789249897003174,-0.256442904472351,0.55796217918396,-0.789249837398529,-0.67137610912323,0.55796217918396,-0.487783163785934,-0.829866349697113,0.557962119579315,4.6022435640225e-08,-0.671376049518585,0.55796217918396,0.487783312797546,-0.256442755460739,0.557962119579315,0.789249897003174,0.256442874670029,0.557962119579315,0.789249897003174,0.67137610912323,0.557962119579315,0.487783282995224,0.829866349697113,0.557962119579315,8.3677145212846e-09,0.512705028057098,0.773547649383545,-0.372501879930496,0.195835798978806,0.7735475897789,-0.602720856666565,-0.195835962891579,0.773547649383545,-0.602720856666565,-0.512704968452454,0.773547649383545,-0.372501909732819,-0.633738219738007,0.773547649383545,5.59379742526289e-09, +-0.512704968452454,0.773547530174255,0.372501999139786,-0.195835784077644,0.773547530174255,0.60272091627121,0.195835947990417,0.7735475897789,0.602720856666565,0.512705028057098,0.7735475897789,0.372501909732819,0.633738279342651,0.7735475897789,2.79689889026713e-08,0.323956578969955,0.916326344013214,-0.235368102788925,0.123740307986736,0.916326344013214,-0.380833685398102,-0.123740427196026,0.916326344013214,-0.380833685398102,-0.323956489562988,0.916326344013214,-0.235368132591248,-0.400432229042053,0.916326344013214,3.11395020879957e-10,-0.323956519365311,0.916326344013214,0.235368207097054,-0.123740345239639,0.916326344013214,0.380833804607391,0.123740434646606,0.916326344013214,0.380833804607391,0.323956608772278,0.916326344013214,0.235368117690086,0.400432378053665,0.916326344013214,7.90943559536572e-08,5.34968958021409e-09,-1,-2.40736035550526e-08,1.06993791604282e-08,1,-2.94232922470883e-08 + } + NormalsW: *92 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "map1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *238 { + a: 0,0.100000001490116,0.100000001490116,0.100000001490116,0.200000002980232,0.100000001490116,0.300000011920929,0.100000001490116,0.400000005960464,0.100000001490116,0.5,0.100000001490116,0.600000023841858,0.100000001490116,0.700000047683716,0.100000001490116,0.800000071525574,0.100000001490116,0.900000095367432,0.100000001490116,1.00000011920929,0.100000001490116,0,0.200000002980232,0.100000001490116,0.200000002980232,0.200000002980232,0.200000002980232,0.300000011920929,0.200000002980232,0.400000005960464,0.200000002980232,0.5,0.200000002980232,0.600000023841858,0.200000002980232,0.700000047683716,0.200000002980232,0.800000071525574,0.200000002980232,0.900000095367432,0.200000002980232,1.00000011920929,0.200000002980232,0,0.300000011920929,0.100000001490116,0.300000011920929,0.200000002980232,0.300000011920929,0.300000011920929,0.300000011920929,0.400000005960464,0.300000011920929,0.5,0.300000011920929,0.600000023841858,0.300000011920929,0.700000047683716,0.300000011920929,0.800000071525574,0.300000011920929,0.900000095367432,0.300000011920929,1.00000011920929,0.300000011920929,0,0.400000005960464,0.100000001490116,0.400000005960464,0.200000002980232,0.400000005960464,0.300000011920929,0.400000005960464,0.400000005960464,0.400000005960464,0.5,0.400000005960464,0.600000023841858,0.400000005960464,0.700000047683716,0.400000005960464,0.800000071525574,0.400000005960464,0.900000095367432,0.400000005960464,1.00000011920929,0.400000005960464,0,0.5,0.100000001490116,0.5,0.200000002980232,0.5,0.300000011920929,0.5,0.400000005960464,0.5,0.5,0.5,0.600000023841858,0.5,0.700000047683716,0.5,0.800000071525574,0.5,0.900000095367432,0.5,1.00000011920929,0.5,0,0.600000023841858,0.100000001490116,0.600000023841858,0.200000002980232,0.600000023841858,0.300000011920929,0.600000023841858,0.400000005960464,0.600000023841858,0.5,0.600000023841858,0.600000023841858,0.600000023841858,0.700000047683716,0.600000023841858,0.800000071525574,0.600000023841858,0.900000095367432,0.600000023841858,1.00000011920929,0.600000023841858, +0,0.700000047683716,0.100000001490116,0.700000047683716,0.200000002980232,0.700000047683716,0.300000011920929,0.700000047683716,0.400000005960464,0.700000047683716,0.5,0.700000047683716,0.600000023841858,0.700000047683716,0.700000047683716,0.700000047683716,0.800000071525574,0.700000047683716,0.900000095367432,0.700000047683716,1.00000011920929,0.700000047683716,0,0.800000071525574,0.100000001490116,0.800000071525574,0.200000002980232,0.800000071525574,0.300000011920929,0.800000071525574,0.400000005960464,0.800000071525574,0.5,0.800000071525574,0.600000023841858,0.800000071525574,0.700000047683716,0.800000071525574,0.800000071525574,0.800000071525574,0.900000095367432,0.800000071525574,1.00000011920929,0.800000071525574,0,0.900000095367432,0.100000001490116,0.900000095367432,0.200000002980232,0.900000095367432,0.300000011920929,0.900000095367432,0.400000005960464,0.900000095367432,0.5,0.900000095367432,0.600000023841858,0.900000095367432,0.700000047683716,0.900000095367432,0.800000071525574,0.900000095367432,0.900000095367432,0.900000095367432,1.00000011920929,0.900000095367432,0.0500000007450581,0,0.150000005960464,0,0.25,0,0.350000023841858,0,0.450000017881393,0,0.550000011920929,0,0.650000035762787,0,0.75,0,0.850000023841858,0,0.950000047683716,0,0.0500000007450581,1,0.150000005960464,1,0.25,1,0.350000023841858,1,0.450000017881393,1,0.550000011920929,1,0.650000035762787,1,0.75,1,0.850000023841858,1,0.950000047683716,1 + } + UVIndex: *380 { + a: 0,1,12,11,1,2,13,12,2,3,14,13,3,4,15,14,4,5,16,15,5,6,17,16,6,7,18,17,7,8,19,18,8,9,20,19,9,10,21,20,11,12,23,22,12,13,24,23,13,14,25,24,14,15,26,25,15,16,27,26,16,17,28,27,17,18,29,28,18,19,30,29,19,20,31,30,20,21,32,31,22,23,34,33,23,24,35,34,24,25,36,35,25,26,37,36,26,27,38,37,27,28,39,38,28,29,40,39,29,30,41,40,30,31,42,41,31,32,43,42,33,34,45,44,34,35,46,45,35,36,47,46,36,37,48,47,37,38,49,48,38,39,50,49,39,40,51,50,40,41,52,51,41,42,53,52,42,43,54,53,44,45,56,55,45,46,57,56,46,47,58,57,47,48,59,58,48,49,60,59,49,50,61,60,50,51,62,61,51,52,63,62,52,53,64,63,53,54,65,64,55,56,67,66,56,57,68,67,57,58,69,68,58,59,70,69,59,60,71,70,60,61,72,71,61,62,73,72,62,63,74,73,63,64,75,74,64,65,76,75,66,67,78,77,67,68,79,78,68,69,80,79,69,70,81,80,70,71,82,81,71,72,83,82,72,73,84,83,73,74,85,84,74,75,86,85,75,76,87,86,77,78,89,88,78,79,90,89,79,80,91,90,80,81,92,91,81,82,93,92,82,83,94,93,83,84,95,94,84,85,96,95,85,86,97,96,86,87,98,97,1,0,99,2,1,100,3,2,101,4,3,102,5,4,103,6,5,104,7,6,105,8,7,106,9,8,107,10,9,108,88,89,109,89,90,110,90,91,111,91,92,112,92,93,113,93,94,114,94,95,115,95,96,116,96,97,117,97,98,118 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "" + MappingInformationType: "ByPolygon" + ReferenceInformationType: "IndexToDirect" + Materials: *100 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Geometry: 2637367285680, "Geometry::", "Mesh" { + Vertices: *660 { + a: -0.800000190734863,0,0,-0.760845422744751,0,0.247213646769524,-0.647213757038116,0,0.470228284597397,-0.470228284597397,0,0.647213697433472,-0.247213646769524,0,0.760845363140106,-2.38418582654276e-08,0,0.800000131130219,0.247213587164879,0,0.760845303535461,0.47022819519043,0,0.647213637828827,0.647213637828827,0,0.470228254795074,0.760845243930817,0,0.24721360206604,0.800000011920929,0,0,-0.809788882732391,0.06180340051651,0,-0.770155012607574,0.06180340051651,0.250238537788391,-0.655132949352264,0.06180340051651,0.475981950759888,-0.475981950759888,0.06180340051651,0.655132949352264,-0.250238537788391,0.06180340051651,0.77015495300293,-2.41335840200918e-08,0.06180340051651,0.809788823127747,0.250238448381424,0.06180340051651,0.770154893398285,0.475981861352921,0.06180340051651,0.65513288974762,0.655132830142975,0.06180340051651,0.475981891155243,0.77015483379364,0.06180340051651,0.250238478183746,0.809788703918457,0.06180340051651,0,-0.838196754455566,0.117557063698769,0,-0.797172546386719,0.117557063698769,0.259017050266266,-0.678115427494049,0.117557063698769,0.492679685354233,-0.492679685354233,0.117557063698769,0.678115367889404,-0.259017050266266,0.117557063698769,0.797172427177429,-2.49802045715342e-08,0.117557063698769,0.838196694850922,0.259016960859299,0.117557063698769,0.797172367572784,0.492679566144943,0.117557063698769,0.67811530828476,0.67811530828476,0.117557063698769,0.492679625749588,0.79717230796814,0.117557063698769,0.259016990661621,0.838196575641632,0.117557063698769,0,-0.882443189620972,0.161803409457207,0,-0.8392533659935,0.161803409457207,0.272689938545227,-0.713911533355713,0.161803409457207,0.518687069416046,-0.518687069416046,0.161803409457207,0.713911473751068,-0.272689938545227,0.161803409457207,0.83925324678421,-2.6298849320483e-08,0.161803409457207,0.882443070411682,0.27268984913826,0.161803409457207,0.839253187179565,0.518686950206757,0.161803409457207,0.713911414146423,0.713911354541779,0.161803409457207,0.518687009811401,0.839253127574921,0.161803409457207,0.272689878940582, +0.882442951202393,0.161803409457207,0,-0.938196837902069,0.190211325883865,0,-0.892278254032135,0.190211325883865,0.289918750524521,-0.759017169475555,0.190211325883865,0.551458239555359,-0.551458239555359,0.190211325883865,0.759017109870911,-0.289918750524521,0.190211325883865,0.892278134822845,-2.79604375208464e-08,0.190211325883865,0.93819671869278,0.289918661117554,0.190211325883865,0.892278075218201,0.551458120346069,0.190211325883865,0.759017050266266,0.759016990661621,0.190211325883865,0.551458179950714,0.892278015613556,0.190211325883865,0.289918690919876,0.93819659948349,0.190211325883865,0,-1.00000023841858,0.200000032782555,0,-0.951056778430939,0.200000032782555,0.309017062187195,-0.809017181396484,0.200000032782555,0.587785363197327,-0.587785363197327,0.200000032782555,0.80901712179184,-0.309017062187195,0.200000032782555,0.951056659221649,-2.98023223876953e-08,0.200000032782555,1.00000011920929,0.309016972780228,0.200000032782555,0.951056599617004,0.587785243988037,0.200000032782555,0.809017062187195,0.80901700258255,0.200000032782555,0.587785303592682,0.95105654001236,0.200000032782555,0.30901700258255,1,0.200000032782555,0,-1.06180369853973,0.190211340785027,0,-1.00983536243439,0.190211340785027,0.328115373849869,-0.859017252922058,0.190211340785027,0.624112546443939,-0.624112546443939,0.190211340785027,0.859017193317413,-0.328115373849869,0.190211340785027,1.0098352432251,-3.1644209030901e-08,0.190211340785027,1.06180357933044,0.328115284442902,0.190211340785027,1.0098352432251,0.62411242723465,0.190211340785027,0.859017133712769,0.859017074108124,0.190211340785027,0.624112486839294,1.00983512401581,0.190211340785027,0.328115314245224,1.06180346012115,0.190211340785027,0,-1.11755728721619,0.161803424358368,0,-1.06286025047302,0.161803424358368,0.345344185829163,-0.904122829437256,0.161803424358368,0.656883656978607,-0.656883656978607,0.161803424358368,0.904122769832611,-0.345344185829163,0.161803424358368,1.06286013126373,-3.33057954549076e-08,0.161803424358368,1.1175571680069,0.345344096422195,0.161803424358368,1.06286001205444, +0.656883537769318,0.161803424358368,0.904122710227966,0.904122650623322,0.161803424358368,0.656883597373962,1.06285989284515,0.161803424358368,0.345344126224518,1.11755704879761,0.161803424358368,0,-1.16180372238159,0.117557071149349,0,-1.10494112968445,0.117557071149349,0.359017103910446,-0.939918994903564,0.117557071149349,0.682891070842743,-0.682891070842743,0.117557071149349,0.93991893529892,-0.359017103910446,0.117557071149349,1.10494089126587,-3.46244419802133e-08,0.117557071149349,1.1618036031723,0.359016984701157,0.117557071149349,1.10494089126587,0.682890951633453,0.117557071149349,0.93991881608963,0.939918756484985,0.117557071149349,0.682891011238098,1.10494077205658,0.117557071149349,0.359017044305801,1.16180348396301,0.117557071149349,0,-1.19021153450012,0.0618034116923809,0,-1.13195848464966,0.0618034116923809,0.367795586585999,-0.962901413440704,0.0618034116923809,0.699588775634766,-0.699588775634766,0.0618034116923809,0.962901294231415,-0.367795586585999,0.0618034116923809,1.13195836544037,-3.54710607552988e-08,0.0618034116923809,1.19021141529083,0.367795497179031,0.0618034116923809,1.13195836544037,0.699588656425476,0.0618034116923809,0.96290123462677,0.962901175022125,0.0618034116923809,0.699588716030121,1.13195824623108,0.0618034116923809,0.367795526981354,1.19021129608154,0.0618034116923809,0,-1.20000028610229,0,0,-1.14126813411713,0,0.370820492506027,-0.970820665359497,0,0.705342471599579,-0.705342471599579,0,0.970820605754852,-0.370820492506027,0,1.14126801490784,-3.57627882863198e-08,0,1.20000016689301,0.370820373296738,0,1.14126801490784,0.705342292785645,0,0.970820486545563,0.970820426940918,0,0.705342411994934,1.14126789569855,0,0.37082040309906,1.20000004768372,0,0,-1.19021153450012,-0.0618034116923809,0,-1.13195848464966,-0.0618034116923809,0.367795586585999,-0.962901413440704,-0.0618034116923809,0.699588775634766,-0.699588775634766,-0.0618034116923809,0.962901294231415,-0.367795586585999,-0.0618034116923809,1.13195836544037,-3.54710607552988e-08,-0.0618034116923809,1.19021141529083,0.367795497179031,-0.0618034116923809,1.13195836544037, +0.699588656425476,-0.0618034116923809,0.96290123462677,0.962901175022125,-0.0618034116923809,0.699588716030121,1.13195824623108,-0.0618034116923809,0.367795526981354,1.19021129608154,-0.0618034116923809,0,-1.16180372238159,-0.11755708605051,0,-1.10494112968445,-0.11755708605051,0.359017103910446,-0.939918994903564,-0.11755708605051,0.682891070842743,-0.682891070842743,-0.11755708605051,0.93991893529892,-0.359017103910446,-0.11755708605051,1.10494089126587,-3.46244419802133e-08,-0.11755708605051,1.1618036031723,0.359016984701157,-0.11755708605051,1.10494089126587,0.682890951633453,-0.11755708605051,0.93991881608963,0.939918756484985,-0.11755708605051,0.682891011238098,1.10494077205658,-0.11755708605051,0.359017044305801,1.16180348396301,-0.11755708605051,0,-1.11755728721619,-0.161803469061852,0,-1.06286025047302,-0.161803469061852,0.345344185829163,-0.904122829437256,-0.161803469061852,0.656883656978607,-0.656883656978607,-0.161803469061852,0.904122769832611,-0.345344185829163,-0.161803469061852,1.06286013126373,-3.33057954549076e-08,-0.161803469061852,1.1175571680069,0.345344096422195,-0.161803469061852,1.06286001205444,0.656883537769318,-0.161803469061852,0.904122710227966,0.904122650623322,-0.161803469061852,0.656883597373962,1.06285989284515,-0.161803469061852,0.345344126224518,1.11755704879761,-0.161803469061852,0,-1.06180369853973,-0.190211400389671,0,-1.00983536243439,-0.190211400389671,0.328115373849869,-0.859017252922058,-0.190211400389671,0.624112546443939,-0.624112546443939,-0.190211400389671,0.859017193317413,-0.328115373849869,-0.190211400389671,1.0098352432251,-3.1644209030901e-08,-0.190211400389671,1.06180357933044,0.328115284442902,-0.190211400389671,1.0098352432251,0.62411242723465,-0.190211400389671,0.859017133712769,0.859017074108124,-0.190211400389671,0.624112486839294,1.00983512401581,-0.190211400389671,0.328115314245224,1.06180346012115,-0.190211400389671,0,-1.00000023841858,-0.200000092387199,0,-0.951056778430939,-0.200000092387199,0.309017062187195,-0.809017181396484,-0.200000092387199,0.587785363197327, +-0.587785363197327,-0.200000092387199,0.80901712179184,-0.309017062187195,-0.200000092387199,0.951056659221649,-2.98023223876953e-08,-0.200000092387199,1.00000011920929,0.309016972780228,-0.200000092387199,0.951056599617004,0.587785243988037,-0.200000092387199,0.809017062187195,0.80901700258255,-0.200000092387199,0.587785303592682,0.95105654001236,-0.200000092387199,0.30901700258255,1,-0.200000092387199,0,-0.938196778297424,-0.190211400389671,0,-0.89227819442749,-0.190211400389671,0.289918750524521,-0.759017109870911,-0.190211400389671,0.551458179950714,-0.551458179950714,-0.190211400389671,0.759017050266266,-0.289918750524521,-0.190211400389671,0.892278075218201,-2.79604357444896e-08,-0.190211400389671,0.938196659088135,0.289918661117554,-0.190211400389671,0.892278015613556,0.551458060741425,-0.190211400389671,0.759016990661621,0.759016931056976,-0.190211400389671,0.551458120346069,0.892277956008911,-0.190211400389671,0.289918690919876,0.938196539878845,-0.190211400389671,0,-0.882443130016327,-0.161803498864174,0,-0.839253306388855,-0.161803498864174,0.272689908742905,-0.713911473751068,-0.161803498864174,0.518687009811401,-0.518687009811401,-0.161803498864174,0.713911414146423,-0.272689908742905,-0.161803498864174,0.839253187179565,-2.62988475441261e-08,-0.161803498864174,0.882443010807037,0.272689819335938,-0.161803498864174,0.839253127574921,0.518686890602112,-0.161803498864174,0.713911354541779,0.713911294937134,-0.161803498864174,0.518686950206757,0.839253067970276,-0.161803498864174,0.27268984913826,0.882442891597748,-0.161803498864174,0,-0.838196694850922,-0.117557123303413,0,-0.797172486782074,-0.117557123303413,0.259017020463943,-0.678115367889404,-0.117557123303413,0.49267965555191,-0.49267965555191,-0.117557123303413,0.67811530828476,-0.259017020463943,-0.117557123303413,0.797172367572784,-2.49802027951773e-08,-0.117557123303413,0.838196635246277,0.259016960859299,-0.117557123303413,0.79717230796814,0.492679536342621,-0.117557123303413,0.67811530828476,0.678115248680115,-0.117557123303413,0.492679595947266, +0.79717230796814,-0.117557123303413,0.259016960859299,0.838196516036987,-0.117557123303413,0,-0.809788763523102,-0.061803437769413,0,-0.770154893398285,-0.061803437769413,0.250238478183746,-0.65513288974762,-0.061803437769413,0.475981891155243,-0.475981891155243,-0.061803437769413,0.655132830142975,-0.250238478183746,-0.061803437769413,0.77015483379364,-2.41335804673781e-08,-0.061803437769413,0.809788703918457,0.250238418579102,-0.061803437769413,0.770154774188995,0.475981771945953,-0.061803437769413,0.65513277053833,0.655132710933685,-0.061803437769413,0.475981831550598,0.770154714584351,-0.061803437769413,0.250238448381424,0.809788584709167,-0.061803437769413,0 + } + PolygonVertexIndex: *800 { + a: 1,0,11,-13,2,1,12,-14,3,2,13,-15,4,3,14,-16,5,4,15,-17,6,5,16,-18,7,6,17,-19,8,7,18,-20,9,8,19,-21,10,9,20,-22,12,11,22,-24,13,12,23,-25,14,13,24,-26,15,14,25,-27,16,15,26,-28,17,16,27,-29,18,17,28,-30,19,18,29,-31,20,19,30,-32,21,20,31,-33,23,22,33,-35,24,23,34,-36,25,24,35,-37,26,25,36,-38,27,26,37,-39,28,27,38,-40,29,28,39,-41,30,29,40,-42,31,30,41,-43,32,31,42,-44,34,33,44,-46,35,34,45,-47,36,35,46,-48,37,36,47,-49,38,37,48,-50,39,38,49,-51,40,39,50,-52,41,40,51,-53,42,41,52,-54,43,42,53,-55,45,44,55,-57,46,45,56,-58,47,46,57,-59,48,47,58,-60,49,48,59,-61,50,49,60,-62,51,50,61,-63,52,51,62,-64,53,52,63,-65,54,53,64,-66,56,55,66,-68,57,56,67,-69,58,57,68,-70,59,58,69,-71,60,59,70,-72,61,60,71,-73,62,61,72,-74,63,62,73,-75,64,63,74,-76,65,64,75,-77,67,66,77,-79,68,67,78,-80,69,68,79,-81,70,69,80,-82,71,70,81,-83,72,71,82,-84,73,72,83,-85,74,73,84,-86,75,74,85,-87,76,75,86,-88,78,77,88,-90,79,78,89,-91,80,79,90,-92,81,80,91,-93,82,81,92,-94,83,82,93,-95,84,83,94,-96,85,84,95,-97,86,85,96,-98,87,86,97,-99,89,88,99,-101,90,89,100,-102,91,90,101,-103,92,91,102,-104,93,92,103,-105,94,93,104,-106,95,94,105,-107,96,95,106,-108,97,96,107,-109,98,97,108,-110,100,99,110,-112,101,100,111,-113,102,101,112,-114,103,102,113,-115,104,103,114,-116,105,104,115,-117,106,105,116,-118,107,106,117,-119,108,107,118,-120,109,108,119,-121,111,110,121,-123,112,111,122,-124,113,112,123,-125,114,113,124,-126,115,114,125,-127,116,115,126,-128,117,116,127,-129,118,117,128,-130,119,118,129,-131,120,119,130,-132,122,121,132,-134,123,122,133,-135,124,123,134,-136,125,124,135,-137,126,125,136,-138,127,126,137,-139,128,127,138,-140,129,128,139,-141,130,129,140,-142,131,130,141,-143,133,132,143,-145,134,133,144,-146,135,134,145,-147,136,135,146,-148,137,136,147,-149,138,137,148,-150,139,138,149,-151,140,139,150,-152,141,140,151,-153,142,141,152,-154,144,143,154,-156,145,144,155,-157,146,145,156,-158,147,146,157,-159,148,147,158,-160,149,148,159,-161,150,149,160,-162,151,150,161,-163,152,151,162,-164,153,152,163,-165,155,154,165, +-167,156,155,166,-168,157,156,167,-169,158,157,168,-170,159,158,169,-171,160,159,170,-172,161,160,171,-173,162,161,172,-174,163,162,173,-175,164,163,174,-176,166,165,176,-178,167,166,177,-179,168,167,178,-180,169,168,179,-181,170,169,180,-182,171,170,181,-183,172,171,182,-184,173,172,183,-185,174,173,184,-186,175,174,185,-187,177,176,187,-189,178,177,188,-190,179,178,189,-191,180,179,190,-192,181,180,191,-193,182,181,192,-194,183,182,193,-195,184,183,194,-196,185,184,195,-197,186,185,196,-198,188,187,198,-200,189,188,199,-201,190,189,200,-202,191,190,201,-203,192,191,202,-204,193,192,203,-205,194,193,204,-206,195,194,205,-207,196,195,206,-208,197,196,207,-209,199,198,209,-211,200,199,210,-212,201,200,211,-213,202,201,212,-214,203,202,213,-215,204,203,214,-216,205,204,215,-217,206,205,216,-218,207,206,217,-219,208,207,218,-220,210,209,0,-2,211,210,1,-3,212,211,2,-4,213,212,3,-5,214,213,4,-6,215,214,5,-7,216,215,6,-8,217,216,7,-9,218,217,8,-10,219,218,9,-11 + } + Edges: *420 { + a: 0,4,8,12,16,20,24,28,32,36,2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,322,326,330,334,338,342,346,350,354,358,362,366,370,374,378,382,386,390,394,398,402,406,410,414,418,422,426,430,434,438,442,446,450,454,458,462,466,470,474,478,482,486,490,494,498,502,506,510,514,518,522,526,530,534,538,542,546,550,554,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614,618,622,626,630,634,638,642,646,650,654,658,662,666,670,674,678,682,686,690,694,698,702,706,710,714,718,722,726,730,734,738,742,746,750,754,758,1,3,7,11,15,19,23,27,31,35,39,41,43,47,51,55,59,63,67,71,75,79,81,83,87,91,95,99,103,107,111,115,119,121,123,127,131,135,139,143,147,151,155,159,161,163,167,171,175,179,183,187,191,195,199,201,203,207,211,215,219,223,227,231,235,239,241,243,247,251,255,259,263,267,271,275,279,281,283,287,291,295,299,303,307,311,315,319,321,323,327,331,335,339,343,347,351,355,359,361,363,367,371,375,379,383,387,391,395,399,401,403,407,411,415,419,423,427,431,435,439,441,443,447,451,455,459,463,467,471,475,479,481,483,487,491,495,499,503,507,511,515,519,521,523,527,531,535,539,543,547,551,555,559,561,563,567,571,575,579,583,587,591,595,599,601,603,607,611,615,619,623,627,631,635,639,641,643,647,651,655,659,663,667,671,675,679,681,683,687,691,695,699,703,707,711,715,719,721,723,727,731,735,739,743,747,751,755,759,761,763,767,771,775,779,783,787,791,795,799 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "" + MappingInformationType: "ByVertice" + ReferenceInformationType: "Direct" + Normals: *660 { + a: 0.987688302993774,9.33071646613826e-07,-0.156434386968613,0.95105654001236,8.26021448574465e-07,-0.30901700258255,0.809016942977905,8.877356094672e-07,-0.587785363197327,0.587785184383392,1.14883425794687e-06,-0.80901700258255,0.309016942977905,1.12984548650275e-06,-0.95105654001236,-1.2580211716795e-07,1.00879060482839e-06,-1,-0.30901712179184,1.06101037999906e-06,-0.951056480407715,-0.587785303592682,1.21766959182423e-06,-0.809016942977905,-0.80901700258255,1.27463670196448e-06,-0.587785243988037,-0.951056599617004,1.36246080728597e-06,-0.309016942977905,-0.987688362598419,1.45352908020868e-06,-0.156434416770935,0.938454270362854,0.31178617477417,-0.148636430501938,0.902548730373383,0.315288335084915,-0.293255895376205,0.767753720283508,0.315288364887238,-0.557805895805359,0.557805776596069,0.315288513898849,-0.767753839492798,0.293255716562271,0.315288335084915,-0.902548849582672,-1.75998252416321e-07,0.315288245677948,-0.948996007442474,-0.293255925178528,0.315288245677948,-0.902548730373383,-0.557805836200714,0.315288245677948,-0.767753899097443,-0.767753779888153,0.315288424491882,-0.557805836200714,-0.902548730373383,0.315288335084915,-0.293255746364594,-0.938454389572144,0.311785817146301,-0.148636519908905,0.795247912406921,0.593056678771973,-0.125954791903496,0.762397348880768,0.597817778587341,-0.247717916965485,0.648533940315247,0.597817659378052,-0.471187561750412,0.471187621355057,0.597817361354828,-0.648534059524536,0.247717887163162,0.597817301750183,-0.762397646903992,-1.70413002820169e-07,0.597817301750183,-0.801632344722748,-0.247718095779419,0.597817301750183,-0.762397646903992,-0.471187680959702,0.597817301750183,-0.64853423833847,-0.648534297943115,0.597817182540894,-0.471187680959702,-0.762397825717926,0.597817122936249,-0.247717991471291,-0.79524827003479,0.593056201934814,-0.125954926013947,0.571626603603363,0.815503656864166,-0.0905367136001587,0.545891046524048,0.818866610527039,-0.177370771765709,0.464362621307373,0.818866670131683,-0.337379276752472,0.33737924695015,0.818866670131683,-0.464362800121307, +0.177370771765709,0.818866550922394,-0.545891106128693,-1.27819205886226e-07,0.818866610527039,-0.573983907699585,-0.177370890974998,0.818866610527039,-0.545891225337982,-0.337379366159439,0.818866550922394,-0.464362889528275,-0.464362919330597,0.818866372108459,-0.337379485368729,-0.545891046524048,0.818866610527039,-0.177370697259903,-0.571626245975494,0.815503835678101,-0.0905366688966751,0.289924025535583,0.955947458744049,-0.0459194406867027,0.276025265455246,0.95695698261261,-0.0896860435605049,0.234800934791565,0.956956923007965,-0.170592963695526,0.170592844486237,0.956956923007965,-0.234800964593887,0.0896859988570213,0.95695686340332,-0.276025116443634,-3.53346720771697e-08,0.95695686340332,-0.290229946374893,-0.0896860212087631,0.95695686340332,-0.276025116443634,-0.170592963695526,0.956956803798676,-0.234801068902016,-0.234800934791565,0.956956923007965,-0.170592963695526,-0.276025027036667,0.956956923007965,-0.0896859467029572,-0.289923936128616,0.955947458744049,-0.0459194108843803,-0.0204692147672176,0.999785125255585,0.00324205122888088,-0.0194675140082836,0.999790489673615,0.00632543954998255,-0.0165600497275591,0.999790489673615,0.0120316203683615,-0.0120315663516521,0.99979043006897,0.0165600646287203,-0.00632535666227341,0.99979043006897,0.0194674972444773,4.8349373393819e-09,0.99979043006897,0.0204693228006363,0.00632537249475718,0.99979043006897,0.0194675214588642,0.0120315626263618,0.99979043006897,0.0165600571781397,0.016560010612011,0.99979043006897,0.0120315486565232,0.0194674655795097,0.99979043006897,0.00632536085322499,0.0204691849648952,0.999785184860229,0.00324202189221978,-0.326856583356857,0.943654954433441,0.0517689436674118,-0.311276614665985,0.944921970367432,0.101139985024929,-0.264787882566452,0.944921910762787,0.192379742860794,-0.192379653453827,0.944921970367432,0.264787912368774,-0.101139970123768,0.944921970367432,0.311276763677597,1.28363746298987e-08,0.944921910762787,0.327295809984207,0.101140037178993,0.944921970367432,0.311276972293854,0.192379727959633,0.944921910762787,0.264788031578064, +0.264787942171097,0.944921851158142,0.19237969815731,0.311276823282242,0.944922029972076,0.101139925420284,0.326856821775436,0.943654894828796,0.051769033074379,-0.598172545433044,0.795747399330139,0.0947410017251968,-0.571466028690338,0.79934298992157,0.185680627822876,-0.4861179292202,0.799343049526215,0.353185534477234,-0.353185594081879,0.79934287071228,0.486118286848068,-0.185680657625198,0.799342632293701,0.571466565132141,3.50696072182188e-09,0.799342632293701,0.600875496864319,0.18568080663681,0.799342572689056,0.571466565132141,0.353185802698135,0.799342572689056,0.486118584871292,0.486118525266647,0.799342632293701,0.353185743093491,0.571466565132141,0.799342691898346,0.185680657625198,0.598172724246979,0.79574716091156,0.0947412475943565,-0.809147238731384,0.573460221290588,0.128156095743179,-0.775943040847778,0.578228652477264,0.252119153738022,-0.660056412220001,0.578228712081909,0.479559302330017,-0.479559123516083,0.57822859287262,0.66005665063858,-0.252119123935699,0.578228533267975,0.775943100452423,3.39115802105994e-09,0.57822859287262,0.815874755382538,0.252119123935699,0.578228771686554,0.775942921638489,0.479559183120728,0.578228771686554,0.660056412220001,0.660056471824646,0.578228712081909,0.479559123516083,0.775943040847778,0.578228652477264,0.252119153738022,0.80914694070816,0.573460698127747,0.128156244754791,-0.942271113395691,0.299753814935684,0.149240911006927,-0.906302988529205,0.30314826965332,0.294475585222244,-0.770947396755219,0.303148061037064,0.560126185417175,-0.560126006603241,0.303148627281189,0.770947396755219,-0.294475495815277,0.303148716688156,0.906302928924561,-3.32160454696862e-09,0.303148686885834,0.95294326543808,0.294475644826889,0.303148657083511,0.906302869319916,0.560126066207886,0.303148686885834,0.770947217941284,0.770947337150574,0.303148537874222,0.560126006603241,0.906302809715271,0.303148984909058,0.294475585222244,0.942270934581757,0.299754619598389,0.149240970611572,-0.987688422203064,0,0.156434327363968,-0.95105654001236,0,0.309016913175583,-0.809016942977905,0,0.587785422801971, +-0.587785065174103,0,0.809017181396484,-0.30901688337326,3.29844329627349e-09,0.95105654001236,-6.59688659254698e-09,6.59688659254698e-09,1,0.309016972780228,-3.2984439624073e-09,0.95105654001236,0.587785184383392,-3.29844329627349e-09,0.809017062187195,0.80901700258255,3.29844307422889e-09,0.587785243988037,0.95105654001236,0,0.309016942977905,0.987688422203064,0,0.156434386968613,-0.942271113395691,-0.299753755331039,0.149240911006927,-0.906303107738495,-0.303148210048676,0.294475615024567,-0.770947337150574,-0.303148031234741,0.560126185417175,-0.560125887393951,-0.303148567676544,0.770947396755219,-0.294475525617599,-0.303148657083511,0.906302928924561,0,-0.303148627281189,0.95294326543808,0.294475704431534,-0.303148627281189,0.906302928924561,0.560126066207886,-0.303148657083511,0.770947277545929,0.770947337150574,-0.303148508071899,0.560126006603241,0.906302809715271,-0.30314901471138,0.294475585222244,0.942270874977112,-0.299754589796066,0.149240985512733,-0.809147357940674,-0.573460102081299,0.128156125545502,-0.775943160057068,-0.578228414058685,0.252119183540344,-0.660056471824646,-0.578228533267975,0.479559302330017,-0.479559183120728,-0.57822847366333,0.66005676984787,-0.252119243144989,-0.578228354454041,0.775943160057068,-1.69557867746306e-09,-0.578228414058685,0.815874993801117,0.252119243144989,-0.57822859287262,0.775943100452423,0.479559302330017,-0.57822859287262,0.660056471824646,0.660056710243225,-0.57822859287262,0.479559183120728,0.775943160057068,-0.578228533267975,0.252119213342667,0.80914705991745,-0.573460519313812,0.128156289458275,-0.598172724246979,-0.795747041702271,0.0947410836815834,-0.571466326713562,-0.799342751502991,0.185680687427521,-0.486118108034134,-0.79934287071228,0.353185653686523,-0.353185653686523,-0.799342632293701,0.486118495464325,-0.185680776834488,-0.799342513084412,0.571466743946075,1.75347991682173e-09,-0.799342393875122,0.600875675678253,0.185680881142616,-0.799342393875122,0.571466743946075,0.353186011314392,-0.799342393875122,0.486118733882904,0.486118733882904,-0.799342393875122,0.35318586230278, +0.571466743946075,-0.799342513084412,0.185680791735649,0.598172903060913,-0.795746982097626,0.0947412773966789,-0.326856702566147,-0.943654894828796,0.0517689660191536,-0.311276704072952,-0.944921910762787,0.101139977574348,-0.264787971973419,-0.944921970367432,0.192379757761955,-0.192379683256149,-0.944921910762787,0.264788031578064,-0.10113999992609,-0.944921851158142,0.311276942491531,1.00857224794026e-08,-0.944921970367432,0.327295929193497,0.101140044629574,-0.944921851158142,0.311277002096176,0.192379772663116,-0.944921910762787,0.264788061380386,0.264788001775742,-0.944921910762787,0.192379742860794,0.311276823282242,-0.944921910762787,0.101139940321445,0.326856881380081,-0.943654835224152,0.0517690107226372,-0.0204693078994751,-0.999785184860229,0.00324201700277627,-0.0194676090031862,-0.99979043006897,0.00632539903745055,-0.0165601242333651,-0.999790489673615,0.0120316371321678,-0.0120316268876195,-0.999790489673615,0.0165601167827845,-0.00632539391517639,-0.999790489673615,0.0194675847887993,1.54717927358661e-08,-0.99979043006897,0.0204694140702486,0.00632540229707956,-0.999790489673615,0.0194675661623478,0.0120316119864583,-0.999790489673615,0.0165601186454296,0.0165601223707199,-0.99979043006897,0.012031595222652,0.019467594102025,-0.999790489673615,0.00632535386830568,0.0204692874103785,-0.999785184860229,0.00324199255555868,0.289923459291458,-0.955947577953339,-0.0459193401038647,0.276024729013443,-0.956957042217255,-0.0896859094500542,0.234800651669502,-0.956957042217255,-0.170592680573463,0.17059263586998,-0.956957101821899,-0.234800562262535,0.0896858647465706,-0.956957101821899,-0.276024699211121,-2.15080522281141e-08,-0.956957042217255,-0.29022952914238,-0.089685894548893,-0.95695698261261,-0.276024788618088,-0.170592680573463,-0.95695698261261,-0.234800741076469,-0.234800651669502,-0.956957042217255,-0.170592740178108,-0.276024669408798,-0.956957042217255,-0.0896858796477318,-0.289923459291458,-0.955947637557983,-0.0459193773567677,0.571626663208008,-0.815503537654877,-0.0905367136001587,0.545891225337982,-0.818866550922394,-0.177370831370354, +0.464362680912018,-0.818866610527039,-0.337379276752472,0.337379217147827,-0.818866729736328,-0.46436271071434,0.177370861172676,-0.818866610527039,-0.545891165733337,-3.03299785286981e-08,-0.818866491317749,-0.573983907699585,-0.177370890974998,-0.818866491317749,-0.545891284942627,-0.337379366159439,-0.818866372108459,-0.464362949132919,-0.464362800121307,-0.818866372108459,-0.337379455566406,-0.545891225337982,-0.818866491317749,-0.17737078666687,-0.571626663208008,-0.815503597259521,-0.0905367508530617,0.7952481508255,-0.593056261539459,-0.125954806804657,0.762397587299347,-0.597817361354828,-0.247717976570129,0.648533940315247,-0.597817659378052,-0.471187710762024,0.471187502145767,-0.597817659378052,-0.648534059524536,0.247718051075935,-0.597817480564117,-0.762397527694702,-5.45321334755045e-08,-0.597817480564117,-0.801632344722748,-0.24771811068058,-0.597817361354828,-0.762397587299347,-0.471187591552734,-0.597817420959473,-0.648534178733826,-0.648534178733826,-0.597817420959473,-0.471187621355057,-0.762397706508636,-0.597817361354828,-0.247717902064323,-0.7952481508255,-0.593056321144104,-0.125954866409302,0.938454568386078,-0.311785489320755,-0.148636475205421,0.902548909187317,-0.315287798643112,-0.293255895376205,0.767753899097443,-0.315287798643112,-0.557806074619293,0.557805776596069,-0.315287828445435,-0.767754077911377,0.29325595498085,-0.315287739038467,-0.902548909187317,-6.8052635526783e-08,-0.315287739038467,-0.948996126651764,-0.293255984783173,-0.315287858247757,-0.902548789978027,-0.557805955410004,-0.315287739038467,-0.767753958702087,-0.767753899097443,-0.315287888050079,-0.557805955410004,-0.902548849582672,-0.315288126468658,-0.293255865573883,-0.938454508781433,-0.311785787343979,-0.148636490106583 + } + NormalsW: *220 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "map1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *462 { + a: 0.450000047683716,1,0.500000059604645,1,0.550000071525574,1,0.600000083446503,1,0.650000095367432,1,0.700000107288361,1,0.75000011920929,1,0.800000131130219,1,0.850000143051147,1,0.900000154972076,1,0.950000166893005,1,0.450000047683716,0.949999988079071,0.500000059604645,0.949999988079071,0.550000071525574,0.949999988079071,0.600000083446503,0.949999988079071,0.650000095367432,0.949999988079071,0.700000107288361,0.949999988079071,0.75000011920929,0.949999988079071,0.800000131130219,0.949999988079071,0.850000143051147,0.949999988079071,0.900000154972076,0.949999988079071,0.950000166893005,0.949999988079071,0.450000047683716,0.899999976158142,0.500000059604645,0.899999976158142,0.550000071525574,0.899999976158142,0.600000083446503,0.899999976158142,0.650000095367432,0.899999976158142,0.700000107288361,0.899999976158142,0.75000011920929,0.899999976158142,0.800000131130219,0.899999976158142,0.850000143051147,0.899999976158142,0.900000154972076,0.899999976158142,0.950000166893005,0.899999976158142,0.450000047683716,0.849999964237213,0.500000059604645,0.849999964237213,0.550000071525574,0.849999964237213,0.600000083446503,0.849999964237213,0.650000095367432,0.849999964237213,0.700000107288361,0.849999964237213,0.75000011920929,0.849999964237213,0.800000131130219,0.849999964237213,0.850000143051147,0.849999964237213,0.900000154972076,0.849999964237213,0.950000166893005,0.849999964237213,0.450000047683716,0.799999952316284,0.500000059604645,0.799999952316284,0.550000071525574,0.799999952316284,0.600000083446503,0.799999952316284,0.650000095367432,0.799999952316284,0.700000107288361,0.799999952316284,0.75000011920929,0.799999952316284,0.800000131130219,0.799999952316284,0.850000143051147,0.799999952316284,0.900000154972076,0.799999952316284,0.950000166893005,0.799999952316284,0.450000047683716,0.749999940395355,0.500000059604645,0.749999940395355,0.550000071525574,0.749999940395355,0.600000083446503,0.749999940395355,0.650000095367432,0.749999940395355,0.700000107288361,0.749999940395355,0.75000011920929, +0.749999940395355,0.800000131130219,0.749999940395355,0.850000143051147,0.749999940395355,0.900000154972076,0.749999940395355,0.950000166893005,0.749999940395355,0.450000047683716,0.699999928474426,0.500000059604645,0.699999928474426,0.550000071525574,0.699999928474426,0.600000083446503,0.699999928474426,0.650000095367432,0.699999928474426,0.700000107288361,0.699999928474426,0.75000011920929,0.699999928474426,0.800000131130219,0.699999928474426,0.850000143051147,0.699999928474426,0.900000154972076,0.699999928474426,0.950000166893005,0.699999928474426,0.450000047683716,0.649999916553497,0.500000059604645,0.649999916553497,0.550000071525574,0.649999916553497,0.600000083446503,0.649999916553497,0.650000095367432,0.649999916553497,0.700000107288361,0.649999916553497,0.75000011920929,0.649999916553497,0.800000131130219,0.649999916553497,0.850000143051147,0.649999916553497,0.900000154972076,0.649999916553497,0.950000166893005,0.649999916553497,0.450000047683716,0.599999904632568,0.500000059604645,0.599999904632568,0.550000071525574,0.599999904632568,0.600000083446503,0.599999904632568,0.650000095367432,0.599999904632568,0.700000107288361,0.599999904632568,0.75000011920929,0.599999904632568,0.800000131130219,0.599999904632568,0.850000143051147,0.599999904632568,0.900000154972076,0.599999904632568,0.950000166893005,0.599999904632568,0.450000047683716,0.549999892711639,0.500000059604645,0.549999892711639,0.550000071525574,0.549999892711639,0.600000083446503,0.549999892711639,0.650000095367432,0.549999892711639,0.700000107288361,0.549999892711639,0.75000011920929,0.549999892711639,0.800000131130219,0.549999892711639,0.850000143051147,0.549999892711639,0.900000154972076,0.549999892711639,0.950000166893005,0.549999892711639,0.450000047683716,0.49999988079071,0.500000059604645,0.49999988079071,0.550000071525574,0.49999988079071,0.600000083446503,0.49999988079071,0.650000095367432,0.49999988079071,0.700000107288361,0.49999988079071,0.75000011920929,0.49999988079071,0.800000131130219,0.49999988079071,0.850000143051147,0.49999988079071, +0.900000154972076,0.49999988079071,0.950000166893005,0.49999988079071,0.450000047683716,0.449999868869781,0.500000059604645,0.449999868869781,0.550000071525574,0.449999868869781,0.600000083446503,0.449999868869781,0.650000095367432,0.449999868869781,0.700000107288361,0.449999868869781,0.75000011920929,0.449999868869781,0.800000131130219,0.449999868869781,0.850000143051147,0.449999868869781,0.900000154972076,0.449999868869781,0.950000166893005,0.449999868869781,0.450000047683716,0.399999856948853,0.500000059604645,0.399999856948853,0.550000071525574,0.399999856948853,0.600000083446503,0.399999856948853,0.650000095367432,0.399999856948853,0.700000107288361,0.399999856948853,0.75000011920929,0.399999856948853,0.800000131130219,0.399999856948853,0.850000143051147,0.399999856948853,0.900000154972076,0.399999856948853,0.950000166893005,0.399999856948853,0.450000047683716,0.349999845027924,0.500000059604645,0.349999845027924,0.550000071525574,0.349999845027924,0.600000083446503,0.349999845027924,0.650000095367432,0.349999845027924,0.700000107288361,0.349999845027924,0.75000011920929,0.349999845027924,0.800000131130219,0.349999845027924,0.850000143051147,0.349999845027924,0.900000154972076,0.349999845027924,0.950000166893005,0.349999845027924,0.450000047683716,0.299999833106995,0.500000059604645,0.299999833106995,0.550000071525574,0.299999833106995,0.600000083446503,0.299999833106995,0.650000095367432,0.299999833106995,0.700000107288361,0.299999833106995,0.75000011920929,0.299999833106995,0.800000131130219,0.299999833106995,0.850000143051147,0.299999833106995,0.900000154972076,0.299999833106995,0.950000166893005,0.299999833106995,0.450000047683716,0.249999836087227,0.500000059604645,0.249999836087227,0.550000071525574,0.249999836087227,0.600000083446503,0.249999836087227,0.650000095367432,0.249999836087227,0.700000107288361,0.249999836087227,0.75000011920929,0.249999836087227,0.800000131130219,0.249999836087227,0.850000143051147,0.249999836087227,0.900000154972076,0.249999836087227,0.950000166893005,0.249999836087227,0.450000047683716, +0.199999839067459,0.500000059604645,0.199999839067459,0.550000071525574,0.199999839067459,0.600000083446503,0.199999839067459,0.650000095367432,0.199999839067459,0.700000107288361,0.199999839067459,0.75000011920929,0.199999839067459,0.800000131130219,0.199999839067459,0.850000143051147,0.199999839067459,0.900000154972076,0.199999839067459,0.950000166893005,0.199999839067459,0.450000047683716,0.149999842047691,0.500000059604645,0.149999842047691,0.550000071525574,0.149999842047691,0.600000083446503,0.149999842047691,0.650000095367432,0.149999842047691,0.700000107288361,0.149999842047691,0.75000011920929,0.149999842047691,0.800000131130219,0.149999842047691,0.850000143051147,0.149999842047691,0.900000154972076,0.149999842047691,0.950000166893005,0.149999842047691,0.450000047683716,0.0999998450279236,0.500000059604645,0.0999998450279236,0.550000071525574,0.0999998450279236,0.600000083446503,0.0999998450279236,0.650000095367432,0.0999998450279236,0.700000107288361,0.0999998450279236,0.75000011920929,0.0999998450279236,0.800000131130219,0.0999998450279236,0.850000143051147,0.0999998450279236,0.900000154972076,0.0999998450279236,0.950000166893005,0.0999998450279236,0.450000047683716,0.0499998442828655,0.500000059604645,0.0499998442828655,0.550000071525574,0.0499998442828655,0.600000083446503,0.0499998442828655,0.650000095367432,0.0499998442828655,0.700000107288361,0.0499998442828655,0.75000011920929,0.0499998442828655,0.800000131130219,0.0499998442828655,0.850000143051147,0.0499998442828655,0.900000154972076,0.0499998442828655,0.950000166893005,0.0499998442828655,0.450000047683716,-1.564621925354e-07,0.500000059604645,-1.564621925354e-07,0.550000071525574,-1.564621925354e-07,0.600000083446503,-1.564621925354e-07,0.650000095367432,-1.564621925354e-07,0.700000107288361,-1.564621925354e-07,0.75000011920929,-1.564621925354e-07,0.800000131130219,-1.564621925354e-07,0.850000143051147,-1.564621925354e-07,0.900000154972076,-1.564621925354e-07,0.950000166893005,-1.564621925354e-07 + } + UVIndex: *800 { + a: 1,0,11,12,2,1,12,13,3,2,13,14,4,3,14,15,5,4,15,16,6,5,16,17,7,6,17,18,8,7,18,19,9,8,19,20,10,9,20,21,12,11,22,23,13,12,23,24,14,13,24,25,15,14,25,26,16,15,26,27,17,16,27,28,18,17,28,29,19,18,29,30,20,19,30,31,21,20,31,32,23,22,33,34,24,23,34,35,25,24,35,36,26,25,36,37,27,26,37,38,28,27,38,39,29,28,39,40,30,29,40,41,31,30,41,42,32,31,42,43,34,33,44,45,35,34,45,46,36,35,46,47,37,36,47,48,38,37,48,49,39,38,49,50,40,39,50,51,41,40,51,52,42,41,52,53,43,42,53,54,45,44,55,56,46,45,56,57,47,46,57,58,48,47,58,59,49,48,59,60,50,49,60,61,51,50,61,62,52,51,62,63,53,52,63,64,54,53,64,65,56,55,66,67,57,56,67,68,58,57,68,69,59,58,69,70,60,59,70,71,61,60,71,72,62,61,72,73,63,62,73,74,64,63,74,75,65,64,75,76,67,66,77,78,68,67,78,79,69,68,79,80,70,69,80,81,71,70,81,82,72,71,82,83,73,72,83,84,74,73,84,85,75,74,85,86,76,75,86,87,78,77,88,89,79,78,89,90,80,79,90,91,81,80,91,92,82,81,92,93,83,82,93,94,84,83,94,95,85,84,95,96,86,85,96,97,87,86,97,98,89,88,99,100,90,89,100,101,91,90,101,102,92,91,102,103,93,92,103,104,94,93,104,105,95,94,105,106,96,95,106,107,97,96,107,108,98,97,108,109,100,99,110,111,101,100,111,112,102,101,112,113,103,102,113,114,104,103,114,115,105,104,115,116,106,105,116,117,107,106,117,118,108,107,118,119,109,108,119,120,111,110,121,122,112,111,122,123,113,112,123,124,114,113,124,125,115,114,125,126,116,115,126,127,117,116,127,128,118,117,128,129,119,118,129,130,120,119,130,131,122,121,132,133,123,122,133,134,124,123,134,135,125,124,135,136,126,125,136,137,127,126,137,138,128,127,138,139,129,128,139,140,130,129,140,141,131,130,141,142,133,132,143,144,134,133,144,145,135,134,145,146,136,135,146,147,137,136,147,148,138,137,148,149,139,138,149,150,140,139,150,151,141,140,151,152,142,141,152,153,144,143,154,155,145,144,155,156,146,145,156,157,147,146,157,158,148,147,158,159,149,148,159,160,150,149,160,161,151,150,161,162,152,151,162,163,153,152,163,164,155,154,165,166,156,155,166,167,157,156,167,168,158,157,168,169,159,158,169,170,160,159,170,171,161,160,171,172,162,161,172,173,163,162,173,174,164, +163,174,175,166,165,176,177,167,166,177,178,168,167,178,179,169,168,179,180,170,169,180,181,171,170,181,182,172,171,182,183,173,172,183,184,174,173,184,185,175,174,185,186,177,176,187,188,178,177,188,189,179,178,189,190,180,179,190,191,181,180,191,192,182,181,192,193,183,182,193,194,184,183,194,195,185,184,195,196,186,185,196,197,188,187,198,199,189,188,199,200,190,189,200,201,191,190,201,202,192,191,202,203,193,192,203,204,194,193,204,205,195,194,205,206,196,195,206,207,197,196,207,208,199,198,209,210,200,199,210,211,201,200,211,212,202,201,212,213,203,202,213,214,204,203,214,215,205,204,215,216,206,205,216,217,207,206,217,218,208,207,218,219,210,209,220,221,211,210,221,222,212,211,222,223,213,212,223,224,214,213,224,225,215,214,225,226,216,215,226,227,217,216,227,228,218,217,228,229,219,218,229,230 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Model: 2637740966912, "Model::rightFoot", "Mesh" { + Version: 232 + Properties70: { + P: "RotationActive", "bool", "", "",1 + P: "InheritType", "enum", "", "",1 + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A+",-0.632826160246344,0.0239284158879277,0.263349655853582 + P: "Lcl Scaling", "Lcl Scaling", "", "A+",0.339674610876223,0.220142467543593,0.573318579804827 + P: "currentUVSet", "KString", "", "U", "map1" + } + Shading: T + Culling: "CullingOff" + } + Model: 2637342695568, "Model::leftFoot", "Mesh" { + Version: 232 + Properties70: { + P: "RotationActive", "bool", "", "",1 + P: "InheritType", "enum", "", "",1 + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A+",0.633,0.0239284158879277,0.263349655853582 + P: "Lcl Scaling", "Lcl Scaling", "", "A+",0.339674610876223,0.220142467543593,0.573318579804827 + P: "currentUVSet", "KString", "", "U", "map1" + } + Shading: T + Culling: "CullingOff" + } + Model: 2637360761120, "Model::rightHand", "Mesh" { + Version: 232 + Properties70: { + P: "RotationActive", "bool", "", "",1 + P: "InheritType", "enum", "", "",1 + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A+",-1.14619512869557,0.507975403293259,-0.0390380783208544 + P: "Lcl Scaling", "Lcl Scaling", "", "A+",0.249319762540922,0.249319762540922,0.249319762540922 + P: "currentUVSet", "KString", "", "U", "map1" + } + Shading: T + Culling: "CullingOff" + } + Model: 2637346959376, "Model::leftHand", "Mesh" { + Version: 232 + Properties70: { + P: "RotationActive", "bool", "", "",1 + P: "InheritType", "enum", "", "",1 + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A+",1.146,0.507975403293259,-0.0390380783208544 + P: "Lcl Scaling", "Lcl Scaling", "", "A+",0.249319762540922,0.249319762540922,0.249319762540922 + P: "currentUVSet", "KString", "", "U", "map1" + } + Shading: T + Culling: "CullingOff" + } + Model: 2637295467264, "Model::trunk", "Null" { + Version: 232 + Properties70: { + P: "RotationActive", "bool", "", "",1 + P: "InheritType", "enum", "", "",1 + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + } + Shading: Y + Culling: "CullingOff" + } + Model: 2637153360768, "Model::body", "Mesh" { + Version: 232 + Properties70: { + P: "RotationActive", "bool", "", "",1 + P: "InheritType", "enum", "", "",1 + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,1.1390394623742,0 + P: "currentUVSet", "KString", "", "U", "map1" + } + Shading: T + Culling: "CullingOff" + } + Model: 2637366735520, "Model::leftEye", "Mesh" { + Version: 232 + Properties70: { + P: "RotationActive", "bool", "", "",1 + P: "InheritType", "enum", "", "",1 + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0.39,1.23977955717713,0.777193865135264 + P: "Lcl Rotation", "Lcl Rotation", "", "A",90,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",0.257597749861109,0.184336283565058,0.310578602979435 + P: "currentUVSet", "KString", "", "U", "map1" + } + Shading: T + Culling: "CullingOff" + } + Model: 2637144985648, "Model::rightEye", "Mesh" { + Version: 232 + Properties70: { + P: "RotationActive", "bool", "", "",1 + P: "InheritType", "enum", "", "",1 + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",-0.389711358470723,1.23977955717713,0.777193865135264 + P: "Lcl Rotation", "Lcl Rotation", "", "A",90,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",0.257597749861109,0.184336283565058,0.310578602979435 + P: "currentUVSet", "KString", "", "U", "map1" + } + Shading: T + Culling: "CullingOff" + } + Model: 2637908884624, "Model::mouth", "Mesh" { + Version: 232 + Properties70: { + P: "RotationActive", "bool", "", "",1 + P: "InheritType", "enum", "", "",1 + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,0.83098773708535,0.734895424829751 + P: "Lcl Rotation", "Lcl Rotation", "", "A",93.3470490501284,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",0.299234603636461,0.299234603636461,0.299234603636461 + P: "currentUVSet", "KString", "", "U", "map1" + } + Shading: T + Culling: "CullingOff" + } + Material: 2637999446464, "Material::phong2", "" { + Version: 102 + ShadingModel: "phong" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",0,0,0 + P: "DiffuseFactor", "Number", "", "A",0.800000011920929 + P: "TransparencyFactor", "Number", "", "A",1 + P: "SpecularColor", "Color", "", "A",0,0,0 + P: "ReflectionFactor", "Number", "", "A",0.5 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",0,0,0 + P: "Specular", "Vector3D", "Vector", "",0,0,0 + P: "Shininess", "double", "Number", "",20 + P: "Opacity", "double", "Number", "",1 + P: "Reflectivity", "double", "Number", "",0 + } + } + Material: 2637999443104, "Material::phong1", "" { + Version: 102 + ShadingModel: "phong" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",0.927299976348877,1,0 + P: "DiffuseFactor", "Number", "", "A",0.800000011920929 + P: "TransparencyFactor", "Number", "", "A",1 + P: "SpecularColor", "Color", "", "A",0,0,0 + P: "ReflectionFactor", "Number", "", "A",0.5 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",0.741839992133379,0.800000011920929,0 + P: "Specular", "Vector3D", "Vector", "",0,0,0 + P: "Shininess", "double", "Number", "",20 + P: "Opacity", "double", "Number", "",1 + P: "Reflectivity", "double", "Number", "",0 + } + } + Material: 2637999445504, "Material::phong3", "" { + Version: 102 + ShadingModel: "phong" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",1,1,1 + P: "DiffuseFactor", "Number", "", "A",0.800000011920929 + P: "TransparencyFactor", "Number", "", "A",1 + P: "SpecularColor", "Color", "", "A",0,0,0 + P: "ReflectionFactor", "Number", "", "A",0.5 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",0.800000011920929,0.800000011920929,0.800000011920929 + P: "Specular", "Vector3D", "Vector", "",0,0,0 + P: "Shininess", "double", "Number", "",20 + P: "Opacity", "double", "Number", "",1 + P: "Reflectivity", "double", "Number", "",0 + } + } + AnimationStack: 2637898929488, "AnimStack::Take 001", "" { + Properties70: { + P: "LocalStart", "KTime", "Time", "",1539538600 + P: "LocalStop", "KTime", "Time", "",44646619400 + P: "ReferenceStart", "KTime", "Time", "",1539538600 + P: "ReferenceStop", "KTime", "Time", "",44646619400 + } + } + AnimationCurve: 2637908432768, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908432928, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: -0.6328261,-0.6329104,-0.6331277,-0.6334249,-0.6337486,-0.6340457,-0.634263,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6343473,-0.6342734,-0.6340805,-0.6338118,-0.6335108,-0.6332205,-0.6329843 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908438368, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.02392842,0.03951535,0.07971323,0.1346777,0.1945643,0.2495287,0.2897266,0.3053136,0.2925593,0.2592739,0.2129232,0.1609731,0.1108894,0.07013816,0.04618511,0.04563326,0.06563355,0.09966001,0.1414788,0.184856,0.2235579,0.2513505,0.262,0.2504315,0.2202405,0.1781988,0.1310783,0.08565067,0.04868786 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908434528, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.2633497,0.2176547,0.09980983,-0.06132498,-0.2368898,-0.3980246,-0.5158695,-0.5615644,-0.5456824,-0.5020929,-0.4368809,-0.3561312,-0.2659289,-0.1723588,-0.08150595,0.005919501,0.1140601,0.2370418,0.3633913,0.4816351,0.5803,0.6479128,0.673,0.6530941,0.6011443,0.5288031,0.4477226,0.3695553,0.3059533 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908434688, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908433248, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908438528, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908433568, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,2.492712,8.921284,17.71137,27.28863,36.07872,42.50729,45,43.50667,39.45333,33.48,26.22667,18.33333,10.44,3.186667,-3.186667,-10.44,-18.33333,-26.22667,-33.48,-39.45333,-43.50667,-45,-42.81334,-37.10667,-29.16,-20.25333,-11.66667,-4.68 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908435488, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908434848, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908436288, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908443168, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633,0.633 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908443488, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.02392842,0.03714223,0.07121996,0.117816,0.1685849,0.215181,0.2492587,0.2624725,0.2508845,0.2206427,0.1785302,0.1313303,0.08582621,0.04880114,0.02703832,0.02758015,0.053224,0.09685186,0.1504708,0.206088,0.2557105,0.2913455,0.305,0.291342,0.255698,0.2060628,0.1504315,0.09679883,0.05315986 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908443808, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.2633497,0.2860403,0.3445582,0.4245725,0.5117522,0.5917666,0.6502845,0.6729751,0.6478923,0.5802903,0.4816387,0.3634073,0.2370658,0.1140838,0.005931108,-0.08152343,-0.1724304,-0.2660722,-0.3563545,-0.4371828,-0.5024627,-0.5461,-0.562,-0.5218941,-0.4172276,-0.2714769,-0.1081188,0.04937011,0.1775133 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908446048, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746,0.3396746 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908446528, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425,0.2201425 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908448288, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186,0.5733186 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908461568, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,-2.492712,-8.921284,-17.71137,-27.28863,-36.07872,-42.50729,-45,-43.50667,-39.45333,-33.48,-26.22667,-18.33333,-10.44,-3.186667,3.186667,10.44,18.33333,26.22667,33.48,39.45333,43.50667,45,42.81334,37.10667,29.16,20.25333,11.66667,4.68 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908454848, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908455968, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908435328, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908457888, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: -1.146195,-1.146749,-1.148177,-1.15013,-1.152258,-1.154211,-1.15564,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.156193,-1.155708,-1.15444,-1.152674,-1.150695,-1.148787,-1.147235 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908453568, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.5079754,0.5135159,0.5278049,0.5473427,0.5686301,0.5881679,0.6024568,0.6079974,0.6031382,0.5904571,0.5727983,0.5530062,0.5339252,0.5183997,0.5092741,0.5092741,0.5184,0.533926,0.5530074,0.5728,0.5904593,0.6031407,0.608,0.6031395,0.5904549,0.5727913,0.5529939,0.5339077,0.518378 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908451968, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: -0.03903808,0.0002753203,0.1016625,0.240294,0.3913402,0.5299717,0.6313588,0.6706722,0.6465232,0.5811733,0.4852679,0.3694524,0.2443722,0.1206729,0.008999935,-0.08601034,-0.190595,-0.302235,-0.4124941,-0.5129363,-0.5951254,-0.6506253,-0.671,-0.6402913,-0.5601492,-0.4485494,-0.3234678,-0.2028801,-0.1047621 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908452288, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908452768, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908458368, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908467808, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,-2.492712,-8.921284,-17.71137,-27.28863,-36.07872,-42.50729,-45,-43.50667,-39.45333,-33.48,-26.22667,-18.33333,-10.44,-3.186667,3.186667,10.44,18.33333,26.22667,33.48,39.45333,43.50667,45,42.81334,37.10667,29.16,20.25333,11.66667,4.68 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908468448, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908469568, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908470208, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908470368, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146,1.146 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908471968, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.5079754,0.5135161,0.5278053,0.5473437,0.5686317,0.5881701,0.6024593,0.608,0.6031407,0.5904593,0.5728,0.5530074,0.533926,0.5184,0.5092741,0.5092741,0.5184,0.533926,0.5530074,0.5728,0.5904593,0.6031407,0.608,0.6031395,0.5904549,0.5727913,0.5529939,0.5339077,0.518378 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908470528, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: -0.03903808,-0.07404471,-0.164325,-0.2877694,-0.4222686,-0.5457131,-0.6359934,-0.671,-0.6506279,-0.5951339,-0.512952,-0.4125158,-0.3022593,-0.190616,-0.08601985,0.00901363,0.120728,0.2444815,0.3696216,0.485496,0.5814521,0.6468377,0.671,0.6364974,0.5464541,0.4210666,0.2805316,0.1450459,0.03480588 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908473728, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908482048, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908474688, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198,0.2493198 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908474208, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,2.492712,8.921284,17.71137,27.28863,36.07872,42.50729,45,43.50667,39.45333,33.48,26.22667,18.33333,10.44,3.186667,-3.186667,-10.44,-18.33333,-26.22667,-33.48,-39.45333,-43.50667,-45,-42.81334,-37.10667,-29.16,-20.25333,-11.66667,-4.68 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908472608, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908479968, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908435168, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908478368, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908478528, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,-0.005458129,-0.01953436,-0.03878144,-0.05975214,-0.07899923,-0.09307545,-0.09853359,-0.09374558,-0.08125006,-0.06384976,-0.04434741,-0.02554574,-0.01024749,-0.001255391,-0.001255391,-0.01024749,-0.02554574,-0.04434741,-0.06384976,-0.08125006,-0.09374558,-0.09853359,-0.09374558,-0.08125006,-0.06384976,-0.04434741,-0.02554574,-0.01024749 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908479648, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908487648, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908490528, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908486048, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908491808, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908489088, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,-0.2973647,-1.064252,-2.112854,-3.255361,-4.303963,-5.070851,-5.368216,-5.190068,-4.706528,-3.993942,-3.128661,-2.187035,-1.245412,-0.3801429,0.3801402,1.24539,2.186979,3.128564,3.993803,4.70635,5.189864,5.368,5.107155,4.426413,3.478464,2.415998,1.391704,0.558272 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurve: 2637908486528, "AnimCurve::FbxMayaSample Curve", "" { + Default: 0 + KeyVer: 4009 + KeyTime: *29 { + a: 1539538600,3079077200,4618615800,6158154400,7697693000,9237231600,10776770200,12316308800,13855847400,15395386000,16934924600,18474463200,20014001800,21553540400,23093079000,24632617600,26172156200,27711694800,29251233400,30790772000,32330310600,33869849200,35409387800,36948926400,38488465000,40028003600,41567542200,43107080800,44646619400 + } + KeyValueFloat: *29 { + a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + ;KeyAttrFlags: Cubic|TangeantAuto|GenericTimeIndependent + KeyAttrFlags: *1 { + a: 8456 + } + ;KeyAttrDataFloat: RightAuto:0, NextLeftAuto:0 + KeyAttrDataFloat: *4 { + a: 0,0,218434821,0 + } + KeyAttrRefCount: *1 { + a: 29 + } + } + AnimationCurveNode: 2637898923456, "AnimCurveNode::Visibility", "" { + Properties70: { + P: "d|Visibility", "Visibility", "", "A",1 + } + } + AnimationCurveNode: 2637898930944, "AnimCurveNode::T", "" { + Properties70: { + P: "d|X", "Number", "", "A",-0.632826160246344 + P: "d|Y", "Number", "", "A",0.0239284158879277 + P: "d|Z", "Number", "", "A",0.263349655853582 + } + } + AnimationCurveNode: 2637898928032, "AnimCurveNode::S", "" { + Properties70: { + P: "d|X", "Number", "", "A",0.339674610876223 + P: "d|Y", "Number", "", "A",0.220142467543593 + P: "d|Z", "Number", "", "A",0.573318579804827 + } + } + AnimationCurveNode: 2637898928240, "AnimCurveNode::R", "" { + Properties70: { + P: "d|X", "Number", "", "A",0 + P: "d|Y", "Number", "", "A",0 + P: "d|Z", "Number", "", "A",0 + } + } + AnimationCurveNode: 2637898928656, "AnimCurveNode::Visibility", "" { + Properties70: { + P: "d|Visibility", "Visibility", "", "A",1 + } + } + AnimationCurveNode: 2637898923664, "AnimCurveNode::T", "" { + Properties70: { + P: "d|X", "Number", "", "A",0.633 + P: "d|Y", "Number", "", "A",0.0239284158879277 + P: "d|Z", "Number", "", "A",0.263349655853582 + } + } + AnimationCurveNode: 2637898924912, "AnimCurveNode::S", "" { + Properties70: { + P: "d|X", "Number", "", "A",0.339674610876223 + P: "d|Y", "Number", "", "A",0.220142467543593 + P: "d|Z", "Number", "", "A",0.573318579804827 + } + } + AnimationCurveNode: 2637898928448, "AnimCurveNode::R", "" { + Properties70: { + P: "d|X", "Number", "", "A",0 + P: "d|Y", "Number", "", "A",0 + P: "d|Z", "Number", "", "A",0 + } + } + AnimationCurveNode: 2637898925120, "AnimCurveNode::Visibility", "" { + Properties70: { + P: "d|Visibility", "Visibility", "", "A",1 + } + } + AnimationCurveNode: 2637898931360, "AnimCurveNode::T", "" { + Properties70: { + P: "d|X", "Number", "", "A",-1.14619512869557 + P: "d|Y", "Number", "", "A",0.507975403293259 + P: "d|Z", "Number", "", "A",-0.0390380783208544 + } + } + AnimationCurveNode: 2637898931568, "AnimCurveNode::S", "" { + Properties70: { + P: "d|X", "Number", "", "A",0.249319762540922 + P: "d|Y", "Number", "", "A",0.249319762540922 + P: "d|Z", "Number", "", "A",0.249319762540922 + } + } + AnimationCurveNode: 2637898941968, "AnimCurveNode::R", "" { + Properties70: { + P: "d|X", "Number", "", "A",0 + P: "d|Y", "Number", "", "A",0 + P: "d|Z", "Number", "", "A",0 + } + } + AnimationCurveNode: 2637898947168, "AnimCurveNode::Visibility", "" { + Properties70: { + P: "d|Visibility", "Visibility", "", "A",1 + } + } + AnimationCurveNode: 2637898945920, "AnimCurveNode::T", "" { + Properties70: { + P: "d|X", "Number", "", "A",1.146 + P: "d|Y", "Number", "", "A",0.507975403293259 + P: "d|Z", "Number", "", "A",-0.0390380783208544 + } + } + AnimationCurveNode: 2637898946336, "AnimCurveNode::S", "" { + Properties70: { + P: "d|X", "Number", "", "A",0.249319762540922 + P: "d|Y", "Number", "", "A",0.249319762540922 + P: "d|Z", "Number", "", "A",0.249319762540922 + } + } + AnimationCurveNode: 2637898936352, "AnimCurveNode::R", "" { + Properties70: { + P: "d|X", "Number", "", "A",0 + P: "d|Y", "Number", "", "A",0 + P: "d|Z", "Number", "", "A",0 + } + } + AnimationCurveNode: 2637898940096, "AnimCurveNode::Visibility", "" { + Properties70: { + P: "d|Visibility", "Visibility", "", "A",1 + } + } + AnimationCurveNode: 2637898943840, "AnimCurveNode::T", "" { + Properties70: { + P: "d|X", "Number", "", "A",0 + P: "d|Y", "Number", "", "A",0 + P: "d|Z", "Number", "", "A",0 + } + } + AnimationCurveNode: 2637898938224, "AnimCurveNode::S", "" { + Properties70: { + P: "d|X", "Number", "", "A",1 + P: "d|Y", "Number", "", "A",1 + P: "d|Z", "Number", "", "A",1 + } + } + AnimationCurveNode: 2637898942176, "AnimCurveNode::R", "" { + Properties70: { + P: "d|X", "Number", "", "A",0 + P: "d|Y", "Number", "", "A",0 + P: "d|Z", "Number", "", "A",0 + } + } + AnimationLayer: 2638001637888, "AnimLayer::BaseLayer", "" { + } +} + +; Object connections +;------------------------------------------------------------------ + +Connections: { + + ;Model::rightFoot, Model::RootNode + C: "OO",2637740966912,0 + + ;Model::leftFoot, Model::RootNode + C: "OO",2637342695568,0 + + ;Model::rightHand, Model::RootNode + C: "OO",2637360761120,0 + + ;Model::leftHand, Model::RootNode + C: "OO",2637346959376,0 + + ;Model::trunk, Model::RootNode + C: "OO",2637295467264,0 + + ;AnimLayer::BaseLayer, AnimStack::Take 001 + C: "OO",2638001637888,2637898929488 + + ;AnimCurveNode::Visibility, AnimLayer::BaseLayer + C: "OO",2637898923456,2638001637888 + + ;AnimCurveNode::T, AnimLayer::BaseLayer + C: "OO",2637898930944,2638001637888 + + ;AnimCurveNode::S, AnimLayer::BaseLayer + C: "OO",2637898928032,2638001637888 + + ;AnimCurveNode::R, AnimLayer::BaseLayer + C: "OO",2637898928240,2638001637888 + + ;AnimCurveNode::Visibility, AnimLayer::BaseLayer + C: "OO",2637898928656,2638001637888 + + ;AnimCurveNode::T, AnimLayer::BaseLayer + C: "OO",2637898923664,2638001637888 + + ;AnimCurveNode::S, AnimLayer::BaseLayer + C: "OO",2637898924912,2638001637888 + + ;AnimCurveNode::R, AnimLayer::BaseLayer + C: "OO",2637898928448,2638001637888 + + ;AnimCurveNode::Visibility, AnimLayer::BaseLayer + C: "OO",2637898925120,2638001637888 + + ;AnimCurveNode::T, AnimLayer::BaseLayer + C: "OO",2637898931360,2638001637888 + + ;AnimCurveNode::S, AnimLayer::BaseLayer + C: "OO",2637898931568,2638001637888 + + ;AnimCurveNode::R, AnimLayer::BaseLayer + C: "OO",2637898941968,2638001637888 + + ;AnimCurveNode::Visibility, AnimLayer::BaseLayer + C: "OO",2637898947168,2638001637888 + + ;AnimCurveNode::T, AnimLayer::BaseLayer + C: "OO",2637898945920,2638001637888 + + ;AnimCurveNode::S, AnimLayer::BaseLayer + C: "OO",2637898946336,2638001637888 + + ;AnimCurveNode::R, AnimLayer::BaseLayer + C: "OO",2637898936352,2638001637888 + + ;AnimCurveNode::Visibility, AnimLayer::BaseLayer + C: "OO",2637898940096,2638001637888 + + ;AnimCurveNode::T, AnimLayer::BaseLayer + C: "OO",2637898943840,2638001637888 + + ;AnimCurveNode::S, AnimLayer::BaseLayer + C: "OO",2637898938224,2638001637888 + + ;AnimCurveNode::R, AnimLayer::BaseLayer + C: "OO",2637898942176,2638001637888 + + ;Geometry::, Model::rightFoot + C: "OO",2637367266128,2637740966912 + + ;Material::phong2, Model::rightFoot + C: "OO",2637999446464,2637740966912 + + ;AnimCurveNode::T, Model::rightFoot + C: "OP",2637898930944,2637740966912, "Lcl Translation" + + ;AnimCurveNode::R, Model::rightFoot + C: "OP",2637898928240,2637740966912, "Lcl Rotation" + + ;AnimCurveNode::S, Model::rightFoot + C: "OP",2637898928032,2637740966912, "Lcl Scaling" + + ;AnimCurveNode::Visibility, Model::rightFoot + C: "OP",2637898923456,2637740966912, "Visibility" + + ;Geometry::, Model::leftFoot + C: "OO",2637367263632,2637342695568 + + ;Material::phong2, Model::leftFoot + C: "OO",2637999446464,2637342695568 + + ;AnimCurveNode::T, Model::leftFoot + C: "OP",2637898923664,2637342695568, "Lcl Translation" + + ;AnimCurveNode::R, Model::leftFoot + C: "OP",2637898928448,2637342695568, "Lcl Rotation" + + ;AnimCurveNode::S, Model::leftFoot + C: "OP",2637898924912,2637342695568, "Lcl Scaling" + + ;AnimCurveNode::Visibility, Model::leftFoot + C: "OP",2637898928656,2637342695568, "Visibility" + + ;Geometry::, Model::rightHand + C: "OO",2637367261552,2637360761120 + + ;Material::phong1, Model::rightHand + C: "OO",2637999443104,2637360761120 + + ;AnimCurveNode::T, Model::rightHand + C: "OP",2637898931360,2637360761120, "Lcl Translation" + + ;AnimCurveNode::R, Model::rightHand + C: "OP",2637898941968,2637360761120, "Lcl Rotation" + + ;AnimCurveNode::S, Model::rightHand + C: "OP",2637898931568,2637360761120, "Lcl Scaling" + + ;AnimCurveNode::Visibility, Model::rightHand + C: "OP",2637898925120,2637360761120, "Visibility" + + ;Geometry::, Model::leftHand + C: "OO",2637367284432,2637346959376 + + ;Material::phong1, Model::leftHand + C: "OO",2637999443104,2637346959376 + + ;AnimCurveNode::T, Model::leftHand + C: "OP",2637898945920,2637346959376, "Lcl Translation" + + ;AnimCurveNode::R, Model::leftHand + C: "OP",2637898936352,2637346959376, "Lcl Rotation" + + ;AnimCurveNode::S, Model::leftHand + C: "OP",2637898946336,2637346959376, "Lcl Scaling" + + ;AnimCurveNode::Visibility, Model::leftHand + C: "OP",2637898947168,2637346959376, "Visibility" + + ;NodeAttribute::, Model::trunk + C: "OO",2637748780656,2637295467264 + + ;Model::body, Model::trunk + C: "OO",2637153360768,2637295467264 + + ;Model::leftEye, Model::trunk + C: "OO",2637366735520,2637295467264 + + ;Model::rightEye, Model::trunk + C: "OO",2637144985648,2637295467264 + + ;Model::mouth, Model::trunk + C: "OO",2637908884624,2637295467264 + + ;AnimCurveNode::T, Model::trunk + C: "OP",2637898943840,2637295467264, "Lcl Translation" + + ;AnimCurveNode::R, Model::trunk + C: "OP",2637898942176,2637295467264, "Lcl Rotation" + + ;AnimCurveNode::S, Model::trunk + C: "OP",2637898938224,2637295467264, "Lcl Scaling" + + ;AnimCurveNode::Visibility, Model::trunk + C: "OP",2637898940096,2637295467264, "Visibility" + + ;Geometry::, Model::body + C: "OO",2637367269456,2637153360768 + + ;Material::phong1, Model::body + C: "OO",2637999443104,2637153360768 + + ;Geometry::, Model::leftEye + C: "OO",2637367281936,2637366735520 + + ;Material::phong3, Model::leftEye + C: "OO",2637999445504,2637366735520 + + ;Material::phong2, Model::leftEye + C: "OO",2637999446464,2637366735520 + + ;Geometry::, Model::rightEye + C: "OO",2637367273200,2637144985648 + + ;Material::phong3, Model::rightEye + C: "OO",2637999445504,2637144985648 + + ;Material::phong2, Model::rightEye + C: "OO",2637999446464,2637144985648 + + ;Geometry::, Model::mouth + C: "OO",2637367285680,2637908884624 + + ;Material::phong2, Model::mouth + C: "OO",2637999446464,2637908884624 + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::Visibility + C: "OP",2637908432768,2637898923456, "d|Visibility" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908432928,2637898930944, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908438368,2637898930944, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908434528,2637898930944, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908434688,2637898928032, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908433248,2637898928032, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908438528,2637898928032, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908433568,2637898928240, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908435488,2637898928240, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908434848,2637898928240, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::Visibility + C: "OP",2637908436288,2637898928656, "d|Visibility" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908443168,2637898923664, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908443488,2637898923664, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908443808,2637898923664, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908446048,2637898924912, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908446528,2637898924912, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908448288,2637898924912, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908461568,2637898928448, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908454848,2637898928448, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908455968,2637898928448, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::Visibility + C: "OP",2637908435328,2637898925120, "d|Visibility" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908457888,2637898931360, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908453568,2637898931360, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908451968,2637898931360, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908452288,2637898931568, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908452768,2637898931568, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908458368,2637898931568, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908467808,2637898941968, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908468448,2637898941968, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908469568,2637898941968, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::Visibility + C: "OP",2637908470208,2637898947168, "d|Visibility" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908470368,2637898945920, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908471968,2637898945920, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908470528,2637898945920, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908473728,2637898946336, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908482048,2637898946336, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908474688,2637898946336, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908474208,2637898936352, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908472608,2637898936352, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908479968,2637898936352, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::Visibility + C: "OP",2637908435168,2637898940096, "d|Visibility" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908478368,2637898943840, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908478528,2637898943840, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::T + C: "OP",2637908479648,2637898943840, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908487648,2637898938224, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908490528,2637898938224, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::S + C: "OP",2637908486048,2637898938224, "d|Z" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908491808,2637898942176, "d|X" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908489088,2637898942176, "d|Y" + + ;AnimCurve::FbxMayaSample Curve, AnimCurveNode::R + C: "OP",2637908486528,2637898942176, "d|Z" +} +;Takes section +;---------------------------------------------------- + +Takes: { + Current: "Take 001" + Take: "Take 001" { + FileName: "Take_001.tak" + LocalTime: 1539538600,44646619400 + ReferenceTime: 1539538600,44646619400 + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyWalk.fbx.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyWalk.fbx.meta new file mode 100644 index 00000000..288703ea --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyWalk.fbx.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: d86e7993b3b99454ebcca70da81fe027 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: + - first: + 74: 1827226128182048838 + second: Take 001 + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 0 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + remapMaterialsIfMaterialImportModeIsNone: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyWalk.fbx + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Scripts.meta new file mode 100644 index 00000000..127fd71b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 000f1ade46c9c4a43bb6cf942a1e3d05 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Scripts/LoadExtraAnimationsSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Scripts/LoadExtraAnimationsSample.cs new file mode 100644 index 00000000..e68b1db9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Scripts/LoadExtraAnimationsSample.cs @@ -0,0 +1,264 @@ +#pragma warning disable 649 +using System.Collections.Generic; +using TriLibCore.Extensions; +using TriLibCore.Utils; +using UnityEngine; +using UnityEngine.UI; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace TriLibCore.Samples +{ + /// + /// Demonstrates how to load a base 3D model, then load and merge extra animation clips + /// from multiple animation-only models in the same folder. After loading, this sample + /// dynamically creates UI buttons that allow you to play the newly added animations + /// on the base model. + /// + public class LoadExtraAnimationsSample : MonoBehaviour + { + /// + /// Gets the path to the base BuddyBase.fbx file. Uses an editor-specific path in + /// Unity Editor builds, and a relative path in runtime builds. + /// + private string BaseModelPath + { + get + { +#if UNITY_EDITOR + return $"{Application.dataPath}/TriLib/TriLibSamples/LoadExtraAnimations/Models/BuddyBase.fbx"; +#else + return "Models/BuddyBase.fbx"; +#endif + } + } + + /// + /// A prefab (or template) that is duplicated each time a new + /// animation is successfully loaded. Each duplicated button plays the associated animation. + /// + [SerializeField] + private Button _playAnimationTemplate; + + /// + /// The component on the loaded base model, + /// used to host and play additional animation clips. + /// + private Animation _baseAnimation; + + /// + /// A list of instances for animations loaded before + /// the base model. These stored animations are processed after the base model loads, + /// ensuring that we have a valid to attach them to. + /// + private readonly IList _loadedAnimations = new List(); + + /// + /// Caches the used to load both the base model + /// and the additional animation models. Created on-demand if null. + /// + private AssetLoaderOptions _assetLoaderOptions; + + /// + /// Called by Unity once at scene startup. Loads the base model, then loads additional + /// animations from BuddyIdle.fbx, BuddyWalk.fbx, and BuddyJump.fbx. + /// These animation files are expected to reside in the same folder as the base model. + /// + private void Start() + { + LoadBaseModel(); + LoadAnimation("BuddyIdle.fbx"); + LoadAnimation("BuddyWalk.fbx"); + LoadAnimation("BuddyJump.fbx"); + } + + /// + /// Loads an animation model (with no geometry, textures, or materials) from the same + /// directory as the base model. Once loaded, is called + /// to transfer its animation clips onto the base model. + /// + /// + /// The file name (e.g., BuddyIdle.fbx) containing the animation clips to be merged. + /// + private void LoadAnimation(string modelFilename) + { + var modelsDirectory = FileUtils.GetFileDirectory(BaseModelPath); + var modelPath = FileUtils.SanitizePath($"{modelsDirectory}/{modelFilename}"); + + // If no loader options exist, create minimal defaults to import only animations + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + _assetLoaderOptions.ImportMeshes = false; + _assetLoaderOptions.ImportTextures = false; + _assetLoaderOptions.ImportMaterials = false; + } + + AssetLoader.LoadModelFromFile( + path: modelPath, + onLoad: OnAnimationModelLoad, + onMaterialsLoad: null, + onProgress: OnProgress, + onError: OnError, + wrapperGameObject: gameObject, + assetLoaderOptions: _assetLoaderOptions + ); + } + + /// + /// Invoked after an animation model finishes loading. Retrieves all animation clips + /// from the loaded component. If the base model is already loaded, + /// it merges the clips immediately; otherwise, it waits until the base model finishes. + /// + /// + /// The providing access to the loaded animation object. + /// + private void OnAnimationModelLoad(AssetLoaderContext assetLoaderContext) + { + Debug.Log($"Animation loaded: {FileUtils.GetShortFilename(assetLoaderContext.Filename)}"); + + // If the base model is ready, attach the animation immediately + if (_baseAnimation != null) + { + AddAnimation(assetLoaderContext); + } + else + { + // Otherwise, store the animation to be processed once the base model is loaded + _loadedAnimations.Add(assetLoaderContext); + } + + // Disable the loaded animation GameObject; we only need its clips, not its mesh or visuals + assetLoaderContext.RootGameObject.SetActive(false); + } + + /// + /// Merges animation clips from the loaded animation + /// into the base model’s . Spawns UI buttons to + /// trigger each newly added clip. + /// + /// + /// The containing the loaded animation clips. + /// + private void AddAnimation(AssetLoaderContext loadedAnimationContext) + { + var rootGameObjectAnimation = loadedAnimationContext.RootGameObject.GetComponent(); + if (rootGameObjectAnimation != null) + { + // Determine a unique prefix for each animation clip + var shortFilename = FileUtils.GetShortFilename(loadedAnimationContext.Filename); + + // Gather all animation clips + var newAnimationClips = rootGameObjectAnimation.GetAllAnimationClips(); + foreach (var newAnimationClip in newAnimationClips) + { + // Create a unique clip name + var animationName = $"{shortFilename}_{newAnimationClip.name}"; + + // Add the clip to the base model's Animation component + _baseAnimation.AddClip(newAnimationClip, animationName); + + // Instantiate a UI button to play this animation + var playAnimationButton = Instantiate(_playAnimationTemplate, _playAnimationTemplate.transform.parent); + var playAnimationButtonText = playAnimationButton.GetComponentInChildren(); + playAnimationButtonText.text = shortFilename; + playAnimationButton.gameObject.SetActive(true); + + // On button click, play the added animation using CrossFade + playAnimationButton.onClick.AddListener(delegate + { + _baseAnimation.CrossFade(animationName); + }); + } + } + + // Cleanup: remove the temporary animation root from the scene + Destroy(loadedAnimationContext.RootGameObject); + } + + /// + /// Loads the base model file (BuddyBase.fbx) which includes mesh, textures, materials, + /// and an component to host additional clips. + /// + private void LoadBaseModel() + { + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + } + + AssetLoader.LoadModelFromFile( + path: BaseModelPath, + onLoad: OnBaseModelLoad, + onMaterialsLoad: OnBaseModelMaterialsLoad, + onProgress: OnProgress, + onError: OnError, + wrapperGameObject: gameObject, + assetLoaderOptions: _assetLoaderOptions + ); + } + + /// + /// Invoked if an error occurs at any point during model loading or processing, + /// such as a missing file or incompatible format. + /// + /// + /// Provides context for the error, including the original exception object + /// and the context in which it was thrown. + /// + private void OnError(IContextualizedError obj) + { + Debug.LogError($"An error occurred while loading your Model: {obj.GetInnerException()}"); + } + + /// + /// Reports loading progress for either the base model or an animation file, + /// intended for UI progress bars or logs. Currently empty, but can be + /// implemented to provide visual feedback. + /// + /// Context for the current loading operation. + /// A float from 0.0 to 1.0 representing loading progress. + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + // Optionally implement progress UI updates here + } + + /// + /// Invoked when the base model’s meshes, materials, and textures finish loading. + /// Initializes the base model's component, then processes + /// any animations that were loaded prior to this model’s completion. + /// + /// + /// Provides access to the fully loaded base model, including its root . + /// + private void OnBaseModelMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + Debug.Log($"Base Model loaded: {FileUtils.GetShortFilename(assetLoaderContext.Filename)}"); + + // Grab the Animation component from the loaded base model + _baseAnimation = assetLoaderContext.RootGameObject.GetComponent(); + + // Attach any previously loaded animations now that the base model is ready + for (var i = _loadedAnimations.Count - 1; i >= 0; i--) + { + AddAnimation(_loadedAnimations[i]); + _loadedAnimations.RemoveAt(i); + } + } + + /// + /// Invoked once the base model’s meshes and hierarchy are loaded, but + /// prior to texture and material completion. This sample does not use + /// to modify the model, but it remains + /// available should you need to perform early setup tasks. + /// + /// + /// The TriLib context containing references to the partially loaded base model. + /// + private void OnBaseModelLoad(AssetLoaderContext assetLoaderContext) + { + // Intentionally left empty. You could position, scale, or add scripts here if needed. + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Scripts/LoadExtraAnimationsSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Scripts/LoadExtraAnimationsSample.cs.meta new file mode 100644 index 00000000..5179cf96 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Scripts/LoadExtraAnimationsSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 7dbe0a8f5b2f8454dbf9c7a759a2ad07 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Scripts/LoadExtraAnimationsSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models.meta new file mode 100644 index 00000000..d72f097b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: caee26b64ecad554a9f898cd3c672653 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/Buddy.mlt b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/Buddy.mlt new file mode 100644 index 00000000..3f8f0371 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/Buddy.mlt differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/Buddy.mlt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/Buddy.mlt.meta new file mode 100644 index 00000000..9a35180b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/Buddy.mlt.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: bc54aa246dfefdd4db7975a0c42e3991 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source + Models/Buddy.mlt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyIdle.mlt b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyIdle.mlt new file mode 100644 index 00000000..8495f1b7 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyIdle.mlt differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyIdle.mlt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyIdle.mlt.meta new file mode 100644 index 00000000..0530c7ef --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyIdle.mlt.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 08fbf87481c5bce4a8fa3abb4cca584f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source + Models/BuddyIdle.mlt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyJump.mlt b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyJump.mlt new file mode 100644 index 00000000..74e0ca4a Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyJump.mlt differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyJump.mlt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyJump.mlt.meta new file mode 100644 index 00000000..52a7e9c4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyJump.mlt.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 0bb8ddfaddba37f4ab12f4d1718726b0 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source + Models/BuddyJump.mlt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyWalk.mlt b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyWalk.mlt new file mode 100644 index 00000000..aa1c07bb Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyWalk.mlt differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyWalk.mlt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyWalk.mlt.meta new file mode 100644 index 00000000..2c37e048 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source Models/BuddyWalk.mlt.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 4b58157c9c564f347ac1586776237ed6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadExtraAnimations/Source + Models/BuddyWalk.mlt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile.meta new file mode 100644 index 00000000..579b7de7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e6e850bc7473344b9aa1f8c57a3994a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/LoadModelFromFile.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/LoadModelFromFile.unity new file mode 100644 index 00000000..dae58a84 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/LoadModelFromFile.unity @@ -0,0 +1,622 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657773, g: 0.49641377, b: 0.57481754, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: 8dc432cb880c1884f8feb8ab51e932bd, + type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &153877214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 153877216} + - component: {fileID: 153877215} + m_Layer: 0 + m_Name: LoadModelFromFile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &153877215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b0a0c5b52c8d913478268c17dfa4bf7d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &153877216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &809567019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 809567021} + - component: {fileID: 809567020} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &809567020 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &809567021 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_LocalRotation: {x: -0.07338684, y: -0.89253896, z: 0.41619772, w: -0.1573786} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -200, z: 0} +--- !u!1 &1118294650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118294651} + - component: {fileID: 1118294654} + - component: {fileID: 1118294653} + - component: {fileID: 1118294652} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1118294651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1664379773} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1118294652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1118294653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: This sample loads the "TriLibSample.obj" model from the "Models" folder +--- !u!222 &1118294654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_CullTransparentMesh: 0 +--- !u!1 &1664379769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1664379773} + - component: {fileID: 1664379772} + - component: {fileID: 1664379771} + - component: {fileID: 1664379770} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1664379770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1664379771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1664379772 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1664379773 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1118294651} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1813965413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813965417} + - component: {fileID: 1813965416} + - component: {fileID: 1813965415} + - component: {fileID: 1813965414} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1813965414 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!124 &1813965415 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!20 &1813965416 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1813965417 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1868373955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868373958} + - component: {fileID: 1868373957} + - component: {fileID: 1868373956} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1868373956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1868373957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1868373958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/LoadModelFromFile.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/LoadModelFromFile.unity.meta new file mode 100644 index 00000000..cc762456 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/LoadModelFromFile.unity.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 32d62bbe4d7c4704fb549ec7c27e2162 +timeCreated: 1578619973 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/LoadModelFromFile.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models.meta new file mode 100644 index 00000000..096f3d13 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f248de26fbde30a4ebc8c63eab4989bb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.mtl b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.mtl new file mode 100644 index 00000000..fc6dc5de --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.mtl @@ -0,0 +1,13 @@ +# Blender MTL File: 'None' +# Material Count: 1 + +newmtl Material.001 +Ns 225.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd C:\\Users\\ricko\\Desktop\\tmp\\sampleTex.png diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.mtl.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.mtl.meta new file mode 100644 index 00000000..dec7233e --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.mtl.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: f10575d97671cae4ba17f19bc8f7d17a +timeCreated: 1578687724 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.mtl + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.obj b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.obj new file mode 100644 index 00000000..68a52581 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.obj @@ -0,0 +1,2041 @@ +# Blender v2.82 (sub 6) OBJ File: '' +# www.blender.org +mtllib TriLibSampleModel.mtl +o Sphere +v 0.000000 0.980785 -0.195090 +v 0.000000 0.923880 -0.382683 +v 0.000000 0.831470 -0.555570 +v 0.000000 0.707107 -0.707107 +v 0.000000 0.555570 -0.831470 +v 0.000000 0.382683 -0.923880 +v 0.000000 0.195090 -0.980785 +v 0.000000 0.000000 -1.000000 +v 0.000000 -0.195090 -0.980785 +v 0.000000 -0.831470 -0.555570 +v 0.038060 0.980785 -0.191342 +v 0.074658 0.923880 -0.375330 +v 0.108386 0.831470 -0.544895 +v 0.137950 0.707107 -0.693520 +v 0.162212 0.555570 -0.815493 +v 0.180240 0.382683 -0.906127 +v 0.191342 0.195090 -0.961940 +v 0.195090 0.000000 -0.980785 +v 0.191342 -0.195090 -0.961940 +v 0.180240 -0.382683 -0.906127 +v 0.162212 -0.555570 -0.815493 +v 0.137950 -0.707107 -0.693520 +v 0.108386 -0.831470 -0.544895 +v 0.074658 -0.923880 -0.375330 +v 0.038060 -0.980785 -0.191341 +v 0.074658 0.980785 -0.180240 +v 0.146447 0.923880 -0.353553 +v 0.212608 0.831470 -0.513280 +v 0.270598 0.707107 -0.653281 +v 0.318190 0.555570 -0.768178 +v 0.353553 0.382683 -0.853553 +v 0.375330 0.195090 -0.906127 +v 0.382684 0.000000 -0.923879 +v 0.375330 -0.195090 -0.906127 +v 0.353554 -0.382683 -0.853553 +v 0.318190 -0.555570 -0.768178 +v 0.270598 -0.707107 -0.653281 +v 0.212608 -0.831470 -0.513280 +v 0.146447 -0.923880 -0.353553 +v 0.074658 -0.980785 -0.180240 +v 0.108387 0.980785 -0.162212 +v 0.212608 0.923880 -0.318190 +v 0.308658 0.831470 -0.461940 +v 0.392848 0.707107 -0.587938 +v 0.461940 0.555570 -0.691342 +v 0.513280 0.382683 -0.768178 +v 0.544895 0.195090 -0.815493 +v 0.555570 0.000000 -0.831469 +v 0.544895 -0.195090 -0.815493 +v 0.513280 -0.382683 -0.768178 +v 0.461940 -0.555570 -0.691342 +v 0.392848 -0.707107 -0.587938 +v 0.308658 -0.831470 -0.461940 +v 0.212608 -0.923880 -0.318189 +v 0.108386 -0.980785 -0.162211 +v 0.137950 0.980785 -0.137950 +v 0.270598 0.923880 -0.270598 +v 0.392848 0.831470 -0.392847 +v 0.500000 0.707107 -0.500000 +v 0.587938 0.555570 -0.587938 +v 0.653282 0.382683 -0.653281 +v 0.693520 0.195090 -0.693520 +v 0.707107 0.000000 -0.707107 +v 0.693520 -0.195090 -0.693520 +v 0.653282 -0.382683 -0.653281 +v 0.587938 -0.555570 -0.587938 +v 0.500000 -0.707107 -0.500000 +v 0.392848 -0.831470 -0.392847 +v 0.270598 -0.923880 -0.270598 +v 0.137950 -0.980785 -0.137949 +v 0.162212 0.980785 -0.108386 +v 0.318190 0.923880 -0.212607 +v 0.461940 0.831470 -0.308658 +v 0.587938 0.707107 -0.392847 +v 0.691342 0.555570 -0.461940 +v 0.768178 0.382683 -0.513280 +v 0.815493 0.195090 -0.544895 +v 0.831470 0.000000 -0.555570 +v 0.815493 -0.195090 -0.544895 +v 0.768178 -0.382683 -0.513280 +v 0.691342 -0.555570 -0.461940 +v 0.587938 -0.707107 -0.392847 +v 0.461940 -0.831470 -0.308658 +v 0.318190 -0.923880 -0.212607 +v 0.162212 -0.980785 -0.108386 +v 0.180240 0.980785 -0.074658 +v 0.353554 0.923880 -0.146446 +v 0.513280 0.831470 -0.212607 +v 0.653282 0.707107 -0.270598 +v 0.768178 0.555570 -0.318189 +v 0.853554 0.382683 -0.353553 +v 0.906128 0.195090 -0.375330 +v 0.923880 0.000000 -0.382683 +v 0.906128 -0.195090 -0.375330 +v 0.853554 -0.382683 -0.353553 +v 0.768178 -0.555570 -0.318189 +v 0.653282 -0.707107 -0.270598 +v 0.513280 -0.831470 -0.212607 +v 0.353554 -0.923880 -0.146446 +v 0.180240 -0.980785 -0.074658 +v 0.191342 0.980785 -0.038060 +v 0.375331 0.923880 -0.074658 +v 0.544895 0.831470 -0.108386 +v 0.693520 0.707107 -0.137949 +v 0.815493 0.555570 -0.162211 +v 0.906128 0.382683 -0.180240 +v 0.961940 0.195090 -0.191341 +v 0.980785 0.000000 -0.195090 +v 0.961940 -0.195090 -0.191341 +v 0.906128 -0.382683 -0.180240 +v 0.815493 -0.555570 -0.162211 +v 0.693520 -0.707107 -0.137949 +v 0.544895 -0.831470 -0.108386 +v 0.375330 -0.923880 -0.074658 +v 0.191342 -0.980785 -0.038060 +v 0.195091 0.980785 0.000000 +v 0.382684 0.923880 0.000000 +v 0.555570 0.831470 0.000000 +v 0.707107 0.707107 0.000000 +v 0.831470 0.555570 0.000000 +v 0.923880 0.382683 0.000000 +v 0.980785 0.195090 0.000000 +v 1.000000 0.000000 0.000000 +v 0.980785 -0.195090 0.000000 +v 0.923880 -0.382683 0.000000 +v 0.831470 -0.555570 0.000000 +v 0.707107 -0.707107 0.000000 +v 0.555570 -0.831470 0.000000 +v 0.382684 -0.923880 0.000000 +v 0.195090 -0.980785 0.000000 +v 0.191342 0.980785 0.038061 +v 0.375331 0.923880 0.074658 +v 0.544895 0.831470 0.108387 +v 0.693520 0.707107 0.137950 +v 0.815493 0.555570 0.162212 +v 0.906128 0.382683 0.180240 +v 0.961940 0.195090 0.191342 +v 0.980785 0.000000 0.195091 +v 0.961940 -0.195090 0.191342 +v 0.906128 -0.382683 0.180240 +v 0.815493 -0.555570 0.162212 +v 0.693520 -0.707107 0.137950 +v 0.544895 -0.831470 0.108387 +v 0.375330 -0.923880 0.074658 +v 0.191342 -0.980785 0.038061 +v 0.180240 0.980785 0.074658 +v 0.353554 0.923880 0.146447 +v 0.513280 0.831470 0.212608 +v 0.653282 0.707107 0.270598 +v 0.768178 0.555570 0.318190 +v 0.853554 0.382683 0.353554 +v 0.906127 0.195090 0.375331 +v 0.923880 0.000000 0.382684 +v 0.906127 -0.195090 0.375331 +v 0.853554 -0.382683 0.353554 +v 0.768178 -0.555570 0.318190 +v 0.653282 -0.707107 0.270598 +v 0.513280 -0.831470 0.212608 +v 0.353553 -0.923880 0.146447 +v 0.180240 -0.980785 0.074658 +v 0.162212 0.980785 0.108387 +v 0.318190 0.923880 0.212608 +v 0.461940 0.831470 0.308659 +v 0.587938 0.707107 0.392848 +v 0.691342 0.555570 0.461940 +v 0.768178 0.382683 0.513280 +v 0.815493 0.195090 0.544895 +v 0.831470 0.000000 0.555571 +v 0.815493 -0.195090 0.544895 +v 0.768178 -0.382683 0.513280 +v 0.691342 -0.555570 0.461940 +v 0.587938 -0.707107 0.392848 +v 0.461940 -0.831470 0.308659 +v 0.318190 -0.923880 0.212608 +v 0.162212 -0.980785 0.108387 +v 0.137950 0.980785 0.137950 +v 0.270598 0.923880 0.270599 +v 0.392848 0.831470 0.392848 +v 0.500000 0.707107 0.500000 +v 0.587938 0.555570 0.587938 +v 0.653282 0.382683 0.653282 +v 0.693520 0.195090 0.693520 +v 0.707107 0.000000 0.707107 +v 0.693520 -0.195090 0.693520 +v 0.653282 -0.382683 0.653282 +v 0.587938 -0.555570 0.587938 +v 0.500000 -0.707107 0.500000 +v 0.392848 -0.831470 0.392848 +v 0.270598 -0.923880 0.270598 +v 0.137950 -0.980785 0.137950 +v 0.108386 0.980785 0.162212 +v 0.212608 0.923880 0.318190 +v 0.308658 0.831470 0.461940 +v 0.392848 0.707107 0.587938 +v 0.461940 0.555570 0.691342 +v 0.513280 0.382683 0.768178 +v 0.544895 0.195090 0.815493 +v 0.555570 0.000000 0.831470 +v 0.544895 -0.195090 0.815493 +v 0.513280 -0.382683 0.768178 +v 0.461940 -0.555570 0.691342 +v 0.392848 -0.707107 0.587938 +v 0.308658 -0.831470 0.461940 +v 0.212608 -0.923880 0.318190 +v 0.108386 -0.980785 0.162212 +v 0.000000 -1.000000 0.000000 +v 0.074658 0.980785 0.180240 +v 0.146447 0.923880 0.353554 +v 0.212608 0.831470 0.513280 +v 0.270598 0.707107 0.653282 +v 0.318190 0.555570 0.768178 +v 0.353553 0.382683 0.853554 +v 0.375330 0.195090 0.906128 +v 0.382683 0.000000 0.923880 +v 0.375330 -0.195090 0.906128 +v 0.353553 -0.382683 0.853554 +v 0.318190 -0.555570 0.768178 +v 0.270598 -0.707107 0.653282 +v 0.212608 -0.831470 0.513280 +v 0.146447 -0.923880 0.353554 +v 0.074658 -0.980785 0.180240 +v 0.038060 0.980785 0.191342 +v 0.074658 0.923880 0.375331 +v 0.108386 0.831470 0.544896 +v 0.137950 0.707107 0.693520 +v 0.162212 0.555570 0.815493 +v 0.180240 0.382683 0.906128 +v 0.191342 0.195090 0.961940 +v 0.195090 0.000000 0.980786 +v 0.191342 -0.195090 0.961940 +v 0.180240 -0.382683 0.906128 +v 0.162212 -0.555570 0.815493 +v 0.137950 -0.707107 0.693520 +v 0.108386 -0.831470 0.544895 +v 0.074658 -0.923880 0.375331 +v 0.038060 -0.980785 0.191342 +v -0.000000 0.980785 0.195091 +v 0.000000 0.923880 0.382684 +v 0.000000 0.831470 0.555571 +v -0.000000 0.707107 0.707107 +v -0.000000 0.555570 0.831470 +v 0.000000 0.382683 0.923880 +v -0.000000 0.195090 0.980785 +v -0.000000 0.000000 1.000000 +v -0.000000 -0.195090 0.980785 +v 0.000000 -0.382683 0.923880 +v -0.000000 -0.555570 0.831470 +v -0.000000 -0.707107 0.707107 +v -0.000000 -0.831470 0.555570 +v 0.000000 -0.923880 0.382684 +v 0.000000 -0.980785 0.195091 +v -0.038060 0.980785 0.191342 +v -0.074658 0.923880 0.375331 +v -0.108386 0.831470 0.544896 +v -0.137950 0.707107 0.693520 +v -0.162212 0.555570 0.815493 +v -0.180240 0.382683 0.906128 +v -0.191342 0.195090 0.961940 +v -0.195090 0.000000 0.980786 +v -0.191342 -0.195090 0.961940 +v -0.180240 -0.382683 0.906128 +v -0.162212 -0.555570 0.815493 +v -0.137950 -0.707107 0.693520 +v -0.108386 -0.831470 0.544895 +v -0.074658 -0.923880 0.375331 +v -0.038060 -0.980785 0.191342 +v -0.074658 0.980785 0.180240 +v -0.146447 0.923880 0.353554 +v -0.212608 0.831470 0.513280 +v -0.270598 0.707107 0.653282 +v -0.318190 0.555570 0.768178 +v -0.353553 0.382683 0.853554 +v -0.375330 0.195090 0.906127 +v -0.382684 0.000000 0.923880 +v -0.375330 -0.195090 0.906127 +v -0.353553 -0.382683 0.853554 +v -0.318190 -0.555570 0.768178 +v -0.270598 -0.707107 0.653282 +v -0.212608 -0.831470 0.513280 +v -0.146447 -0.923880 0.353554 +v -0.074658 -0.980785 0.180240 +v -0.108386 0.980785 0.162212 +v -0.212608 0.923880 0.318190 +v -0.308658 0.831470 0.461940 +v -0.392847 0.707107 0.587938 +v -0.461940 0.555570 0.691342 +v -0.513280 0.382683 0.768178 +v -0.544895 0.195090 0.815493 +v -0.555570 0.000000 0.831470 +v -0.544895 -0.195090 0.815493 +v -0.513280 -0.382683 0.768178 +v -0.461940 -0.555570 0.691342 +v -0.392847 -0.707107 0.587938 +v -0.308658 -0.831470 0.461940 +v -0.212607 -0.923880 0.318190 +v -0.108386 -0.980785 0.162212 +v -0.000000 1.000000 0.000001 +v -0.137950 0.980785 0.137950 +v -0.270598 0.923880 0.270598 +v -0.392848 0.831470 0.392848 +v -0.500000 0.707107 0.500000 +v -0.587938 0.555570 0.587938 +v -0.653281 0.382683 0.653282 +v -0.693520 0.195090 0.693520 +v -0.707107 0.000000 0.707107 +v -0.693520 -0.195090 0.693520 +v -0.653281 -0.382683 0.653282 +v -0.587938 -0.555570 0.587938 +v -0.500000 -0.707107 0.500000 +v -0.392847 -0.831470 0.392848 +v -0.270598 -0.923880 0.270598 +v -0.137950 -0.980785 0.137950 +v -0.162212 0.980785 0.108387 +v -0.318190 0.923880 0.212608 +v -0.461940 0.831470 0.308659 +v -0.587938 0.707107 0.392848 +v -0.691342 0.555570 0.461940 +v -0.768178 0.382683 0.513280 +v -0.815493 0.195090 0.544895 +v -0.831470 0.000000 0.555570 +v -0.815493 -0.195090 0.544895 +v -0.768178 -0.382683 0.513280 +v -0.691342 -0.555570 0.461940 +v -0.587938 -0.707107 0.392848 +v -0.461940 -0.831470 0.308658 +v -0.318190 -0.923880 0.212608 +v -0.162212 -0.980785 0.108387 +v -0.180240 0.980785 0.074658 +v -0.353553 0.923880 0.146447 +v -0.513280 0.831470 0.212608 +v -0.653281 0.707107 0.270598 +v -0.768177 0.555570 0.318190 +v -0.853553 0.382683 0.353554 +v -0.906127 0.195090 0.375330 +v -0.923880 0.000000 0.382684 +v -0.906127 -0.195090 0.375330 +v -0.853553 -0.382683 0.353554 +v -0.768177 -0.555570 0.318190 +v -0.653281 -0.707107 0.270598 +v -0.513280 -0.831470 0.212608 +v -0.353553 -0.923880 0.146447 +v -0.180240 -0.980785 0.074658 +v -0.191342 0.980785 0.038061 +v -0.375330 0.923880 0.074658 +v -0.544895 0.831470 0.108387 +v -0.693520 0.707107 0.137950 +v -0.815493 0.555570 0.162212 +v -0.906127 0.382683 0.180240 +v -0.961939 0.195090 0.191342 +v -0.980785 0.000000 0.195090 +v -0.961939 -0.195090 0.191342 +v -0.906127 -0.382683 0.180240 +v -0.815493 -0.555570 0.162212 +v -0.693520 -0.707107 0.137950 +v -0.544895 -0.831470 0.108387 +v -0.375330 -0.923880 0.074658 +v -0.191342 -0.980785 0.038061 +v -0.195090 0.980785 0.000000 +v -0.382683 0.923880 0.000000 +v -0.555570 0.831470 0.000000 +v -0.707107 0.707107 0.000000 +v -0.831469 0.555570 0.000000 +v -0.923879 0.382683 0.000000 +v -0.980785 0.195090 0.000000 +v -1.000000 0.000000 0.000000 +v -0.980785 -0.195090 0.000000 +v -0.923879 -0.382683 0.000000 +v -0.831469 -0.555570 0.000000 +v -0.707107 -0.707107 0.000000 +v -0.555570 -0.831470 0.000000 +v -0.382683 -0.923880 0.000000 +v -0.195090 -0.980785 0.000000 +v -0.191342 0.980785 -0.038060 +v -0.375330 0.923880 -0.074658 +v -0.544895 0.831470 -0.108386 +v -0.693520 0.707107 -0.137949 +v -0.815493 0.555570 -0.162211 +v -0.906127 0.382683 -0.180240 +v -0.961939 0.195090 -0.191342 +v -0.980785 0.000000 -0.195090 +v -0.961939 -0.195090 -0.191342 +v -0.906127 -0.382683 -0.180240 +v -0.815493 -0.555570 -0.162211 +v -0.693520 -0.707107 -0.137949 +v -0.544895 -0.831470 -0.108386 +v -0.375330 -0.923880 -0.074658 +v -0.191342 -0.980785 -0.038060 +v -0.180240 0.980785 -0.074658 +v -0.353553 0.923880 -0.146446 +v -0.513280 0.831470 -0.212607 +v -0.653281 0.707107 -0.270598 +v -0.768177 0.555570 -0.318189 +v -0.853553 0.382683 -0.353553 +v -0.906127 0.195090 -0.375330 +v -0.923879 0.000000 -0.382683 +v -0.906127 -0.195090 -0.375330 +v -0.853553 -0.382683 -0.353553 +v -0.768177 -0.555570 -0.318189 +v -0.653281 -0.707107 -0.270598 +v -0.513280 -0.831470 -0.212607 +v -0.353553 -0.923880 -0.146446 +v -0.180240 -0.980785 -0.074657 +v -0.162212 0.980785 -0.108386 +v -0.318190 0.923880 -0.212607 +v -0.461940 0.831470 -0.308658 +v -0.587938 0.707107 -0.392847 +v -0.691341 0.555570 -0.461939 +v -0.768178 0.382683 -0.513280 +v -0.815493 0.195090 -0.544895 +v -0.831469 0.000000 -0.555570 +v -0.815493 -0.195090 -0.544895 +v -0.768178 -0.382683 -0.513280 +v -0.691341 -0.555570 -0.461939 +v -0.587938 -0.707107 -0.392847 +v -0.461940 -0.831470 -0.308658 +v -0.318189 -0.923880 -0.212607 +v -0.162212 -0.980785 -0.108386 +v -0.137950 0.980785 -0.137949 +v -0.270598 0.923880 -0.270598 +v -0.392847 0.831470 -0.392847 +v -0.500000 0.707107 -0.500000 +v -0.587937 0.555570 -0.587937 +v -0.653281 0.382683 -0.653281 +v -0.693519 0.195090 -0.693519 +v -0.707106 0.000000 -0.707106 +v -0.693519 -0.195090 -0.693519 +v -0.653281 -0.382683 -0.653281 +v -0.587937 -0.555570 -0.587937 +v -0.500000 -0.707107 -0.500000 +v -0.392847 -0.831470 -0.392847 +v -0.270598 -0.923880 -0.270598 +v -0.137950 -0.980785 -0.137949 +v -0.108386 0.980785 -0.162211 +v -0.212607 0.923880 -0.318189 +v -0.308658 0.831470 -0.461939 +v -0.392847 0.707107 -0.587937 +v -0.461939 0.555570 -0.691341 +v -0.513280 0.382683 -0.768177 +v -0.544895 0.195090 -0.815492 +v -0.555570 0.000000 -0.831469 +v -0.544895 -0.195090 -0.815492 +v -0.513280 -0.382683 -0.768177 +v -0.461939 -0.555570 -0.691341 +v -0.392847 -0.707107 -0.587937 +v -0.308658 -0.831470 -0.461939 +v -0.212607 -0.923880 -0.318189 +v -0.108386 -0.980785 -0.162211 +v -0.074658 0.980785 -0.180240 +v -0.146447 0.923880 -0.353553 +v -0.212607 0.831470 -0.513280 +v -0.270598 0.707107 -0.653281 +v -0.318189 0.555570 -0.768177 +v -0.353553 0.382683 -0.853553 +v -0.375330 0.195090 -0.906127 +v -0.382683 0.000000 -0.923879 +v -0.375330 -0.195090 -0.906127 +v -0.353553 -0.382683 -0.853553 +v -0.318189 -0.555570 -0.768177 +v -0.270598 -0.707107 -0.653281 +v -0.212607 -0.831470 -0.513279 +v -0.146446 -0.923880 -0.353553 +v -0.074658 -0.980785 -0.180240 +v -0.038060 0.980785 -0.191342 +v -0.074658 0.923880 -0.375330 +v -0.108386 0.831470 -0.544895 +v -0.137950 0.707107 -0.693520 +v -0.162211 0.555570 -0.815492 +v -0.180240 0.382683 -0.906127 +v -0.191341 0.195090 -0.961939 +v -0.195090 0.000000 -0.980785 +v -0.191341 -0.195090 -0.961939 +v -0.180240 -0.382683 -0.906127 +v -0.162211 -0.555570 -0.815492 +v -0.137950 -0.707107 -0.693520 +v -0.108386 -0.831470 -0.544895 +v -0.074658 -0.923880 -0.375330 +v -0.038060 -0.980785 -0.191341 +v 0.000000 -0.382683 -0.923879 +v 0.000000 -0.555570 -0.831469 +v 0.000000 -0.707107 -0.707106 +v 0.000000 -0.923880 -0.382683 +v 0.000000 -0.980785 -0.195090 +vt 0.750000 0.187500 +vt 0.750000 0.250000 +vt 0.718750 0.250000 +vt 0.718750 0.187500 +vt 0.750000 0.625000 +vt 0.750000 0.687500 +vt 0.718750 0.687500 +vt 0.718750 0.625000 +vt 0.750000 0.125000 +vt 0.718750 0.125000 +vt 0.750000 0.562500 +vt 0.718750 0.562500 +vt 0.750000 0.062500 +vt 0.718750 0.062500 +vt 0.750000 0.500000 +vt 0.718750 0.500000 +vt 0.750000 0.937500 +vt 0.734375 1.000000 +vt 0.718750 0.937500 +vt 0.734375 0.000000 +vt 0.750000 0.437500 +vt 0.718750 0.437500 +vt 0.750000 0.875000 +vt 0.718750 0.875000 +vt 0.750000 0.375000 +vt 0.718750 0.375000 +vt 0.750000 0.812500 +vt 0.718750 0.812500 +vt 0.750000 0.312500 +vt 0.718750 0.312500 +vt 0.750000 0.750000 +vt 0.718750 0.750000 +vt 0.687500 0.312500 +vt 0.687500 0.250000 +vt 0.687500 0.750000 +vt 0.687500 0.687500 +vt 0.687500 0.187500 +vt 0.687500 0.625000 +vt 0.687500 0.125000 +vt 0.687500 0.562500 +vt 0.687500 0.062500 +vt 0.687500 0.500000 +vt 0.703125 1.000000 +vt 0.687500 0.937500 +vt 0.703125 0.000000 +vt 0.687500 0.437500 +vt 0.687500 0.875000 +vt 0.687500 0.375000 +vt 0.687500 0.812500 +vt 0.671875 1.000000 +vt 0.656250 0.937500 +vt 0.671875 0.000000 +vt 0.656250 0.062500 +vt 0.656250 0.500000 +vt 0.656250 0.437500 +vt 0.656250 0.875000 +vt 0.656250 0.375000 +vt 0.656250 0.812500 +vt 0.656250 0.312500 +vt 0.656250 0.750000 +vt 0.656250 0.250000 +vt 0.656250 0.687500 +vt 0.656250 0.187500 +vt 0.656250 0.625000 +vt 0.656250 0.125000 +vt 0.656250 0.562500 +vt 0.625000 0.750000 +vt 0.625000 0.687500 +vt 0.625000 0.250000 +vt 0.625000 0.187500 +vt 0.625000 0.625000 +vt 0.625000 0.125000 +vt 0.625000 0.562500 +vt 0.625000 0.062500 +vt 0.625000 0.500000 +vt 0.640625 1.000000 +vt 0.625000 0.937500 +vt 0.640625 0.000000 +vt 0.625000 0.437500 +vt 0.625000 0.875000 +vt 0.625000 0.375000 +vt 0.625000 0.812500 +vt 0.625000 0.312500 +vt 0.593750 0.500000 +vt 0.593750 0.437500 +vt 0.593750 0.937500 +vt 0.593750 0.875000 +vt 0.593750 0.375000 +vt 0.593750 0.812500 +vt 0.593750 0.312500 +vt 0.593750 0.750000 +vt 0.593750 0.250000 +vt 0.593750 0.687500 +vt 0.593750 0.187500 +vt 0.593750 0.625000 +vt 0.593750 0.125000 +vt 0.593750 0.562500 +vt 0.593750 0.062500 +vt 0.609375 1.000000 +vt 0.609375 0.000000 +vt 0.562500 0.250000 +vt 0.562500 0.187500 +vt 0.562500 0.687500 +vt 0.562500 0.625000 +vt 0.562500 0.125000 +vt 0.562500 0.562500 +vt 0.562500 0.062500 +vt 0.562500 0.500000 +vt 0.578125 1.000000 +vt 0.562500 0.937500 +vt 0.578125 0.000000 +vt 0.562500 0.437500 +vt 0.562500 0.875000 +vt 0.562500 0.375000 +vt 0.562500 0.812500 +vt 0.562500 0.312500 +vt 0.562500 0.750000 +vt 0.531250 0.937500 +vt 0.531250 0.875000 +vt 0.531250 0.437500 +vt 0.531250 0.375000 +vt 0.531250 0.812500 +vt 0.531250 0.312500 +vt 0.531250 0.750000 +vt 0.531250 0.250000 +vt 0.531250 0.687500 +vt 0.531250 0.187500 +vt 0.531250 0.625000 +vt 0.531250 0.125000 +vt 0.531250 0.562500 +vt 0.531250 0.062500 +vt 0.531250 0.500000 +vt 0.546875 1.000000 +vt 0.546875 0.000000 +vt 0.500000 0.687500 +vt 0.500000 0.625000 +vt 0.500000 0.187500 +vt 0.500000 0.125000 +vt 0.500000 0.562500 +vt 0.500000 0.062500 +vt 0.500000 0.500000 +vt 0.515625 1.000000 +vt 0.500000 0.937500 +vt 0.515625 0.000000 +vt 0.500000 0.437500 +vt 0.500000 0.875000 +vt 0.500000 0.375000 +vt 0.500000 0.812500 +vt 0.500000 0.312500 +vt 0.500000 0.750000 +vt 0.500000 0.250000 +vt 0.468750 0.437500 +vt 0.468750 0.375000 +vt 0.468750 0.875000 +vt 0.468750 0.812500 +vt 0.468750 0.312500 +vt 0.468750 0.750000 +vt 0.468750 0.250000 +vt 0.468750 0.687500 +vt 0.468750 0.187500 +vt 0.468750 0.625000 +vt 0.468750 0.125000 +vt 0.468750 0.562500 +vt 0.468750 0.062500 +vt 0.468750 0.500000 +vt 0.484374 1.000000 +vt 0.468750 0.937500 +vt 0.484375 0.000000 +vt 0.437500 0.187500 +vt 0.437500 0.125000 +vt 0.437500 0.625000 +vt 0.437500 0.562500 +vt 0.437500 0.062500 +vt 0.437500 0.500000 +vt 0.453124 1.000000 +vt 0.437500 0.937500 +vt 0.453125 0.000000 +vt 0.437500 0.437500 +vt 0.437500 0.875000 +vt 0.437500 0.375000 +vt 0.437500 0.812500 +vt 0.437500 0.312500 +vt 0.437500 0.750000 +vt 0.437500 0.250000 +vt 0.437500 0.687500 +vt 0.406250 0.375000 +vt 0.406250 0.312500 +vt 0.406250 0.812500 +vt 0.406250 0.750000 +vt 0.406250 0.250000 +vt 0.406250 0.687500 +vt 0.406250 0.187500 +vt 0.406250 0.625000 +vt 0.406250 0.125000 +vt 0.406250 0.562500 +vt 0.406250 0.062500 +vt 0.406250 0.500000 +vt 0.421874 1.000000 +vt 0.406250 0.937500 +vt 0.421875 0.000000 +vt 0.406250 0.437500 +vt 0.406250 0.875000 +vt 0.375000 0.125000 +vt 0.375000 0.062500 +vt 0.375000 0.562500 +vt 0.375000 0.500000 +vt 0.390625 1.000000 +vt 0.375000 0.937500 +vt 0.390625 0.000000 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt 0.375000 0.375000 +vt 0.375000 0.812500 +vt 0.375000 0.312500 +vt 0.375000 0.750000 +vt 0.375000 0.250000 +vt 0.375000 0.687500 +vt 0.375000 0.187500 +vt 0.375000 0.625000 +vt 0.343750 0.812500 +vt 0.343750 0.750000 +vt 0.343750 0.312500 +vt 0.343750 0.250000 +vt 0.343750 0.687500 +vt 0.343750 0.187500 +vt 0.343750 0.625000 +vt 0.343750 0.125000 +vt 0.343750 0.562500 +vt 0.343750 0.062500 +vt 0.343750 0.500000 +vt 0.359375 1.000000 +vt 0.343750 0.937500 +vt 0.359375 0.000000 +vt 0.343750 0.437500 +vt 0.343750 0.875000 +vt 0.343750 0.375000 +vt 0.312500 0.562500 +vt 0.312500 0.500000 +vt 0.328125 1.000000 +vt 0.312500 0.937500 +vt 0.328125 0.000000 +vt 0.312500 0.062500 +vt 0.312500 0.437500 +vt 0.312500 0.875000 +vt 0.312500 0.375000 +vt 0.312500 0.812500 +vt 0.312500 0.312500 +vt 0.312500 0.750000 +vt 0.312500 0.250000 +vt 0.312500 0.687500 +vt 0.312500 0.187500 +vt 0.312500 0.625000 +vt 0.312500 0.125000 +vt 0.281250 0.312500 +vt 0.281250 0.250000 +vt 0.281250 0.750000 +vt 0.281250 0.687500 +vt 0.281250 0.187500 +vt 0.281250 0.625000 +vt 0.281250 0.125000 +vt 0.281250 0.562500 +vt 0.281250 0.062500 +vt 0.281250 0.500000 +vt 0.296875 1.000000 +vt 0.281250 0.937500 +vt 0.296875 0.000000 +vt 0.281250 0.437500 +vt 0.281250 0.875000 +vt 0.281250 0.375000 +vt 0.281250 0.812500 +vt 0.265625 1.000000 +vt 0.250000 0.937500 +vt 0.265625 0.000000 +vt 0.250000 0.062500 +vt 0.250000 0.500000 +vt 0.250000 0.437500 +vt 0.250000 0.875000 +vt 0.250000 0.375000 +vt 0.250000 0.812500 +vt 0.250000 0.312500 +vt 0.250000 0.750000 +vt 0.250000 0.250000 +vt 0.250000 0.687500 +vt 0.250000 0.187500 +vt 0.250000 0.625000 +vt 0.250000 0.125000 +vt 0.250000 0.562500 +vt 0.218750 0.750000 +vt 0.218750 0.687500 +vt 0.218750 0.250000 +vt 0.218750 0.187500 +vt 0.218750 0.625000 +vt 0.218750 0.125000 +vt 0.218750 0.562500 +vt 0.218750 0.062500 +vt 0.218750 0.500000 +vt 0.234375 1.000000 +vt 0.218750 0.937500 +vt 0.234375 0.000000 +vt 0.218750 0.437500 +vt 0.218750 0.875000 +vt 0.218750 0.375000 +vt 0.218750 0.812500 +vt 0.218750 0.312500 +vt 0.187500 0.500000 +vt 0.187500 0.437500 +vt 0.187500 0.937500 +vt 0.187500 0.875000 +vt 0.187500 0.375000 +vt 0.187500 0.812500 +vt 0.187500 0.312500 +vt 0.187500 0.750000 +vt 0.187500 0.250000 +vt 0.187500 0.687500 +vt 0.187500 0.187500 +vt 0.187500 0.625000 +vt 0.187500 0.125000 +vt 0.187500 0.562500 +vt 0.187500 0.062500 +vt 0.203125 1.000000 +vt 0.203125 0.000000 +vt 0.156250 0.250000 +vt 0.156250 0.187500 +vt 0.156250 0.687500 +vt 0.156250 0.625000 +vt 0.156250 0.125000 +vt 0.156250 0.562500 +vt 0.156250 0.062500 +vt 0.156250 0.500000 +vt 0.171875 1.000000 +vt 0.156250 0.937500 +vt 0.171875 0.000000 +vt 0.156250 0.437500 +vt 0.156250 0.875000 +vt 0.156250 0.375000 +vt 0.156250 0.812500 +vt 0.156250 0.312500 +vt 0.156250 0.750000 +vt 0.125000 0.437500 +vt 0.125000 0.375000 +vt 0.125000 0.875000 +vt 0.125000 0.812500 +vt 0.125000 0.312500 +vt 0.125000 0.750000 +vt 0.125000 0.250000 +vt 0.125000 0.687500 +vt 0.125000 0.187500 +vt 0.125000 0.625000 +vt 0.125000 0.125000 +vt 0.125000 0.562500 +vt 0.125000 0.062500 +vt 0.125000 0.500000 +vt 0.140625 1.000000 +vt 0.125000 0.937500 +vt 0.140625 0.000000 +vt 0.093750 0.187500 +vt 0.093750 0.125000 +vt 0.093750 0.625000 +vt 0.093750 0.562500 +vt 0.093750 0.062500 +vt 0.093750 0.500000 +vt 0.109375 1.000000 +vt 0.093750 0.937500 +vt 0.109375 0.000000 +vt 0.093750 0.437500 +vt 0.093750 0.875000 +vt 0.093750 0.375000 +vt 0.093750 0.812500 +vt 0.093750 0.312500 +vt 0.093750 0.750000 +vt 0.093750 0.250000 +vt 0.093750 0.687500 +vt 0.062500 0.875000 +vt 0.062500 0.812500 +vt 0.062500 0.375000 +vt 0.062500 0.312500 +vt 0.062500 0.750000 +vt 0.062500 0.250000 +vt 0.062500 0.687500 +vt 0.062500 0.187500 +vt 0.062500 0.625000 +vt 0.062500 0.125000 +vt 0.062500 0.562500 +vt 0.062500 0.062500 +vt 0.062500 0.500000 +vt 0.078125 1.000000 +vt 0.062500 0.937500 +vt 0.078125 0.000000 +vt 0.062500 0.437500 +vt 0.031250 0.625000 +vt 0.031250 0.562500 +vt 0.031250 0.125000 +vt 0.031250 0.062500 +vt 0.031250 0.500000 +vt 0.046875 1.000000 +vt 0.031250 0.937500 +vt 0.046875 0.000000 +vt 0.031250 0.437500 +vt 0.031250 0.875000 +vt 0.031250 0.375000 +vt 0.031250 0.812500 +vt 0.031250 0.312500 +vt 0.031250 0.750000 +vt 0.031250 0.250000 +vt 0.031250 0.687500 +vt 0.031250 0.187500 +vt 0.000000 0.375000 +vt 0.000000 0.312500 +vt 0.000000 0.812500 +vt 0.000000 0.750000 +vt 0.000000 0.250000 +vt 0.000000 0.687500 +vt 0.000000 0.187500 +vt 0.000000 0.625000 +vt 0.000000 0.125000 +vt 0.000000 0.562500 +vt 0.000000 0.062500 +vt 0.000000 0.500000 +vt 0.015625 1.000000 +vt 0.000000 0.937500 +vt 0.015625 0.000000 +vt 0.000000 0.437500 +vt 0.000000 0.875000 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 0.968750 0.125000 +vt 0.968750 0.062500 +vt 1.000000 0.500000 +vt 1.000000 0.562500 +vt 0.968750 0.562500 +vt 0.968750 0.500000 +vt 1.000000 0.937500 +vt 0.984375 1.000000 +vt 0.968750 0.937500 +vt 0.984375 0.000000 +vt 1.000000 0.437500 +vt 0.968750 0.437500 +vt 1.000000 0.875000 +vt 0.968750 0.875000 +vt 1.000000 0.375000 +vt 0.968750 0.375000 +vt 1.000000 0.812500 +vt 0.968750 0.812500 +vt 1.000000 0.312500 +vt 0.968750 0.312500 +vt 1.000000 0.750000 +vt 0.968750 0.750000 +vt 1.000000 0.250000 +vt 0.968750 0.250000 +vt 1.000000 0.687500 +vt 0.968750 0.687500 +vt 1.000000 0.187500 +vt 0.968750 0.187500 +vt 1.000000 0.625000 +vt 0.968750 0.625000 +vt 0.937500 0.812500 +vt 0.937500 0.750000 +vt 0.937500 0.312500 +vt 0.937500 0.250000 +vt 0.937500 0.687500 +vt 0.937500 0.187500 +vt 0.937500 0.625000 +vt 0.937500 0.125000 +vt 0.937500 0.562500 +vt 0.937500 0.062500 +vt 0.937500 0.500000 +vt 0.953125 1.000000 +vt 0.937500 0.937500 +vt 0.953125 0.000000 +vt 0.937500 0.437500 +vt 0.937500 0.875000 +vt 0.937500 0.375000 +vt 0.906250 0.562500 +vt 0.906250 0.500000 +vt 0.921875 1.000000 +vt 0.906250 0.937500 +vt 0.921875 0.000000 +vt 0.906250 0.062500 +vt 0.906250 0.437500 +vt 0.906250 0.875000 +vt 0.906250 0.375000 +vt 0.906250 0.812500 +vt 0.906250 0.312500 +vt 0.906250 0.750000 +vt 0.906250 0.250000 +vt 0.906250 0.687500 +vt 0.906250 0.187500 +vt 0.906250 0.625000 +vt 0.906250 0.125000 +vt 0.875000 0.312500 +vt 0.875000 0.250000 +vt 0.875000 0.750000 +vt 0.875000 0.687500 +vt 0.875000 0.187500 +vt 0.875000 0.625000 +vt 0.875000 0.125000 +vt 0.875000 0.562500 +vt 0.875000 0.062500 +vt 0.875000 0.500000 +vt 0.890625 1.000000 +vt 0.875000 0.937500 +vt 0.890625 0.000000 +vt 0.875000 0.437500 +vt 0.875000 0.875000 +vt 0.875000 0.375000 +vt 0.875000 0.812500 +vt 0.859375 0.000000 +vt 0.843750 0.062500 +vt 0.843750 0.500000 +vt 0.843750 0.437500 +vt 0.843750 0.937500 +vt 0.843750 0.875000 +vt 0.843750 0.375000 +vt 0.843750 0.812500 +vt 0.843750 0.312500 +vt 0.843750 0.750000 +vt 0.843750 0.250000 +vt 0.843750 0.687500 +vt 0.843750 0.187500 +vt 0.843750 0.625000 +vt 0.843750 0.125000 +vt 0.843750 0.562500 +vt 0.859375 1.000000 +vt 0.812500 0.250000 +vt 0.812500 0.187500 +vt 0.812500 0.687500 +vt 0.812500 0.625000 +vt 0.812500 0.125000 +vt 0.812500 0.562500 +vt 0.812500 0.062500 +vt 0.812500 0.500000 +vt 0.828125 1.000000 +vt 0.812500 0.937500 +vt 0.828125 0.000000 +vt 0.812500 0.437500 +vt 0.812500 0.875000 +vt 0.812500 0.375000 +vt 0.812500 0.812500 +vt 0.812500 0.312500 +vt 0.812500 0.750000 +vt 0.781250 0.937500 +vt 0.781250 0.875000 +vt 0.781250 0.437500 +vt 0.781250 0.375000 +vt 0.781250 0.812500 +vt 0.781250 0.312500 +vt 0.781250 0.750000 +vt 0.781250 0.250000 +vt 0.781250 0.687500 +vt 0.781250 0.187500 +vt 0.781250 0.625000 +vt 0.781250 0.125000 +vt 0.781250 0.562500 +vt 0.781250 0.062500 +vt 0.781250 0.500000 +vt 0.796875 1.000000 +vt 0.796875 0.000000 +vt 0.765625 1.000000 +vt 0.765625 0.000000 +vn 0.0000 -0.8286 -0.5598 +vn 0.0000 -0.7040 -0.7101 +vn 0.1385 -0.7040 -0.6965 +vn 0.1092 -0.8286 -0.5490 +vn 0.0000 0.3805 -0.9247 +vn 0.0000 0.5528 -0.8333 +vn 0.1626 0.5528 -0.8173 +vn 0.1804 0.3805 -0.9070 +vn 0.0000 -0.9217 -0.3879 +vn 0.0757 -0.9217 -0.3804 +vn 0.0000 0.1939 -0.9810 +vn 0.1914 0.1939 -0.9622 +vn 0.0000 -0.9796 -0.2010 +vn 0.0392 -0.9796 -0.1971 +vn 0.0000 0.0000 -1.0000 +vn 0.1951 0.0000 -0.9808 +vn 0.0000 0.9796 -0.2010 +vn 0.0000 1.0000 0.0000 +vn 0.0392 0.9796 -0.1971 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.1939 -0.9810 +vn 0.1914 -0.1939 -0.9622 +vn 0.0000 0.9217 -0.3879 +vn 0.0757 0.9217 -0.3804 +vn 0.0000 -0.3805 -0.9247 +vn 0.1804 -0.3805 -0.9070 +vn 0.0000 0.8286 -0.5598 +vn 0.1092 0.8286 -0.5490 +vn 0.0000 -0.5528 -0.8333 +vn 0.1626 -0.5528 -0.8173 +vn 0.0000 0.7040 -0.7101 +vn 0.1385 0.7040 -0.6965 +vn 0.3189 -0.5528 -0.7699 +vn 0.2717 -0.7040 -0.6561 +vn 0.2717 0.7040 -0.6561 +vn 0.3189 0.5528 -0.7699 +vn 0.2142 -0.8286 -0.5171 +vn 0.3539 0.3805 -0.8544 +vn 0.1484 -0.9217 -0.3583 +vn 0.3754 0.1939 -0.9063 +vn 0.0769 -0.9796 -0.1856 +vn 0.3827 0.0000 -0.9239 +vn 0.0769 0.9796 -0.1856 +vn 0.3754 -0.1939 -0.9063 +vn 0.1484 0.9217 -0.3583 +vn 0.3539 -0.3805 -0.8544 +vn 0.2142 0.8286 -0.5171 +vn 0.1116 0.9796 -0.1671 +vn 0.1116 -0.9796 -0.1671 +vn 0.5556 0.0000 -0.8314 +vn 0.5450 -0.1939 -0.8157 +vn 0.2155 0.9217 -0.3225 +vn 0.5137 -0.3805 -0.7689 +vn 0.3110 0.8286 -0.4654 +vn 0.4630 -0.5528 -0.6929 +vn 0.3945 0.7040 -0.5904 +vn 0.3945 -0.7040 -0.5904 +vn 0.4630 0.5528 -0.6929 +vn 0.3110 -0.8286 -0.4654 +vn 0.5137 0.3805 -0.7689 +vn 0.2155 -0.9217 -0.3225 +vn 0.5450 0.1939 -0.8157 +vn 0.5021 0.7040 -0.5021 +vn 0.5893 0.5528 -0.5893 +vn 0.5021 -0.7040 -0.5021 +vn 0.3958 -0.8286 -0.3958 +vn 0.6539 0.3805 -0.6539 +vn 0.2743 -0.9217 -0.2743 +vn 0.6937 0.1939 -0.6937 +vn 0.1421 -0.9796 -0.1421 +vn 0.7071 0.0000 -0.7071 +vn 0.1421 0.9796 -0.1421 +vn 0.6937 -0.1939 -0.6937 +vn 0.2743 0.9217 -0.2743 +vn 0.6539 -0.3805 -0.6539 +vn 0.3958 0.8286 -0.3958 +vn 0.5893 -0.5528 -0.5893 +vn 0.8314 0.0000 -0.5556 +vn 0.8157 -0.1939 -0.5450 +vn 0.1671 0.9796 -0.1116 +vn 0.3225 0.9217 -0.2155 +vn 0.7689 -0.3805 -0.5137 +vn 0.4654 0.8286 -0.3110 +vn 0.6929 -0.5528 -0.4630 +vn 0.5904 0.7040 -0.3945 +vn 0.5904 -0.7040 -0.3945 +vn 0.6929 0.5528 -0.4630 +vn 0.4654 -0.8286 -0.3110 +vn 0.7689 0.3805 -0.5137 +vn 0.3225 -0.9217 -0.2155 +vn 0.8157 0.1939 -0.5450 +vn 0.1671 -0.9796 -0.1116 +vn 0.6561 -0.7040 -0.2717 +vn 0.5171 -0.8286 -0.2142 +vn 0.7699 0.5528 -0.3189 +vn 0.8544 0.3805 -0.3539 +vn 0.3583 -0.9217 -0.1484 +vn 0.9063 0.1939 -0.3754 +vn 0.1856 -0.9796 -0.0769 +vn 0.9239 0.0000 -0.3827 +vn 0.1856 0.9796 -0.0769 +vn 0.9063 -0.1939 -0.3754 +vn 0.3583 0.9217 -0.1484 +vn 0.8544 -0.3805 -0.3539 +vn 0.5171 0.8286 -0.2142 +vn 0.7699 -0.5528 -0.3189 +vn 0.6561 0.7040 -0.2717 +vn 0.1971 0.9796 -0.0392 +vn 0.3804 0.9217 -0.0757 +vn 0.9622 -0.1939 -0.1914 +vn 0.9070 -0.3805 -0.1804 +vn 0.5490 0.8286 -0.1092 +vn 0.8173 -0.5528 -0.1626 +vn 0.6965 0.7040 -0.1385 +vn 0.6965 -0.7040 -0.1385 +vn 0.8173 0.5528 -0.1626 +vn 0.5490 -0.8286 -0.1092 +vn 0.9070 0.3805 -0.1804 +vn 0.3804 -0.9217 -0.0757 +vn 0.9622 0.1939 -0.1914 +vn 0.1971 -0.9796 -0.0392 +vn 0.9808 0.0000 -0.1951 +vn 0.8333 0.5528 0.0000 +vn 0.9247 0.3805 0.0000 +vn 0.5598 -0.8286 0.0000 +vn 0.3879 -0.9217 0.0000 +vn 0.9810 0.1939 0.0000 +vn 0.2010 -0.9796 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.2010 0.9796 0.0000 +vn 0.9810 -0.1939 0.0000 +vn 0.3879 0.9217 0.0000 +vn 0.9247 -0.3805 0.0000 +vn 0.5598 0.8286 0.0000 +vn 0.8333 -0.5528 0.0000 +vn 0.7101 0.7040 0.0000 +vn 0.7101 -0.7040 0.0000 +vn 0.9622 -0.1939 0.1914 +vn 0.9070 -0.3805 0.1804 +vn 0.3804 0.9217 0.0757 +vn 0.5490 0.8286 0.1092 +vn 0.8173 -0.5528 0.1626 +vn 0.6965 0.7040 0.1385 +vn 0.6965 -0.7040 0.1385 +vn 0.8173 0.5528 0.1626 +vn 0.5490 -0.8286 0.1092 +vn 0.9070 0.3805 0.1804 +vn 0.3804 -0.9217 0.0757 +vn 0.9622 0.1939 0.1914 +vn 0.1971 -0.9796 0.0392 +vn 0.9808 0.0000 0.1951 +vn 0.1971 0.9796 0.0392 +vn 0.5171 -0.8286 0.2142 +vn 0.3583 -0.9217 0.1484 +vn 0.8544 0.3805 0.3539 +vn 0.9063 0.1939 0.3754 +vn 0.1856 -0.9796 0.0769 +vn 0.9239 0.0000 0.3827 +vn 0.1856 0.9796 0.0769 +vn 0.9063 -0.1939 0.3754 +vn 0.3583 0.9217 0.1484 +vn 0.8544 -0.3805 0.3539 +vn 0.5171 0.8286 0.2142 +vn 0.7699 -0.5528 0.3189 +vn 0.6561 0.7040 0.2717 +vn 0.6561 -0.7040 0.2717 +vn 0.7699 0.5528 0.3189 +vn 0.7689 -0.3805 0.5137 +vn 0.6929 -0.5528 0.4630 +vn 0.4654 0.8286 0.3110 +vn 0.5904 0.7040 0.3945 +vn 0.5904 -0.7040 0.3945 +vn 0.6929 0.5528 0.4630 +vn 0.4654 -0.8286 0.3110 +vn 0.7689 0.3805 0.5137 +vn 0.3225 -0.9217 0.2155 +vn 0.8157 0.1939 0.5450 +vn 0.1671 -0.9796 0.1116 +vn 0.8314 0.0000 0.5556 +vn 0.1671 0.9796 0.1116 +vn 0.8157 -0.1939 0.5450 +vn 0.3225 0.9217 0.2155 +vn 0.2743 -0.9217 0.2743 +vn 0.1421 -0.9796 0.1421 +vn 0.6937 0.1939 0.6937 +vn 0.7071 0.0000 0.7071 +vn 0.1421 0.9796 0.1421 +vn 0.6937 -0.1939 0.6937 +vn 0.2743 0.9217 0.2743 +vn 0.6539 -0.3805 0.6539 +vn 0.3958 0.8286 0.3958 +vn 0.5893 -0.5528 0.5893 +vn 0.5021 0.7040 0.5021 +vn 0.5021 -0.7040 0.5021 +vn 0.5893 0.5528 0.5893 +vn 0.3958 -0.8286 0.3958 +vn 0.6539 0.3805 0.6539 +vn 0.3110 0.8286 0.4654 +vn 0.3945 0.7040 0.5904 +vn 0.4630 -0.5528 0.6929 +vn 0.3945 -0.7040 0.5904 +vn 0.4630 0.5528 0.6929 +vn 0.3110 -0.8286 0.4654 +vn 0.5137 0.3805 0.7689 +vn 0.2155 -0.9217 0.3225 +vn 0.5450 0.1939 0.8157 +vn 0.1116 -0.9796 0.1671 +vn 0.5556 0.0000 0.8314 +vn 0.1116 0.9796 0.1671 +vn 0.5450 -0.1939 0.8157 +vn 0.2155 0.9217 0.3225 +vn 0.5137 -0.3805 0.7689 +vn 0.3754 0.1939 0.9063 +vn 0.3827 0.0000 0.9239 +vn 0.0769 0.9796 0.1856 +vn 0.0769 -0.9796 0.1856 +vn 0.3754 -0.1939 0.9063 +vn 0.1484 0.9217 0.3583 +vn 0.3539 -0.3805 0.8544 +vn 0.2142 0.8286 0.5171 +vn 0.3189 -0.5528 0.7699 +vn 0.2717 0.7040 0.6561 +vn 0.2717 -0.7040 0.6561 +vn 0.3189 0.5528 0.7699 +vn 0.2142 -0.8286 0.5171 +vn 0.3539 0.3805 0.8544 +vn 0.1484 -0.9217 0.3583 +vn 0.1626 -0.5528 0.8173 +vn 0.1385 -0.7040 0.6965 +vn 0.1385 0.7040 0.6965 +vn 0.1626 0.5528 0.8173 +vn 0.1092 -0.8286 0.5490 +vn 0.1804 0.3805 0.9070 +vn 0.0757 -0.9217 0.3804 +vn 0.1914 0.1939 0.9622 +vn 0.0392 -0.9796 0.1971 +vn 0.1951 0.0000 0.9808 +vn 0.0392 0.9796 0.1971 +vn 0.1914 -0.1939 0.9622 +vn 0.0757 0.9217 0.3804 +vn 0.1804 -0.3805 0.9070 +vn 0.1092 0.8286 0.5490 +vn 0.0000 0.9796 0.2010 +vn 0.0000 -0.9796 0.2010 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.1939 0.9810 +vn 0.0000 0.9217 0.3879 +vn 0.0000 -0.3805 0.9247 +vn 0.0000 0.8286 0.5598 +vn 0.0000 -0.5528 0.8333 +vn 0.0000 0.7040 0.7101 +vn 0.0000 -0.7040 0.7101 +vn 0.0000 0.5528 0.8333 +vn 0.0000 -0.8286 0.5598 +vn 0.0000 0.3805 0.9247 +vn 0.0000 -0.9217 0.3879 +vn 0.0000 0.1939 0.9810 +vn -0.1385 0.7040 0.6965 +vn -0.1626 0.5528 0.8173 +vn -0.1385 -0.7040 0.6965 +vn -0.1092 -0.8286 0.5490 +vn -0.1804 0.3805 0.9070 +vn -0.0757 -0.9217 0.3804 +vn -0.1914 0.1939 0.9622 +vn -0.0392 -0.9796 0.1971 +vn -0.1951 0.0000 0.9808 +vn -0.0392 0.9796 0.1971 +vn -0.1914 -0.1939 0.9622 +vn -0.0757 0.9217 0.3804 +vn -0.1804 -0.3805 0.9070 +vn -0.1092 0.8286 0.5490 +vn -0.1626 -0.5528 0.8173 +vn -0.3827 0.0000 0.9239 +vn -0.3754 -0.1939 0.9063 +vn -0.0769 0.9796 0.1856 +vn -0.1484 0.9217 0.3583 +vn -0.3539 -0.3805 0.8544 +vn -0.2142 0.8286 0.5171 +vn -0.3189 -0.5528 0.7699 +vn -0.2717 0.7040 0.6561 +vn -0.2717 -0.7040 0.6561 +vn -0.3189 0.5528 0.7699 +vn -0.2142 -0.8286 0.5171 +vn -0.3539 0.3805 0.8544 +vn -0.1484 -0.9217 0.3583 +vn -0.3754 0.1939 0.9063 +vn -0.0769 -0.9796 0.1856 +vn -0.3945 -0.7040 0.5904 +vn -0.3110 -0.8286 0.4654 +vn -0.4630 0.5528 0.6929 +vn -0.5137 0.3805 0.7689 +vn -0.2155 -0.9217 0.3225 +vn -0.5450 0.1939 0.8157 +vn -0.1116 -0.9796 0.1671 +vn -0.5556 0.0000 0.8314 +vn -0.1116 0.9796 0.1671 +vn -0.5450 -0.1939 0.8157 +vn -0.2155 0.9217 0.3225 +vn -0.5137 -0.3805 0.7689 +vn -0.3110 0.8286 0.4654 +vn -0.4630 -0.5528 0.6929 +vn -0.3945 0.7040 0.5904 +vn -0.6937 -0.1939 0.6937 +vn -0.6539 -0.3805 0.6539 +vn -0.2743 0.9217 0.2743 +vn -0.3958 0.8286 0.3958 +vn -0.5893 -0.5528 0.5893 +vn -0.5021 0.7040 0.5021 +vn -0.5021 -0.7040 0.5021 +vn -0.5893 0.5528 0.5893 +vn -0.3958 -0.8286 0.3958 +vn -0.6539 0.3805 0.6539 +vn -0.2743 -0.9217 0.2743 +vn -0.6937 0.1939 0.6937 +vn -0.1421 -0.9796 0.1421 +vn -0.7071 0.0000 0.7071 +vn -0.1421 0.9796 0.1421 +vn -0.4654 -0.8286 0.3110 +vn -0.3225 -0.9217 0.2155 +vn -0.7689 0.3805 0.5137 +vn -0.8157 0.1939 0.5450 +vn -0.1671 -0.9796 0.1116 +vn -0.8314 0.0000 0.5556 +vn -0.1671 0.9796 0.1116 +vn -0.8157 -0.1939 0.5450 +vn -0.3225 0.9217 0.2155 +vn -0.7689 -0.3805 0.5137 +vn -0.4654 0.8286 0.3110 +vn -0.6929 -0.5528 0.4630 +vn -0.5904 0.7040 0.3945 +vn -0.5904 -0.7040 0.3945 +vn -0.6929 0.5528 0.4630 +vn -0.3583 0.9217 0.1484 +vn -0.5171 0.8286 0.2142 +vn -0.8544 -0.3805 0.3539 +vn -0.7699 -0.5528 0.3189 +vn -0.6561 0.7040 0.2717 +vn -0.6561 -0.7040 0.2717 +vn -0.7699 0.5528 0.3189 +vn -0.5171 -0.8286 0.2142 +vn -0.8544 0.3805 0.3539 +vn -0.3583 -0.9217 0.1484 +vn -0.9063 0.1939 0.3754 +vn -0.1856 -0.9796 0.0769 +vn -0.9239 0.0000 0.3827 +vn -0.1856 0.9796 0.0769 +vn -0.9063 -0.1939 0.3754 +vn -0.9070 0.3805 0.1804 +vn -0.9622 0.1939 0.1914 +vn -0.3804 -0.9217 0.0757 +vn -0.1971 -0.9796 0.0392 +vn -0.9808 0.0000 0.1951 +vn -0.1971 0.9796 0.0392 +vn -0.9622 -0.1939 0.1914 +vn -0.3804 0.9217 0.0757 +vn -0.9070 -0.3805 0.1804 +vn -0.5490 0.8286 0.1092 +vn -0.8173 -0.5528 0.1626 +vn -0.6965 0.7040 0.1385 +vn -0.6965 -0.7040 0.1385 +vn -0.8173 0.5528 0.1626 +vn -0.5490 -0.8286 0.1092 +vn -0.9247 -0.3805 0.0000 +vn -0.8333 -0.5528 0.0000 +vn -0.5598 0.8286 0.0000 +vn -0.7101 0.7040 0.0000 +vn -0.7101 -0.7040 0.0000 +vn -0.8333 0.5528 0.0000 +vn -0.5598 -0.8286 0.0000 +vn -0.9247 0.3805 0.0000 +vn -0.3879 -0.9217 0.0000 +vn -0.9810 0.1939 0.0000 +vn -0.2010 -0.9796 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.2010 0.9796 0.0000 +vn -0.9810 -0.1939 0.0000 +vn -0.3879 0.9217 0.0000 +vn -0.3804 -0.9217 -0.0757 +vn -0.1971 -0.9796 -0.0392 +vn -0.9622 0.1939 -0.1914 +vn -0.9808 0.0000 -0.1951 +vn -0.1971 0.9796 -0.0392 +vn -0.9622 -0.1939 -0.1914 +vn -0.3804 0.9217 -0.0757 +vn -0.9070 -0.3805 -0.1804 +vn -0.5490 0.8286 -0.1092 +vn -0.8173 -0.5528 -0.1626 +vn -0.6965 0.7040 -0.1385 +vn -0.6965 -0.7040 -0.1385 +vn -0.8173 0.5528 -0.1626 +vn -0.5490 -0.8286 -0.1092 +vn -0.9070 0.3805 -0.1804 +vn -0.5171 0.8286 -0.2142 +vn -0.6561 0.7040 -0.2717 +vn -0.7699 -0.5528 -0.3189 +vn -0.6561 -0.7040 -0.2717 +vn -0.7699 0.5528 -0.3189 +vn -0.5171 -0.8286 -0.2142 +vn -0.8544 0.3805 -0.3539 +vn -0.3583 -0.9217 -0.1484 +vn -0.9063 0.1939 -0.3754 +vn -0.1856 -0.9796 -0.0769 +vn -0.9239 0.0000 -0.3827 +vn -0.1856 0.9796 -0.0769 +vn -0.9063 -0.1939 -0.3754 +vn -0.3583 0.9217 -0.1484 +vn -0.8544 -0.3805 -0.3539 +vn -0.8157 0.1939 -0.5450 +vn -0.8314 0.0000 -0.5556 +vn -0.1671 0.9796 -0.1116 +vn -0.1671 -0.9796 -0.1116 +vn -0.8157 -0.1939 -0.5450 +vn -0.3225 0.9217 -0.2155 +vn -0.7689 -0.3805 -0.5137 +vn -0.4654 0.8286 -0.3110 +vn -0.6929 -0.5528 -0.4630 +vn -0.5904 0.7040 -0.3945 +vn -0.5904 -0.7040 -0.3945 +vn -0.6929 0.5528 -0.4630 +vn -0.4654 -0.8286 -0.3110 +vn -0.7689 0.3805 -0.5137 +vn -0.3225 -0.9217 -0.2155 +vn -0.5893 -0.5528 -0.5893 +vn -0.5021 -0.7040 -0.5021 +vn -0.5021 0.7040 -0.5021 +vn -0.5893 0.5528 -0.5893 +vn -0.3958 -0.8286 -0.3958 +vn -0.6539 0.3805 -0.6539 +vn -0.2743 -0.9217 -0.2743 +vn -0.6937 0.1939 -0.6937 +vn -0.1421 -0.9796 -0.1421 +vn -0.7071 0.0000 -0.7071 +vn -0.1421 0.9796 -0.1421 +vn -0.6937 -0.1939 -0.6937 +vn -0.2743 0.9217 -0.2743 +vn -0.6539 -0.3805 -0.6539 +vn -0.3958 0.8286 -0.3958 +vn -0.1116 -0.9796 -0.1671 +vn -0.5556 0.0000 -0.8314 +vn -0.5450 -0.1939 -0.8157 +vn -0.1116 0.9796 -0.1671 +vn -0.2155 0.9217 -0.3225 +vn -0.5137 -0.3805 -0.7689 +vn -0.3110 0.8286 -0.4654 +vn -0.4630 -0.5528 -0.6929 +vn -0.3945 0.7040 -0.5904 +vn -0.3945 -0.7040 -0.5904 +vn -0.4630 0.5528 -0.6929 +vn -0.3110 -0.8286 -0.4654 +vn -0.5137 0.3805 -0.7689 +vn -0.2155 -0.9217 -0.3225 +vn -0.5450 0.1939 -0.8157 +vn -0.2717 -0.7040 -0.6561 +vn -0.2142 -0.8286 -0.5171 +vn -0.3189 0.5528 -0.7699 +vn -0.3539 0.3805 -0.8544 +vn -0.1484 -0.9217 -0.3583 +vn -0.3754 0.1939 -0.9063 +vn -0.0769 -0.9796 -0.1856 +vn -0.3827 0.0000 -0.9239 +vn -0.0769 0.9796 -0.1856 +vn -0.3754 -0.1939 -0.9063 +vn -0.1484 0.9217 -0.3583 +vn -0.3539 -0.3805 -0.8544 +vn -0.2142 0.8286 -0.5171 +vn -0.3189 -0.5528 -0.7699 +vn -0.2717 0.7040 -0.6561 +vn -0.0392 0.9796 -0.1971 +vn -0.0757 0.9217 -0.3804 +vn -0.1914 -0.1939 -0.9622 +vn -0.1804 -0.3805 -0.9070 +vn -0.1092 0.8286 -0.5490 +vn -0.1626 -0.5528 -0.8173 +vn -0.1385 0.7040 -0.6965 +vn -0.1385 -0.7040 -0.6965 +vn -0.1626 0.5528 -0.8173 +vn -0.1092 -0.8286 -0.5490 +vn -0.1804 0.3805 -0.9070 +vn -0.0757 -0.9217 -0.3804 +vn -0.1914 0.1939 -0.9622 +vn -0.0392 -0.9796 -0.1971 +vn -0.1951 0.0000 -0.9808 +usemtl Material.001 +s 1 +f 10/1/1 480/2/2 22/3/3 23/4/4 +f 6/5/5 5/6/6 15/7/7 16/8/8 +f 481/9/9 10/1/1 23/4/4 24/10/10 +f 7/11/11 6/5/5 16/8/8 17/12/12 +f 482/13/13 481/9/9 24/10/10 25/14/14 +f 8/15/15 7/11/11 17/12/12 18/16/16 +f 1/17/17 297/18/18 11/19/19 +f 206/20/20 482/13/13 25/14/14 +f 9/21/21 8/15/15 18/16/16 19/22/22 +f 2/23/23 1/17/17 11/19/19 12/24/24 +f 478/25/25 9/21/21 19/22/22 20/26/26 +f 3/27/27 2/23/23 12/24/24 13/28/28 +f 479/29/29 478/25/25 20/26/26 21/30/30 +f 4/31/31 3/27/27 13/28/28 14/32/32 +f 480/2/2 479/29/29 21/30/30 22/3/3 +f 5/6/6 4/31/31 14/32/32 15/7/7 +f 22/3/3 21/30/30 36/33/33 37/34/34 +f 15/7/7 14/32/32 29/35/35 30/36/36 +f 23/4/4 22/3/3 37/34/34 38/37/37 +f 16/8/8 15/7/7 30/36/36 31/38/38 +f 24/10/10 23/4/4 38/37/37 39/39/39 +f 17/12/12 16/8/8 31/38/38 32/40/40 +f 25/14/14 24/10/10 39/39/39 40/41/41 +f 18/16/16 17/12/12 32/40/40 33/42/42 +f 11/19/19 297/43/18 26/44/43 +f 206/45/20 25/14/14 40/41/41 +f 19/22/22 18/16/16 33/42/42 34/46/44 +f 12/24/24 11/19/19 26/44/43 27/47/45 +f 20/26/26 19/22/22 34/46/44 35/48/46 +f 13/28/28 12/24/24 27/47/45 28/49/47 +f 21/30/30 20/26/26 35/48/46 36/33/33 +f 14/32/32 13/28/28 28/49/47 29/35/35 +f 26/44/43 297/50/18 41/51/48 +f 206/52/20 40/41/41 55/53/49 +f 34/46/44 33/42/42 48/54/50 49/55/51 +f 27/47/45 26/44/43 41/51/48 42/56/52 +f 35/48/46 34/46/44 49/55/51 50/57/53 +f 28/49/47 27/47/45 42/56/52 43/58/54 +f 36/33/33 35/48/46 50/57/53 51/59/55 +f 29/35/35 28/49/47 43/58/54 44/60/56 +f 37/34/34 36/33/33 51/59/55 52/61/57 +f 30/36/36 29/35/35 44/60/56 45/62/58 +f 38/37/37 37/34/34 52/61/57 53/63/59 +f 31/38/38 30/36/36 45/62/58 46/64/60 +f 39/39/39 38/37/37 53/63/59 54/65/61 +f 32/40/40 31/38/38 46/64/60 47/66/62 +f 40/41/41 39/39/39 54/65/61 55/53/49 +f 33/42/42 32/40/40 47/66/62 48/54/50 +f 45/62/58 44/60/56 59/67/63 60/68/64 +f 53/63/59 52/61/57 67/69/65 68/70/66 +f 46/64/60 45/62/58 60/68/64 61/71/67 +f 54/65/61 53/63/59 68/70/66 69/72/68 +f 47/66/62 46/64/60 61/71/67 62/73/69 +f 55/53/49 54/65/61 69/72/68 70/74/70 +f 48/54/50 47/66/62 62/73/69 63/75/71 +f 41/51/48 297/76/18 56/77/72 +f 206/78/20 55/53/49 70/74/70 +f 49/55/51 48/54/50 63/75/71 64/79/73 +f 42/56/52 41/51/48 56/77/72 57/80/74 +f 50/57/53 49/55/51 64/79/73 65/81/75 +f 43/58/54 42/56/52 57/80/74 58/82/76 +f 51/59/55 50/57/53 65/81/75 66/83/77 +f 44/60/56 43/58/54 58/82/76 59/67/63 +f 52/61/57 51/59/55 66/83/77 67/69/65 +f 64/79/73 63/75/71 78/84/78 79/85/79 +f 57/80/74 56/77/72 71/86/80 72/87/81 +f 65/81/75 64/79/73 79/85/79 80/88/82 +f 58/82/76 57/80/74 72/87/81 73/89/83 +f 66/83/77 65/81/75 80/88/82 81/90/84 +f 59/67/63 58/82/76 73/89/83 74/91/85 +f 67/69/65 66/83/77 81/90/84 82/92/86 +f 60/68/64 59/67/63 74/91/85 75/93/87 +f 68/70/66 67/69/65 82/92/86 83/94/88 +f 61/71/67 60/68/64 75/93/87 76/95/89 +f 69/72/68 68/70/66 83/94/88 84/96/90 +f 62/73/69 61/71/67 76/95/89 77/97/91 +f 70/74/70 69/72/68 84/96/90 85/98/92 +f 63/75/71 62/73/69 77/97/91 78/84/78 +f 56/77/72 297/99/18 71/86/80 +f 206/100/20 70/74/70 85/98/92 +f 83/94/88 82/92/86 97/101/93 98/102/94 +f 76/95/89 75/93/87 90/103/95 91/104/96 +f 84/96/90 83/94/88 98/102/94 99/105/97 +f 77/97/91 76/95/89 91/104/96 92/106/98 +f 85/98/92 84/96/90 99/105/97 100/107/99 +f 78/84/78 77/97/91 92/106/98 93/108/100 +f 71/86/80 297/109/18 86/110/101 +f 206/111/20 85/98/92 100/107/99 +f 79/85/79 78/84/78 93/108/100 94/112/102 +f 72/87/81 71/86/80 86/110/101 87/113/103 +f 80/88/82 79/85/79 94/112/102 95/114/104 +f 73/89/83 72/87/81 87/113/103 88/115/105 +f 81/90/84 80/88/82 95/114/104 96/116/106 +f 74/91/85 73/89/83 88/115/105 89/117/107 +f 82/92/86 81/90/84 96/116/106 97/101/93 +f 75/93/87 74/91/85 89/117/107 90/103/95 +f 87/113/103 86/110/101 101/118/108 102/119/109 +f 95/114/104 94/112/102 109/120/110 110/121/111 +f 88/115/105 87/113/103 102/119/109 103/122/112 +f 96/116/106 95/114/104 110/121/111 111/123/113 +f 89/117/107 88/115/105 103/122/112 104/124/114 +f 97/101/93 96/116/106 111/123/113 112/125/115 +f 90/103/95 89/117/107 104/124/114 105/126/116 +f 98/102/94 97/101/93 112/125/115 113/127/117 +f 91/104/96 90/103/95 105/126/116 106/128/118 +f 99/105/97 98/102/94 113/127/117 114/129/119 +f 92/106/98 91/104/96 106/128/118 107/130/120 +f 100/107/99 99/105/97 114/129/119 115/131/121 +f 93/108/100 92/106/98 107/130/120 108/132/122 +f 86/110/101 297/133/18 101/118/108 +f 206/134/20 100/107/99 115/131/121 +f 94/112/102 93/108/100 108/132/122 109/120/110 +f 106/128/118 105/126/116 120/135/123 121/136/124 +f 114/129/119 113/127/117 128/137/125 129/138/126 +f 107/130/120 106/128/118 121/136/124 122/139/127 +f 115/131/121 114/129/119 129/138/126 130/140/128 +f 108/132/122 107/130/120 122/139/127 123/141/129 +f 101/118/108 297/142/18 116/143/130 +f 206/144/20 115/131/121 130/140/128 +f 109/120/110 108/132/122 123/141/129 124/145/131 +f 102/119/109 101/118/108 116/143/130 117/146/132 +f 110/121/111 109/120/110 124/145/131 125/147/133 +f 103/122/112 102/119/109 117/146/132 118/148/134 +f 111/123/113 110/121/111 125/147/133 126/149/135 +f 104/124/114 103/122/112 118/148/134 119/150/136 +f 112/125/115 111/123/113 126/149/135 127/151/137 +f 105/126/116 104/124/114 119/150/136 120/135/123 +f 113/127/117 112/125/115 127/151/137 128/137/125 +f 125/147/133 124/145/131 139/152/138 140/153/139 +f 118/148/134 117/146/132 132/154/140 133/155/141 +f 126/149/135 125/147/133 140/153/139 141/156/142 +f 119/150/136 118/148/134 133/155/141 134/157/143 +f 127/151/137 126/149/135 141/156/142 142/158/144 +f 120/135/123 119/150/136 134/157/143 135/159/145 +f 128/137/125 127/151/137 142/158/144 143/160/146 +f 121/136/124 120/135/123 135/159/145 136/161/147 +f 129/138/126 128/137/125 143/160/146 144/162/148 +f 122/139/127 121/136/124 136/161/147 137/163/149 +f 130/140/128 129/138/126 144/162/148 145/164/150 +f 123/141/129 122/139/127 137/163/149 138/165/151 +f 116/143/130 297/166/18 131/167/152 +f 206/168/20 130/140/128 145/164/150 +f 124/145/131 123/141/129 138/165/151 139/152/138 +f 117/146/132 116/143/130 131/167/152 132/154/140 +f 144/162/148 143/160/146 158/169/153 159/170/154 +f 137/163/149 136/161/147 151/171/155 152/172/156 +f 145/164/150 144/162/148 159/170/154 160/173/157 +f 138/165/151 137/163/149 152/172/156 153/174/158 +f 131/167/152 297/175/18 146/176/159 +f 206/177/20 145/164/150 160/173/157 +f 139/152/138 138/165/151 153/174/158 154/178/160 +f 132/154/140 131/167/152 146/176/159 147/179/161 +f 140/153/139 139/152/138 154/178/160 155/180/162 +f 133/155/141 132/154/140 147/179/161 148/181/163 +f 141/156/142 140/153/139 155/180/162 156/182/164 +f 134/157/143 133/155/141 148/181/163 149/183/165 +f 142/158/144 141/156/142 156/182/164 157/184/166 +f 135/159/145 134/157/143 149/183/165 150/185/167 +f 143/160/146 142/158/144 157/184/166 158/169/153 +f 136/161/147 135/159/145 150/185/167 151/171/155 +f 156/182/164 155/180/162 170/186/168 171/187/169 +f 149/183/165 148/181/163 163/188/170 164/189/171 +f 157/184/166 156/182/164 171/187/169 172/190/172 +f 150/185/167 149/183/165 164/189/171 165/191/173 +f 158/169/153 157/184/166 172/190/172 173/192/174 +f 151/171/155 150/185/167 165/191/173 166/193/175 +f 159/170/154 158/169/153 173/192/174 174/194/176 +f 152/172/156 151/171/155 166/193/175 167/195/177 +f 160/173/157 159/170/154 174/194/176 175/196/178 +f 153/174/158 152/172/156 167/195/177 168/197/179 +f 146/176/159 297/198/18 161/199/180 +f 206/200/20 160/173/157 175/196/178 +f 154/178/160 153/174/158 168/197/179 169/201/181 +f 147/179/161 146/176/159 161/199/180 162/202/182 +f 155/180/162 154/178/160 169/201/181 170/186/168 +f 148/181/163 147/179/161 162/202/182 163/188/170 +f 175/196/178 174/194/176 189/203/183 190/204/184 +f 168/197/179 167/195/177 182/205/185 183/206/186 +f 161/199/180 297/207/18 176/208/187 +f 206/209/20 175/196/178 190/204/184 +f 169/201/181 168/197/179 183/206/186 184/210/188 +f 162/202/182 161/199/180 176/208/187 177/211/189 +f 170/186/168 169/201/181 184/210/188 185/212/190 +f 163/188/170 162/202/182 177/211/189 178/213/191 +f 171/187/169 170/186/168 185/212/190 186/214/192 +f 164/189/171 163/188/170 178/213/191 179/215/193 +f 172/190/172 171/187/169 186/214/192 187/216/194 +f 165/191/173 164/189/171 179/215/193 180/217/195 +f 173/192/174 172/190/172 187/216/194 188/218/196 +f 166/193/175 165/191/173 180/217/195 181/219/197 +f 174/194/176 173/192/174 188/218/196 189/203/183 +f 167/195/177 166/193/175 181/219/197 182/205/185 +f 179/215/193 178/213/191 193/220/198 194/221/199 +f 187/216/194 186/214/192 201/222/200 202/223/201 +f 180/217/195 179/215/193 194/221/199 195/224/202 +f 188/218/196 187/216/194 202/223/201 203/225/203 +f 181/219/197 180/217/195 195/224/202 196/226/204 +f 189/203/183 188/218/196 203/225/203 204/227/205 +f 182/205/185 181/219/197 196/226/204 197/228/206 +f 190/204/184 189/203/183 204/227/205 205/229/207 +f 183/206/186 182/205/185 197/228/206 198/230/208 +f 176/208/187 297/231/18 191/232/209 +f 206/233/20 190/204/184 205/229/207 +f 184/210/188 183/206/186 198/230/208 199/234/210 +f 177/211/189 176/208/187 191/232/209 192/235/211 +f 185/212/190 184/210/188 199/234/210 200/236/212 +f 178/213/191 177/211/189 192/235/211 193/220/198 +f 186/214/192 185/212/190 200/236/212 201/222/200 +f 198/230/208 197/228/206 213/237/213 214/238/214 +f 191/232/209 297/239/18 207/240/215 +f 206/241/20 205/229/207 221/242/216 +f 199/234/210 198/230/208 214/238/214 215/243/217 +f 192/235/211 191/232/209 207/240/215 208/244/218 +f 200/236/212 199/234/210 215/243/217 216/245/219 +f 193/220/198 192/235/211 208/244/218 209/246/220 +f 201/222/200 200/236/212 216/245/219 217/247/221 +f 194/221/199 193/220/198 209/246/220 210/248/222 +f 202/223/201 201/222/200 217/247/221 218/249/223 +f 195/224/202 194/221/199 210/248/222 211/250/224 +f 203/225/203 202/223/201 218/249/223 219/251/225 +f 196/226/204 195/224/202 211/250/224 212/252/226 +f 204/227/205 203/225/203 219/251/225 220/253/227 +f 197/228/206 196/226/204 212/252/226 213/237/213 +f 205/229/207 204/227/205 220/253/227 221/242/216 +f 218/249/223 217/247/221 232/254/228 233/255/229 +f 211/250/224 210/248/222 225/256/230 226/257/231 +f 219/251/225 218/249/223 233/255/229 234/258/232 +f 212/252/226 211/250/224 226/257/231 227/259/233 +f 220/253/227 219/251/225 234/258/232 235/260/234 +f 213/237/213 212/252/226 227/259/233 228/261/235 +f 221/242/216 220/253/227 235/260/234 236/262/236 +f 214/238/214 213/237/213 228/261/235 229/263/237 +f 207/240/215 297/264/18 222/265/238 +f 206/266/20 221/242/216 236/262/236 +f 215/243/217 214/238/214 229/263/237 230/267/239 +f 208/244/218 207/240/215 222/265/238 223/268/240 +f 216/245/219 215/243/217 230/267/239 231/269/241 +f 209/246/220 208/244/218 223/268/240 224/270/242 +f 217/247/221 216/245/219 231/269/241 232/254/228 +f 210/248/222 209/246/220 224/270/242 225/256/230 +f 222/265/238 297/271/18 237/272/243 +f 206/273/20 236/262/236 251/274/244 +f 230/267/239 229/263/237 244/275/245 245/276/246 +f 223/268/240 222/265/238 237/272/243 238/277/247 +f 231/269/241 230/267/239 245/276/246 246/278/248 +f 224/270/242 223/268/240 238/277/247 239/279/249 +f 232/254/228 231/269/241 246/278/248 247/280/250 +f 225/256/230 224/270/242 239/279/249 240/281/251 +f 233/255/229 232/254/228 247/280/250 248/282/252 +f 226/257/231 225/256/230 240/281/251 241/283/253 +f 234/258/232 233/255/229 248/282/252 249/284/254 +f 227/259/233 226/257/231 241/283/253 242/285/255 +f 235/260/234 234/258/232 249/284/254 250/286/256 +f 228/261/235 227/259/233 242/285/255 243/287/257 +f 236/262/236 235/260/234 250/286/256 251/274/244 +f 229/263/237 228/261/235 243/287/257 244/275/245 +f 241/283/253 240/281/251 255/288/258 256/289/259 +f 249/284/254 248/282/252 263/290/260 264/291/261 +f 242/285/255 241/283/253 256/289/259 257/292/262 +f 250/286/256 249/284/254 264/291/261 265/293/263 +f 243/287/257 242/285/255 257/292/262 258/294/264 +f 251/274/244 250/286/256 265/293/263 266/295/265 +f 244/275/245 243/287/257 258/294/264 259/296/266 +f 237/272/243 297/297/18 252/298/267 +f 206/299/20 251/274/244 266/295/265 +f 245/276/246 244/275/245 259/296/266 260/300/268 +f 238/277/247 237/272/243 252/298/267 253/301/269 +f 246/278/248 245/276/246 260/300/268 261/302/270 +f 239/279/249 238/277/247 253/301/269 254/303/271 +f 247/280/250 246/278/248 261/302/270 262/304/272 +f 240/281/251 239/279/249 254/303/271 255/288/258 +f 248/282/252 247/280/250 262/304/272 263/290/260 +f 260/300/268 259/296/266 274/305/273 275/306/274 +f 253/301/269 252/298/267 267/307/275 268/308/276 +f 261/302/270 260/300/268 275/306/274 276/309/277 +f 254/303/271 253/301/269 268/308/276 269/310/278 +f 262/304/272 261/302/270 276/309/277 277/311/279 +f 255/288/258 254/303/271 269/310/278 270/312/280 +f 263/290/260 262/304/272 277/311/279 278/313/281 +f 256/289/259 255/288/258 270/312/280 271/314/282 +f 264/291/261 263/290/260 278/313/281 279/315/283 +f 257/292/262 256/289/259 271/314/282 272/316/284 +f 265/293/263 264/291/261 279/315/283 280/317/285 +f 258/294/264 257/292/262 272/316/284 273/318/286 +f 266/295/265 265/293/263 280/317/285 281/319/287 +f 259/296/266 258/294/264 273/318/286 274/305/273 +f 252/298/267 297/320/18 267/307/275 +f 206/321/20 266/295/265 281/319/287 +f 279/315/283 278/313/281 293/322/288 294/323/289 +f 272/316/284 271/314/282 286/324/290 287/325/291 +f 280/317/285 279/315/283 294/323/289 295/326/292 +f 273/318/286 272/316/284 287/325/291 288/327/293 +f 281/319/287 280/317/285 295/326/292 296/328/294 +f 274/305/273 273/318/286 288/327/293 289/329/295 +f 267/307/275 297/330/18 282/331/296 +f 206/332/20 281/319/287 296/328/294 +f 275/306/274 274/305/273 289/329/295 290/333/297 +f 268/308/276 267/307/275 282/331/296 283/334/298 +f 276/309/277 275/306/274 290/333/297 291/335/299 +f 269/310/278 268/308/276 283/334/298 284/336/300 +f 277/311/279 276/309/277 291/335/299 292/337/301 +f 270/312/280 269/310/278 284/336/300 285/338/302 +f 278/313/281 277/311/279 292/337/301 293/322/288 +f 271/314/282 270/312/280 285/338/302 286/324/290 +f 291/335/299 290/333/297 306/339/303 307/340/304 +f 284/336/300 283/334/298 299/341/305 300/342/306 +f 292/337/301 291/335/299 307/340/304 308/343/307 +f 285/338/302 284/336/300 300/342/306 301/344/308 +f 293/322/288 292/337/301 308/343/307 309/345/309 +f 286/324/290 285/338/302 301/344/308 302/346/310 +f 294/323/289 293/322/288 309/345/309 310/347/311 +f 287/325/291 286/324/290 302/346/310 303/348/312 +f 295/326/292 294/323/289 310/347/311 311/349/313 +f 288/327/293 287/325/291 303/348/312 304/350/314 +f 296/328/294 295/326/292 311/349/313 312/351/315 +f 289/329/295 288/327/293 304/350/314 305/352/316 +f 282/331/296 297/353/18 298/354/317 +f 206/355/20 296/328/294 312/351/315 +f 290/333/297 289/329/295 305/352/316 306/339/303 +f 283/334/298 282/331/296 298/354/317 299/341/305 +f 311/349/313 310/347/311 325/356/318 326/357/319 +f 304/350/314 303/348/312 318/358/320 319/359/321 +f 312/351/315 311/349/313 326/357/319 327/360/322 +f 305/352/316 304/350/314 319/359/321 320/361/323 +f 298/354/317 297/362/18 313/363/324 +f 206/364/20 312/351/315 327/360/322 +f 306/339/303 305/352/316 320/361/323 321/365/325 +f 299/341/305 298/354/317 313/363/324 314/366/326 +f 307/340/304 306/339/303 321/365/325 322/367/327 +f 300/342/306 299/341/305 314/366/326 315/368/328 +f 308/343/307 307/340/304 322/367/327 323/369/329 +f 301/344/308 300/342/306 315/368/328 316/370/330 +f 309/345/309 308/343/307 323/369/329 324/371/331 +f 302/346/310 301/344/308 316/370/330 317/372/332 +f 310/347/311 309/345/309 324/371/331 325/356/318 +f 303/348/312 302/346/310 317/372/332 318/358/320 +f 315/368/328 314/366/326 329/373/333 330/374/334 +f 323/369/329 322/367/327 337/375/335 338/376/336 +f 316/370/330 315/368/328 330/374/334 331/377/337 +f 324/371/331 323/369/329 338/376/336 339/378/338 +f 317/372/332 316/370/330 331/377/337 332/379/339 +f 325/356/318 324/371/331 339/378/338 340/380/340 +f 318/358/320 317/372/332 332/379/339 333/381/341 +f 326/357/319 325/356/318 340/380/340 341/382/342 +f 319/359/321 318/358/320 333/381/341 334/383/343 +f 327/360/322 326/357/319 341/382/342 342/384/344 +f 320/361/323 319/359/321 334/383/343 335/385/345 +f 313/363/324 297/386/18 328/387/346 +f 206/388/20 327/360/322 342/384/344 +f 321/365/325 320/361/323 335/385/345 336/389/347 +f 314/366/326 313/363/324 328/387/346 329/373/333 +f 322/367/327 321/365/325 336/389/347 337/375/335 +f 334/383/343 333/381/341 348/390/348 349/391/349 +f 342/384/344 341/382/342 356/392/350 357/393/351 +f 335/385/345 334/383/343 349/391/349 350/394/352 +f 328/387/346 297/395/18 343/396/353 +f 206/397/20 342/384/344 357/393/351 +f 336/389/347 335/385/345 350/394/352 351/398/354 +f 329/373/333 328/387/346 343/396/353 344/399/355 +f 337/375/335 336/389/347 351/398/354 352/400/356 +f 330/374/334 329/373/333 344/399/355 345/401/357 +f 338/376/336 337/375/335 352/400/356 353/402/358 +f 331/377/337 330/374/334 345/401/357 346/403/359 +f 339/378/338 338/376/336 353/402/358 354/404/360 +f 332/379/339 331/377/337 346/403/359 347/405/361 +f 340/380/340 339/378/338 354/404/360 355/406/362 +f 333/381/341 332/379/339 347/405/361 348/390/348 +f 341/382/342 340/380/340 355/406/362 356/392/350 +f 353/402/358 352/400/356 367/407/363 368/408/364 +f 346/403/359 345/401/357 360/409/365 361/410/366 +f 354/404/360 353/402/358 368/408/364 369/411/367 +f 347/405/361 346/403/359 361/410/366 362/412/368 +f 355/406/362 354/404/360 369/411/367 370/413/369 +f 348/390/348 347/405/361 362/412/368 363/414/370 +f 356/392/350 355/406/362 370/413/369 371/415/371 +f 349/391/349 348/390/348 363/414/370 364/416/372 +f 357/393/351 356/392/350 371/415/371 372/417/373 +f 350/394/352 349/391/349 364/416/372 365/418/374 +f 343/396/353 297/419/18 358/420/375 +f 206/421/20 357/393/351 372/417/373 +f 351/398/354 350/394/352 365/418/374 366/422/376 +f 344/399/355 343/396/353 358/420/375 359/423/377 +f 352/400/356 351/398/354 366/422/376 367/407/363 +f 345/401/357 344/399/355 359/423/377 360/409/365 +f 372/424/373 371/425/371 386/426/378 387/427/379 +f 365/428/374 364/429/372 379/430/380 380/431/381 +f 358/432/375 297/433/18 373/434/382 +f 206/435/20 372/424/373 387/427/379 +f 366/436/376 365/428/374 380/431/381 381/437/383 +f 359/438/377 358/432/375 373/434/382 374/439/384 +f 367/440/363 366/436/376 381/437/383 382/441/385 +f 360/442/365 359/438/377 374/439/384 375/443/386 +f 368/444/364 367/440/363 382/441/385 383/445/387 +f 361/446/366 360/442/365 375/443/386 376/447/388 +f 369/448/367 368/444/364 383/445/387 384/449/389 +f 362/450/368 361/446/366 376/447/388 377/451/390 +f 370/452/369 369/448/367 384/449/389 385/453/391 +f 363/454/370 362/450/368 377/451/390 378/455/392 +f 371/425/371 370/452/369 385/453/391 386/426/378 +f 364/429/372 363/454/370 378/455/392 379/430/380 +f 376/447/388 375/443/386 390/456/393 391/457/394 +f 384/449/389 383/445/387 398/458/395 399/459/396 +f 377/451/390 376/447/388 391/457/394 392/460/397 +f 385/453/391 384/449/389 399/459/396 400/461/398 +f 378/455/392 377/451/390 392/460/397 393/462/399 +f 386/426/378 385/453/391 400/461/398 401/463/400 +f 379/430/380 378/455/392 393/462/399 394/464/401 +f 387/427/379 386/426/378 401/463/400 402/465/402 +f 380/431/381 379/430/380 394/464/401 395/466/403 +f 373/434/382 297/467/18 388/468/404 +f 206/469/20 387/427/379 402/465/402 +f 381/437/383 380/431/381 395/466/403 396/470/405 +f 374/439/384 373/434/382 388/468/404 389/471/406 +f 382/441/385 381/437/383 396/470/405 397/472/407 +f 375/443/386 374/439/384 389/471/406 390/456/393 +f 383/445/387 382/441/385 397/472/407 398/458/395 +f 395/466/403 394/464/401 409/473/408 410/474/409 +f 388/468/404 297/475/18 403/476/410 +f 206/477/20 402/465/402 417/478/411 +f 396/470/405 395/466/403 410/474/409 411/479/412 +f 389/471/406 388/468/404 403/476/410 404/480/413 +f 397/472/407 396/470/405 411/479/412 412/481/414 +f 390/456/393 389/471/406 404/480/413 405/482/415 +f 398/458/395 397/472/407 412/481/414 413/483/416 +f 391/457/394 390/456/393 405/482/415 406/484/417 +f 399/459/396 398/458/395 413/483/416 414/485/418 +f 392/460/397 391/457/394 406/484/417 407/486/419 +f 400/461/398 399/459/396 414/485/418 415/487/420 +f 393/462/399 392/460/397 407/486/419 408/488/421 +f 401/463/400 400/461/398 415/487/420 416/489/422 +f 394/464/401 393/462/399 408/488/421 409/473/408 +f 402/465/402 401/463/400 416/489/422 417/478/411 +f 414/485/418 413/483/416 428/490/423 429/491/424 +f 407/486/419 406/484/417 421/492/425 422/493/426 +f 415/487/420 414/485/418 429/491/424 430/494/427 +f 408/488/421 407/486/419 422/493/426 423/495/428 +f 416/489/422 415/487/420 430/494/427 431/496/429 +f 409/473/408 408/488/421 423/495/428 424/497/430 +f 417/478/411 416/489/422 431/496/429 432/498/431 +f 410/474/409 409/473/408 424/497/430 425/499/432 +f 403/476/410 297/500/18 418/501/433 +f 206/502/20 417/478/411 432/498/431 +f 411/479/412 410/474/409 425/499/432 426/503/434 +f 404/480/413 403/476/410 418/501/433 419/504/435 +f 412/481/414 411/479/412 426/503/434 427/505/436 +f 405/482/415 404/480/413 419/504/435 420/506/437 +f 413/483/416 412/481/414 427/505/436 428/490/423 +f 406/484/417 405/482/415 420/506/437 421/492/425 +f 206/507/20 432/498/431 447/508/438 +f 426/503/434 425/499/432 440/509/439 441/510/440 +f 419/504/435 418/501/433 433/511/441 434/512/442 +f 427/505/436 426/503/434 441/510/440 442/513/443 +f 420/506/437 419/504/435 434/512/442 435/514/444 +f 428/490/423 427/505/436 442/513/443 443/515/445 +f 421/492/425 420/506/437 435/514/444 436/516/446 +f 429/491/424 428/490/423 443/515/445 444/517/447 +f 422/493/426 421/492/425 436/516/446 437/518/448 +f 430/494/427 429/491/424 444/517/447 445/519/449 +f 423/495/428 422/493/426 437/518/448 438/520/450 +f 431/496/429 430/494/427 445/519/449 446/521/451 +f 424/497/430 423/495/428 438/520/450 439/522/452 +f 432/498/431 431/496/429 446/521/451 447/508/438 +f 425/499/432 424/497/430 439/522/452 440/509/439 +f 418/501/433 297/523/18 433/511/441 +f 445/519/449 444/517/447 459/524/453 460/525/454 +f 438/520/450 437/518/448 452/526/455 453/527/456 +f 446/521/451 445/519/449 460/525/454 461/528/457 +f 439/522/452 438/520/450 453/527/456 454/529/458 +f 447/508/438 446/521/451 461/528/457 462/530/459 +f 440/509/439 439/522/452 454/529/458 455/531/460 +f 433/511/441 297/532/18 448/533/461 +f 206/534/20 447/508/438 462/530/459 +f 441/510/440 440/509/439 455/531/460 456/535/462 +f 434/512/442 433/511/441 448/533/461 449/536/463 +f 442/513/443 441/510/440 456/535/462 457/537/464 +f 435/514/444 434/512/442 449/536/463 450/538/465 +f 443/515/445 442/513/443 457/537/464 458/539/466 +f 436/516/446 435/514/444 450/538/465 451/540/467 +f 444/517/447 443/515/445 458/539/466 459/524/453 +f 437/518/448 436/516/446 451/540/467 452/526/455 +f 449/536/463 448/533/461 463/541/468 464/542/469 +f 457/537/464 456/535/462 471/543/470 472/544/471 +f 450/538/465 449/536/463 464/542/469 465/545/472 +f 458/539/466 457/537/464 472/544/471 473/546/473 +f 451/540/467 450/538/465 465/545/472 466/547/474 +f 459/524/453 458/539/466 473/546/473 474/548/475 +f 452/526/455 451/540/467 466/547/474 467/549/476 +f 460/525/454 459/524/453 474/548/475 475/550/477 +f 453/527/456 452/526/455 467/549/476 468/551/478 +f 461/528/457 460/525/454 475/550/477 476/552/479 +f 454/529/458 453/527/456 468/551/478 469/553/480 +f 462/530/459 461/528/457 476/552/479 477/554/481 +f 455/531/460 454/529/458 469/553/480 470/555/482 +f 448/533/461 297/556/18 463/541/468 +f 206/557/20 462/530/459 477/554/481 +f 456/535/462 455/531/460 470/555/482 471/543/470 +f 468/551/478 467/549/476 5/6/6 6/5/5 +f 476/552/479 475/550/477 10/1/1 481/9/9 +f 469/553/480 468/551/478 6/5/5 7/11/11 +f 477/554/481 476/552/479 481/9/9 482/13/13 +f 470/555/482 469/553/480 7/11/11 8/15/15 +f 463/541/468 297/558/18 1/17/17 +f 206/559/20 477/554/481 482/13/13 +f 471/543/470 470/555/482 8/15/15 9/21/21 +f 464/542/469 463/541/468 1/17/17 2/23/23 +f 472/544/471 471/543/470 9/21/21 478/25/25 +f 465/545/472 464/542/469 2/23/23 3/27/27 +f 473/546/473 472/544/471 478/25/25 479/29/29 +f 466/547/474 465/545/472 3/27/27 4/31/31 +f 474/548/475 473/546/473 479/29/29 480/2/2 +f 467/549/476 466/547/474 4/31/31 5/6/6 +f 475/550/477 474/548/475 480/2/2 10/1/1 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.obj.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.obj.meta new file mode 100644 index 00000000..d74ef253 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.obj.meta @@ -0,0 +1,102 @@ +fileFormatVersion: 2 +guid: e51a66ac38771954699e15aa3d81a256 +timeCreated: 1578687725 +licenseType: Store +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: default + 100002: //RootNode + 400000: default + 400002: //RootNode + 2100000: Material.001 + 2300000: default + 3300000: default + 4300000: default + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.obj + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/sampleTex.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/sampleTex.png new file mode 100644 index 00000000..c5e2d210 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/sampleTex.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/sampleTex.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/sampleTex.png.meta new file mode 100644 index 00000000..2b55e763 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/sampleTex.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: 608150d52a010614a9f6fcb2f834917a +timeCreated: 1578687751 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Models/sampleTex.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Scripts.meta new file mode 100644 index 00000000..f81dd3a7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a2d4a01dba39d3439ddafbc069f4f47 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Scripts/LoadModelFromFileSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Scripts/LoadModelFromFileSample.cs new file mode 100644 index 00000000..3c1dd3cb --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Scripts/LoadModelFromFileSample.cs @@ -0,0 +1,109 @@ +#pragma warning disable 649 +using TriLibCore.General; +using UnityEngine; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace TriLibCore.Samples +{ + /// + /// Provides a sample showing how to load the TriLibSample.obj model + /// from a specific local path at runtime or in the Unity Editor. + /// This example demonstrates basic usage of + /// for loading 3D assets from a file. + /// + public class LoadModelFromFileSample : MonoBehaviour + { + /// + /// Stores for configuring how TriLib loads the model + /// (e.g., whether to import animations, materials, etc.). + /// + private AssetLoaderOptions _assetLoaderOptions; + + /// + /// Gets the path to the TriLibSample.obj model. + /// When in the Unity Editor, a direct path to the Assets/TriLib folder is returned; + /// at runtime, a relative path is used. + /// + private string ModelPath + { + get + { +#if UNITY_EDITOR + return $"{Application.dataPath}/TriLib/TriLibSamples/LoadModelFromFile/Models/TriLibSampleModel.obj"; +#else + return "Models/TriLibSampleModel.obj"; +#endif + } + } + /// + /// Triggered if an error occurs during model loading, such as missing files or format issues. + /// + /// + /// The contextualized error, containing both the original exception and the context + /// passed to the method where the error was thrown. + /// + private void OnError(IContextualizedError obj) + { + Debug.LogError($"An error occurred while loading your Model: {obj.GetInnerException()}"); + } + + /// + /// Called when the model's meshes and hierarchy are first loaded, before materials and textures finish. + /// The partially loaded is available through assetLoaderContext.RootGameObject. + /// + /// The context used to load the model. + /// + /// If your application needs to do any setup or processing of the base mesh data + /// before materials are applied, use this callback. + /// + private void OnLoad(AssetLoaderContext assetLoaderContext) + { + Debug.Log("Model loaded. Loading materials."); + } + + /// + /// Called when the model (including all textures and materials) has finished loading. + /// The fully loaded is available through assetLoaderContext.RootGameObject. + /// + /// The context that was used to load the model. + /// + /// After this callback, the model is completely ready, + /// including its hierarchy, meshes, materials, and textures. + /// + private void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + Debug.Log("Materials loaded. Model fully loaded."); + } + + /// + /// Invoked when there is an update in the loading progress of the model (0% to 100%). + /// + /// The context used to load the model, which holds relevant loading information. + /// The current load progress, as a normalized value between 0.0 and 1.0. + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + Debug.Log($"Loading Model. Progress: {progress:P}"); + } + + /// + /// Automatically loads the TriLibSample.obj model once the script starts running, + /// using either a user-defined or a default configuration. + /// + /// + /// You can create by right-clicking in the Assets window + /// and selecting TriLib -> Create -> AssetLoaderOptions -> Pre-Built AssetLoaderOptions. + /// + private void Start() + { + // Use a default set of loader options if none were set via the Inspector or elsewhere. + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + } + // Instruct TriLib to load the model from file, providing callbacks for progress, errors, etc. + AssetLoader.LoadModelFromFile(ModelPath, OnLoad, OnMaterialsLoad, OnProgress, OnError, null, _assetLoaderOptions); + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Scripts/LoadModelFromFileSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Scripts/LoadModelFromFileSample.cs.meta new file mode 100644 index 00000000..58d392df --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Scripts/LoadModelFromFileSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: b0a0c5b52c8d913478268c17dfa4bf7d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFile/Scripts/LoadModelFromFileSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker.meta new file mode 100644 index 00000000..5264760c --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c1c751ed0eaff5647a2a5aabe9a62460 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/LoadModelFromFilePicker.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/LoadModelFromFilePicker.unity new file mode 100644 index 00000000..1ca94f05 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/LoadModelFromFilePicker.unity @@ -0,0 +1,917 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657773, g: 0.49641377, b: 0.57481754, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &153877214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 153877216} + - component: {fileID: 153877215} + m_Layer: 0 + m_Name: LoadModelFromFilePicker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &153877215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5615883d91cb7f47a1ae4fa588c2448, type: 3} + m_Name: + m_EditorClassIdentifier: + _loadModelButton: {fileID: 1672275323} + _progressText: {fileID: 565294880} +--- !u!4 &153877216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &565294879 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 565294883} + - component: {fileID: 565294882} + - component: {fileID: 565294880} + - component: {fileID: 565294881} + m_Layer: 5 + m_Name: Progress + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &565294880 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565294879} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &565294881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565294879} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!222 &565294882 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565294879} + m_CullTransparentMesh: 0 +--- !u!224 &565294883 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565294879} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1664379773} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -50} + m_SizeDelta: {x: -20, y: -50} + m_Pivot: {x: 0, y: 1} +--- !u!1 &809567019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 809567021} + - component: {fileID: 809567020} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &809567020 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &809567021 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_LocalRotation: {x: -0.07338684, y: -0.89253896, z: 0.41619772, w: -0.1573786} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -200, z: 0} +--- !u!1 &1118294650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118294651} + - component: {fileID: 1118294654} + - component: {fileID: 1118294653} + - component: {fileID: 1118294652} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1118294651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1664379773} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1118294652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1118294653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'This sample loads models using the built-in file picker + +' +--- !u!222 &1118294654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_CullTransparentMesh: 0 +--- !u!1 &1197842967 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1197842968} + - component: {fileID: 1197842970} + - component: {fileID: 1197842969} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1197842968 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1197842967} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1672275322} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1197842969 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1197842967} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Load Model +--- !u!222 &1197842970 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1197842967} + m_CullTransparentMesh: 0 +--- !u!1 &1664379769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1664379773} + - component: {fileID: 1664379772} + - component: {fileID: 1664379771} + - component: {fileID: 1664379770} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1664379770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1664379771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1664379772 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1664379773 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1118294651} + - {fileID: 565294883} + - {fileID: 1672275322} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1672275321 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1672275322} + - component: {fileID: 1672275325} + - component: {fileID: 1672275324} + - component: {fileID: 1672275323} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1672275322 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1672275321} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1197842968} + m_Father: {fileID: 1664379773} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 20, y: -90} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1672275323 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1672275321} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1672275324} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 153877215} + m_MethodName: LoadModel + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1672275324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1672275321} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1672275325 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1672275321} + m_CullTransparentMesh: 0 +--- !u!1 &1813965413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813965417} + - component: {fileID: 1813965416} + - component: {fileID: 1813965415} + - component: {fileID: 1813965414} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1813965414 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!124 &1813965415 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!20 &1813965416 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1813965417 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1868373955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868373958} + - component: {fileID: 1868373957} + - component: {fileID: 1868373956} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1868373956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1868373957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1868373958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/LoadModelFromFilePicker.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/LoadModelFromFilePicker.unity.meta new file mode 100644 index 00000000..9d41052d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/LoadModelFromFilePicker.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: b7c4e7f97be1f814ba12dd6e678cd360 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/LoadModelFromFilePicker.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/Scripts.meta new file mode 100644 index 00000000..9cd247a9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 015bdc6296e98dc419660c494cb0f19e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/Scripts/LoadModelFromFilePickerSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/Scripts/LoadModelFromFilePickerSample.cs new file mode 100644 index 00000000..9c79ad8b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/Scripts/LoadModelFromFilePickerSample.cs @@ -0,0 +1,161 @@ +#pragma warning disable 649 +using UnityEngine; +using TriLibCore.Extensions; +using UnityEngine.UI; + +namespace TriLibCore.Samples +{ + /// + /// Demonstrates how to load a 3D model via a file-picker at runtime + /// using . + /// This sample displays a UI button to open the picker, and updates + /// a progress label while the model is being loaded. + /// + public class LoadModelFromFilePickerSample : MonoBehaviour + { + /// + /// Stores the instance used to configure model loading behavior. + /// + private AssetLoaderOptions _assetLoaderOptions; + + /// + /// Stores a reference to the most recently loaded . + /// If a new model is loaded, the old GameObject is destroyed. + /// + private GameObject _loadedGameObject; + + /// + /// Button used to open the model file-picker dialog. + /// + [SerializeField] + private Button _loadModelButton; + + /// + /// Text element used to display the current loading progress. + /// + [SerializeField] + private Text _progressText; + /// + /// Invoked by the UI to create or use existing , + /// then open the file-picker and load the selected model asynchronously. + /// + /// + /// You can create assets by right-clicking in the + /// Assets window and selecting TriLib > Create > AssetLoaderOptions > Pre-Built AssetLoaderOptions. + /// + public void LoadModel() + { + if (_assetLoaderOptions == null) + { + // Create default loader options if none are set + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + } + + // Create an AssetLoaderFilePicker to open a file dialog + var assetLoaderFilePicker = AssetLoaderFilePicker.Create(); + // Asynchronously load the chosen model, providing callbacks for various events + assetLoaderFilePicker.LoadModelFromFilePickerAsync( + "Select a Model file", + OnLoad, + OnMaterialsLoad, + OnProgress, + OnBeginLoad, + OnError, + null, + _assetLoaderOptions); + } + + /// + /// Called when the file-picker either begins or cancels the loading operation. + /// + /// + /// Indicates whether at least one file has been selected. + /// If true, loading has begun; if false, the operation was canceled. + /// + private void OnBeginLoad(bool filesSelected) + { + // Disable the button if loading is in progress; show progress text if files are selected + _loadModelButton.interactable = !filesSelected; + _progressText.enabled = filesSelected; + } + + /// + /// Called if an exception or error occurs at any point during model loading. + /// + /// + /// An object implementing , containing details on the exception. + /// + private void OnError(IContextualizedError obj) + { + Debug.LogError($"An error occurred while loading your Model: {obj.GetInnerException()}"); + } + + /// + /// Called after the model's meshes and hierarchy have been loaded, but before materials are finished. + /// Allows performing tasks with the partial model (e.g., positioning it, adding components). + /// + /// + /// The loaded can be accessed through + /// assetLoaderContext.RootGameObject, but note that textures + /// and materials may not be fully applied at this time. + /// + /// + /// The context used to load the model, which contains references to the loaded data. + /// + private void OnLoad(AssetLoaderContext assetLoaderContext) + { + // Destroy previously loaded model if present + if (_loadedGameObject != null) + { + Destroy(_loadedGameObject); + } + + // Store the new model reference + _loadedGameObject = assetLoaderContext.RootGameObject; + + // Optionally fit the camera to display the loaded model + if (_loadedGameObject != null) + { + Camera.main.FitToBounds(assetLoaderContext.RootGameObject, 2f); + } + } + + /// + /// Called after all meshes, materials, and textures have finished loading. + /// This indicates the model is fully ready and visible in the scene. + /// + /// + /// The loaded can be accessed through + /// assetLoaderContext.RootGameObject if needed for further customization. + /// + /// + /// The context used to load the model, which also holds the finished . + /// + private void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + if (assetLoaderContext.RootGameObject != null) + { + Debug.Log("Model fully loaded."); + } + else + { + Debug.Log("Model could not be loaded."); + } + // Re-enable the button and hide the progress text once loading is complete + _loadModelButton.interactable = true; + _progressText.enabled = false; + } + + /// + /// Called whenever the loading process updates its progress, ranging from 0.0 to 1.0. + /// + /// + /// The context used to load the model, providing details on its state and configuration. + /// + /// The current loading progress as a value between 0.0 and 1.0. + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + _progressText.text = $"Progress: {progress:P}"; + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/Scripts/LoadModelFromFilePickerSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/Scripts/LoadModelFromFilePickerSample.cs.meta new file mode 100644 index 00000000..88c309d5 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/Scripts/LoadModelFromFilePickerSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: d5615883d91cb7f47a1ae4fa588c2448 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromFilePicker/Scripts/LoadModelFromFilePickerSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream.meta new file mode 100644 index 00000000..d573a712 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 34a610bc68308824687bcbd8f4591e84 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/LoadModelFromStream.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/LoadModelFromStream.unity new file mode 100644 index 00000000..3f9f8b67 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/LoadModelFromStream.unity @@ -0,0 +1,626 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657773, g: 0.49641377, b: 0.57481754, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: ab867dc82c4cdbe438f46a66c551e587, + type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &153877214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 153877216} + - component: {fileID: 153877215} + m_Layer: 0 + m_Name: LoadModelFromStream + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &153877215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8e06b97742b98d4a882fabfe6a83a06, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &153877216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &809567019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 809567021} + - component: {fileID: 809567020} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &809567020 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &809567021 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_LocalRotation: {x: -0.07338684, y: -0.89253896, z: 0.41619772, w: -0.1573786} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -200, z: 0} +--- !u!1 &1118294650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118294651} + - component: {fileID: 1118294654} + - component: {fileID: 1118294653} + - component: {fileID: 1118294652} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1118294651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1664379773} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1118294652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1118294653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'This sample loads a model from a stream using a custom Texture Mapper + and a custom External Data Mapper + + All the model data comes from custom Streams, + and the Mappers are used to decode the data' +--- !u!222 &1118294654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_CullTransparentMesh: 0 +--- !u!1 &1664379769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1664379773} + - component: {fileID: 1664379772} + - component: {fileID: 1664379771} + - component: {fileID: 1664379770} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1664379770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1664379771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1664379772 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1664379773 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1118294651} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1813965413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813965417} + - component: {fileID: 1813965416} + - component: {fileID: 1813965415} + - component: {fileID: 1813965414} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1813965414 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!124 &1813965415 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!20 &1813965416 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1813965417 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1868373955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868373958} + - component: {fileID: 1868373957} + - component: {fileID: 1868373956} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1868373956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1868373957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1868373958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/LoadModelFromStream.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/LoadModelFromStream.unity.meta new file mode 100644 index 00000000..339db4dc --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/LoadModelFromStream.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 5cfc71195ef25e7498586faead12e43d +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/LoadModelFromStream.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers.meta new file mode 100644 index 00000000..56695122 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d9a8c0fec75cd34ea4af7d0543346d2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/ExternalDataMapperSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/ExternalDataMapperSample.cs new file mode 100644 index 00000000..c57aa83b --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/ExternalDataMapperSample.cs @@ -0,0 +1,32 @@ +using System; +using System.IO; +using TriLibCore.Mappers; +using TriLibCore.Utils; +using UnityEngine; + +namespace TriLibCore.Samples +{ + /// + /// Represents a class that finds external resources at the given model base path. + /// + public class ExternalDataMapperSample : ExternalDataMapper + { + /// + /// Tries to find the given external data source using the original resource filename and the context parameters. + /// + /// The Asset Loader Context reference. Asset Loader Context contains the Model loading data. + /// The source data original filename. + /// The found data final Path. + /// The external data source Stream, if found. Otherwise null. + public override Stream Map(AssetLoaderContext assetLoaderContext, string originalFilename, out string finalPath) + { + finalPath = $"{assetLoaderContext.BasePath}/{FileUtils.GetFilename(originalFilename)}"; + if (File.Exists(finalPath)) + { + Debug.Log($"Found external file at: {finalPath}"); + return File.OpenRead(finalPath); + } + throw new Exception($"File {originalFilename} not found."); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/ExternalDataMapperSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/ExternalDataMapperSample.cs.meta new file mode 100644 index 00000000..214c1ce2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/ExternalDataMapperSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 1f4255033f2de6a458f41d3f41f4aeba +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/ExternalDataMapperSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/TextureMapperSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/TextureMapperSample.cs new file mode 100644 index 00000000..281a5ec6 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/TextureMapperSample.cs @@ -0,0 +1,30 @@ +#pragma warning disable 672 + +using System; +using System.IO; +using TriLibCore.Interfaces; +using TriLibCore.Mappers; +using TriLibCore.Utils; +using UnityEngine; + +namespace TriLibCore.Samples +{ + /// + /// Represents a class that finds textures at the given model base path. + /// + public class TextureMapperSample : TextureMapper + { + /// Tries to retrieve a Stream to the Texture native data based on the given context. + public override void Map(TextureLoadingContext textureLoadingContext) + { + var finalPath = $"{textureLoadingContext.Context.BasePath}/{FileUtils.GetFilename(textureLoadingContext.Texture.Filename)}"; + if (File.Exists(finalPath)) + { + textureLoadingContext.Stream = File.OpenRead(finalPath); + Debug.Log($"Found texture at: {finalPath}"); + return; + } + throw new Exception($"Texture [{textureLoadingContext.Texture.Filename}] not found."); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/TextureMapperSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/TextureMapperSample.cs.meta new file mode 100644 index 00000000..ad6fe746 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/TextureMapperSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: e0c6f69c30d1f584eb9b87eb2adcbd35 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Mappers/TextureMapperSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models.meta new file mode 100644 index 00000000..0c905712 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ab592a7a3bdba442a6ccf3ab095f2da +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.mtl b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.mtl new file mode 100644 index 00000000..fc6dc5de --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.mtl @@ -0,0 +1,13 @@ +# Blender MTL File: 'None' +# Material Count: 1 + +newmtl Material.001 +Ns 225.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd C:\\Users\\ricko\\Desktop\\tmp\\sampleTex.png diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.mtl.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.mtl.meta new file mode 100644 index 00000000..9255f464 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.mtl.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 43fe0e59adc64a048aaaaea4f6e7b5d4 +timeCreated: 1578687724 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.mtl + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.obj b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.obj new file mode 100644 index 00000000..68a52581 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.obj @@ -0,0 +1,2041 @@ +# Blender v2.82 (sub 6) OBJ File: '' +# www.blender.org +mtllib TriLibSampleModel.mtl +o Sphere +v 0.000000 0.980785 -0.195090 +v 0.000000 0.923880 -0.382683 +v 0.000000 0.831470 -0.555570 +v 0.000000 0.707107 -0.707107 +v 0.000000 0.555570 -0.831470 +v 0.000000 0.382683 -0.923880 +v 0.000000 0.195090 -0.980785 +v 0.000000 0.000000 -1.000000 +v 0.000000 -0.195090 -0.980785 +v 0.000000 -0.831470 -0.555570 +v 0.038060 0.980785 -0.191342 +v 0.074658 0.923880 -0.375330 +v 0.108386 0.831470 -0.544895 +v 0.137950 0.707107 -0.693520 +v 0.162212 0.555570 -0.815493 +v 0.180240 0.382683 -0.906127 +v 0.191342 0.195090 -0.961940 +v 0.195090 0.000000 -0.980785 +v 0.191342 -0.195090 -0.961940 +v 0.180240 -0.382683 -0.906127 +v 0.162212 -0.555570 -0.815493 +v 0.137950 -0.707107 -0.693520 +v 0.108386 -0.831470 -0.544895 +v 0.074658 -0.923880 -0.375330 +v 0.038060 -0.980785 -0.191341 +v 0.074658 0.980785 -0.180240 +v 0.146447 0.923880 -0.353553 +v 0.212608 0.831470 -0.513280 +v 0.270598 0.707107 -0.653281 +v 0.318190 0.555570 -0.768178 +v 0.353553 0.382683 -0.853553 +v 0.375330 0.195090 -0.906127 +v 0.382684 0.000000 -0.923879 +v 0.375330 -0.195090 -0.906127 +v 0.353554 -0.382683 -0.853553 +v 0.318190 -0.555570 -0.768178 +v 0.270598 -0.707107 -0.653281 +v 0.212608 -0.831470 -0.513280 +v 0.146447 -0.923880 -0.353553 +v 0.074658 -0.980785 -0.180240 +v 0.108387 0.980785 -0.162212 +v 0.212608 0.923880 -0.318190 +v 0.308658 0.831470 -0.461940 +v 0.392848 0.707107 -0.587938 +v 0.461940 0.555570 -0.691342 +v 0.513280 0.382683 -0.768178 +v 0.544895 0.195090 -0.815493 +v 0.555570 0.000000 -0.831469 +v 0.544895 -0.195090 -0.815493 +v 0.513280 -0.382683 -0.768178 +v 0.461940 -0.555570 -0.691342 +v 0.392848 -0.707107 -0.587938 +v 0.308658 -0.831470 -0.461940 +v 0.212608 -0.923880 -0.318189 +v 0.108386 -0.980785 -0.162211 +v 0.137950 0.980785 -0.137950 +v 0.270598 0.923880 -0.270598 +v 0.392848 0.831470 -0.392847 +v 0.500000 0.707107 -0.500000 +v 0.587938 0.555570 -0.587938 +v 0.653282 0.382683 -0.653281 +v 0.693520 0.195090 -0.693520 +v 0.707107 0.000000 -0.707107 +v 0.693520 -0.195090 -0.693520 +v 0.653282 -0.382683 -0.653281 +v 0.587938 -0.555570 -0.587938 +v 0.500000 -0.707107 -0.500000 +v 0.392848 -0.831470 -0.392847 +v 0.270598 -0.923880 -0.270598 +v 0.137950 -0.980785 -0.137949 +v 0.162212 0.980785 -0.108386 +v 0.318190 0.923880 -0.212607 +v 0.461940 0.831470 -0.308658 +v 0.587938 0.707107 -0.392847 +v 0.691342 0.555570 -0.461940 +v 0.768178 0.382683 -0.513280 +v 0.815493 0.195090 -0.544895 +v 0.831470 0.000000 -0.555570 +v 0.815493 -0.195090 -0.544895 +v 0.768178 -0.382683 -0.513280 +v 0.691342 -0.555570 -0.461940 +v 0.587938 -0.707107 -0.392847 +v 0.461940 -0.831470 -0.308658 +v 0.318190 -0.923880 -0.212607 +v 0.162212 -0.980785 -0.108386 +v 0.180240 0.980785 -0.074658 +v 0.353554 0.923880 -0.146446 +v 0.513280 0.831470 -0.212607 +v 0.653282 0.707107 -0.270598 +v 0.768178 0.555570 -0.318189 +v 0.853554 0.382683 -0.353553 +v 0.906128 0.195090 -0.375330 +v 0.923880 0.000000 -0.382683 +v 0.906128 -0.195090 -0.375330 +v 0.853554 -0.382683 -0.353553 +v 0.768178 -0.555570 -0.318189 +v 0.653282 -0.707107 -0.270598 +v 0.513280 -0.831470 -0.212607 +v 0.353554 -0.923880 -0.146446 +v 0.180240 -0.980785 -0.074658 +v 0.191342 0.980785 -0.038060 +v 0.375331 0.923880 -0.074658 +v 0.544895 0.831470 -0.108386 +v 0.693520 0.707107 -0.137949 +v 0.815493 0.555570 -0.162211 +v 0.906128 0.382683 -0.180240 +v 0.961940 0.195090 -0.191341 +v 0.980785 0.000000 -0.195090 +v 0.961940 -0.195090 -0.191341 +v 0.906128 -0.382683 -0.180240 +v 0.815493 -0.555570 -0.162211 +v 0.693520 -0.707107 -0.137949 +v 0.544895 -0.831470 -0.108386 +v 0.375330 -0.923880 -0.074658 +v 0.191342 -0.980785 -0.038060 +v 0.195091 0.980785 0.000000 +v 0.382684 0.923880 0.000000 +v 0.555570 0.831470 0.000000 +v 0.707107 0.707107 0.000000 +v 0.831470 0.555570 0.000000 +v 0.923880 0.382683 0.000000 +v 0.980785 0.195090 0.000000 +v 1.000000 0.000000 0.000000 +v 0.980785 -0.195090 0.000000 +v 0.923880 -0.382683 0.000000 +v 0.831470 -0.555570 0.000000 +v 0.707107 -0.707107 0.000000 +v 0.555570 -0.831470 0.000000 +v 0.382684 -0.923880 0.000000 +v 0.195090 -0.980785 0.000000 +v 0.191342 0.980785 0.038061 +v 0.375331 0.923880 0.074658 +v 0.544895 0.831470 0.108387 +v 0.693520 0.707107 0.137950 +v 0.815493 0.555570 0.162212 +v 0.906128 0.382683 0.180240 +v 0.961940 0.195090 0.191342 +v 0.980785 0.000000 0.195091 +v 0.961940 -0.195090 0.191342 +v 0.906128 -0.382683 0.180240 +v 0.815493 -0.555570 0.162212 +v 0.693520 -0.707107 0.137950 +v 0.544895 -0.831470 0.108387 +v 0.375330 -0.923880 0.074658 +v 0.191342 -0.980785 0.038061 +v 0.180240 0.980785 0.074658 +v 0.353554 0.923880 0.146447 +v 0.513280 0.831470 0.212608 +v 0.653282 0.707107 0.270598 +v 0.768178 0.555570 0.318190 +v 0.853554 0.382683 0.353554 +v 0.906127 0.195090 0.375331 +v 0.923880 0.000000 0.382684 +v 0.906127 -0.195090 0.375331 +v 0.853554 -0.382683 0.353554 +v 0.768178 -0.555570 0.318190 +v 0.653282 -0.707107 0.270598 +v 0.513280 -0.831470 0.212608 +v 0.353553 -0.923880 0.146447 +v 0.180240 -0.980785 0.074658 +v 0.162212 0.980785 0.108387 +v 0.318190 0.923880 0.212608 +v 0.461940 0.831470 0.308659 +v 0.587938 0.707107 0.392848 +v 0.691342 0.555570 0.461940 +v 0.768178 0.382683 0.513280 +v 0.815493 0.195090 0.544895 +v 0.831470 0.000000 0.555571 +v 0.815493 -0.195090 0.544895 +v 0.768178 -0.382683 0.513280 +v 0.691342 -0.555570 0.461940 +v 0.587938 -0.707107 0.392848 +v 0.461940 -0.831470 0.308659 +v 0.318190 -0.923880 0.212608 +v 0.162212 -0.980785 0.108387 +v 0.137950 0.980785 0.137950 +v 0.270598 0.923880 0.270599 +v 0.392848 0.831470 0.392848 +v 0.500000 0.707107 0.500000 +v 0.587938 0.555570 0.587938 +v 0.653282 0.382683 0.653282 +v 0.693520 0.195090 0.693520 +v 0.707107 0.000000 0.707107 +v 0.693520 -0.195090 0.693520 +v 0.653282 -0.382683 0.653282 +v 0.587938 -0.555570 0.587938 +v 0.500000 -0.707107 0.500000 +v 0.392848 -0.831470 0.392848 +v 0.270598 -0.923880 0.270598 +v 0.137950 -0.980785 0.137950 +v 0.108386 0.980785 0.162212 +v 0.212608 0.923880 0.318190 +v 0.308658 0.831470 0.461940 +v 0.392848 0.707107 0.587938 +v 0.461940 0.555570 0.691342 +v 0.513280 0.382683 0.768178 +v 0.544895 0.195090 0.815493 +v 0.555570 0.000000 0.831470 +v 0.544895 -0.195090 0.815493 +v 0.513280 -0.382683 0.768178 +v 0.461940 -0.555570 0.691342 +v 0.392848 -0.707107 0.587938 +v 0.308658 -0.831470 0.461940 +v 0.212608 -0.923880 0.318190 +v 0.108386 -0.980785 0.162212 +v 0.000000 -1.000000 0.000000 +v 0.074658 0.980785 0.180240 +v 0.146447 0.923880 0.353554 +v 0.212608 0.831470 0.513280 +v 0.270598 0.707107 0.653282 +v 0.318190 0.555570 0.768178 +v 0.353553 0.382683 0.853554 +v 0.375330 0.195090 0.906128 +v 0.382683 0.000000 0.923880 +v 0.375330 -0.195090 0.906128 +v 0.353553 -0.382683 0.853554 +v 0.318190 -0.555570 0.768178 +v 0.270598 -0.707107 0.653282 +v 0.212608 -0.831470 0.513280 +v 0.146447 -0.923880 0.353554 +v 0.074658 -0.980785 0.180240 +v 0.038060 0.980785 0.191342 +v 0.074658 0.923880 0.375331 +v 0.108386 0.831470 0.544896 +v 0.137950 0.707107 0.693520 +v 0.162212 0.555570 0.815493 +v 0.180240 0.382683 0.906128 +v 0.191342 0.195090 0.961940 +v 0.195090 0.000000 0.980786 +v 0.191342 -0.195090 0.961940 +v 0.180240 -0.382683 0.906128 +v 0.162212 -0.555570 0.815493 +v 0.137950 -0.707107 0.693520 +v 0.108386 -0.831470 0.544895 +v 0.074658 -0.923880 0.375331 +v 0.038060 -0.980785 0.191342 +v -0.000000 0.980785 0.195091 +v 0.000000 0.923880 0.382684 +v 0.000000 0.831470 0.555571 +v -0.000000 0.707107 0.707107 +v -0.000000 0.555570 0.831470 +v 0.000000 0.382683 0.923880 +v -0.000000 0.195090 0.980785 +v -0.000000 0.000000 1.000000 +v -0.000000 -0.195090 0.980785 +v 0.000000 -0.382683 0.923880 +v -0.000000 -0.555570 0.831470 +v -0.000000 -0.707107 0.707107 +v -0.000000 -0.831470 0.555570 +v 0.000000 -0.923880 0.382684 +v 0.000000 -0.980785 0.195091 +v -0.038060 0.980785 0.191342 +v -0.074658 0.923880 0.375331 +v -0.108386 0.831470 0.544896 +v -0.137950 0.707107 0.693520 +v -0.162212 0.555570 0.815493 +v -0.180240 0.382683 0.906128 +v -0.191342 0.195090 0.961940 +v -0.195090 0.000000 0.980786 +v -0.191342 -0.195090 0.961940 +v -0.180240 -0.382683 0.906128 +v -0.162212 -0.555570 0.815493 +v -0.137950 -0.707107 0.693520 +v -0.108386 -0.831470 0.544895 +v -0.074658 -0.923880 0.375331 +v -0.038060 -0.980785 0.191342 +v -0.074658 0.980785 0.180240 +v -0.146447 0.923880 0.353554 +v -0.212608 0.831470 0.513280 +v -0.270598 0.707107 0.653282 +v -0.318190 0.555570 0.768178 +v -0.353553 0.382683 0.853554 +v -0.375330 0.195090 0.906127 +v -0.382684 0.000000 0.923880 +v -0.375330 -0.195090 0.906127 +v -0.353553 -0.382683 0.853554 +v -0.318190 -0.555570 0.768178 +v -0.270598 -0.707107 0.653282 +v -0.212608 -0.831470 0.513280 +v -0.146447 -0.923880 0.353554 +v -0.074658 -0.980785 0.180240 +v -0.108386 0.980785 0.162212 +v -0.212608 0.923880 0.318190 +v -0.308658 0.831470 0.461940 +v -0.392847 0.707107 0.587938 +v -0.461940 0.555570 0.691342 +v -0.513280 0.382683 0.768178 +v -0.544895 0.195090 0.815493 +v -0.555570 0.000000 0.831470 +v -0.544895 -0.195090 0.815493 +v -0.513280 -0.382683 0.768178 +v -0.461940 -0.555570 0.691342 +v -0.392847 -0.707107 0.587938 +v -0.308658 -0.831470 0.461940 +v -0.212607 -0.923880 0.318190 +v -0.108386 -0.980785 0.162212 +v -0.000000 1.000000 0.000001 +v -0.137950 0.980785 0.137950 +v -0.270598 0.923880 0.270598 +v -0.392848 0.831470 0.392848 +v -0.500000 0.707107 0.500000 +v -0.587938 0.555570 0.587938 +v -0.653281 0.382683 0.653282 +v -0.693520 0.195090 0.693520 +v -0.707107 0.000000 0.707107 +v -0.693520 -0.195090 0.693520 +v -0.653281 -0.382683 0.653282 +v -0.587938 -0.555570 0.587938 +v -0.500000 -0.707107 0.500000 +v -0.392847 -0.831470 0.392848 +v -0.270598 -0.923880 0.270598 +v -0.137950 -0.980785 0.137950 +v -0.162212 0.980785 0.108387 +v -0.318190 0.923880 0.212608 +v -0.461940 0.831470 0.308659 +v -0.587938 0.707107 0.392848 +v -0.691342 0.555570 0.461940 +v -0.768178 0.382683 0.513280 +v -0.815493 0.195090 0.544895 +v -0.831470 0.000000 0.555570 +v -0.815493 -0.195090 0.544895 +v -0.768178 -0.382683 0.513280 +v -0.691342 -0.555570 0.461940 +v -0.587938 -0.707107 0.392848 +v -0.461940 -0.831470 0.308658 +v -0.318190 -0.923880 0.212608 +v -0.162212 -0.980785 0.108387 +v -0.180240 0.980785 0.074658 +v -0.353553 0.923880 0.146447 +v -0.513280 0.831470 0.212608 +v -0.653281 0.707107 0.270598 +v -0.768177 0.555570 0.318190 +v -0.853553 0.382683 0.353554 +v -0.906127 0.195090 0.375330 +v -0.923880 0.000000 0.382684 +v -0.906127 -0.195090 0.375330 +v -0.853553 -0.382683 0.353554 +v -0.768177 -0.555570 0.318190 +v -0.653281 -0.707107 0.270598 +v -0.513280 -0.831470 0.212608 +v -0.353553 -0.923880 0.146447 +v -0.180240 -0.980785 0.074658 +v -0.191342 0.980785 0.038061 +v -0.375330 0.923880 0.074658 +v -0.544895 0.831470 0.108387 +v -0.693520 0.707107 0.137950 +v -0.815493 0.555570 0.162212 +v -0.906127 0.382683 0.180240 +v -0.961939 0.195090 0.191342 +v -0.980785 0.000000 0.195090 +v -0.961939 -0.195090 0.191342 +v -0.906127 -0.382683 0.180240 +v -0.815493 -0.555570 0.162212 +v -0.693520 -0.707107 0.137950 +v -0.544895 -0.831470 0.108387 +v -0.375330 -0.923880 0.074658 +v -0.191342 -0.980785 0.038061 +v -0.195090 0.980785 0.000000 +v -0.382683 0.923880 0.000000 +v -0.555570 0.831470 0.000000 +v -0.707107 0.707107 0.000000 +v -0.831469 0.555570 0.000000 +v -0.923879 0.382683 0.000000 +v -0.980785 0.195090 0.000000 +v -1.000000 0.000000 0.000000 +v -0.980785 -0.195090 0.000000 +v -0.923879 -0.382683 0.000000 +v -0.831469 -0.555570 0.000000 +v -0.707107 -0.707107 0.000000 +v -0.555570 -0.831470 0.000000 +v -0.382683 -0.923880 0.000000 +v -0.195090 -0.980785 0.000000 +v -0.191342 0.980785 -0.038060 +v -0.375330 0.923880 -0.074658 +v -0.544895 0.831470 -0.108386 +v -0.693520 0.707107 -0.137949 +v -0.815493 0.555570 -0.162211 +v -0.906127 0.382683 -0.180240 +v -0.961939 0.195090 -0.191342 +v -0.980785 0.000000 -0.195090 +v -0.961939 -0.195090 -0.191342 +v -0.906127 -0.382683 -0.180240 +v -0.815493 -0.555570 -0.162211 +v -0.693520 -0.707107 -0.137949 +v -0.544895 -0.831470 -0.108386 +v -0.375330 -0.923880 -0.074658 +v -0.191342 -0.980785 -0.038060 +v -0.180240 0.980785 -0.074658 +v -0.353553 0.923880 -0.146446 +v -0.513280 0.831470 -0.212607 +v -0.653281 0.707107 -0.270598 +v -0.768177 0.555570 -0.318189 +v -0.853553 0.382683 -0.353553 +v -0.906127 0.195090 -0.375330 +v -0.923879 0.000000 -0.382683 +v -0.906127 -0.195090 -0.375330 +v -0.853553 -0.382683 -0.353553 +v -0.768177 -0.555570 -0.318189 +v -0.653281 -0.707107 -0.270598 +v -0.513280 -0.831470 -0.212607 +v -0.353553 -0.923880 -0.146446 +v -0.180240 -0.980785 -0.074657 +v -0.162212 0.980785 -0.108386 +v -0.318190 0.923880 -0.212607 +v -0.461940 0.831470 -0.308658 +v -0.587938 0.707107 -0.392847 +v -0.691341 0.555570 -0.461939 +v -0.768178 0.382683 -0.513280 +v -0.815493 0.195090 -0.544895 +v -0.831469 0.000000 -0.555570 +v -0.815493 -0.195090 -0.544895 +v -0.768178 -0.382683 -0.513280 +v -0.691341 -0.555570 -0.461939 +v -0.587938 -0.707107 -0.392847 +v -0.461940 -0.831470 -0.308658 +v -0.318189 -0.923880 -0.212607 +v -0.162212 -0.980785 -0.108386 +v -0.137950 0.980785 -0.137949 +v -0.270598 0.923880 -0.270598 +v -0.392847 0.831470 -0.392847 +v -0.500000 0.707107 -0.500000 +v -0.587937 0.555570 -0.587937 +v -0.653281 0.382683 -0.653281 +v -0.693519 0.195090 -0.693519 +v -0.707106 0.000000 -0.707106 +v -0.693519 -0.195090 -0.693519 +v -0.653281 -0.382683 -0.653281 +v -0.587937 -0.555570 -0.587937 +v -0.500000 -0.707107 -0.500000 +v -0.392847 -0.831470 -0.392847 +v -0.270598 -0.923880 -0.270598 +v -0.137950 -0.980785 -0.137949 +v -0.108386 0.980785 -0.162211 +v -0.212607 0.923880 -0.318189 +v -0.308658 0.831470 -0.461939 +v -0.392847 0.707107 -0.587937 +v -0.461939 0.555570 -0.691341 +v -0.513280 0.382683 -0.768177 +v -0.544895 0.195090 -0.815492 +v -0.555570 0.000000 -0.831469 +v -0.544895 -0.195090 -0.815492 +v -0.513280 -0.382683 -0.768177 +v -0.461939 -0.555570 -0.691341 +v -0.392847 -0.707107 -0.587937 +v -0.308658 -0.831470 -0.461939 +v -0.212607 -0.923880 -0.318189 +v -0.108386 -0.980785 -0.162211 +v -0.074658 0.980785 -0.180240 +v -0.146447 0.923880 -0.353553 +v -0.212607 0.831470 -0.513280 +v -0.270598 0.707107 -0.653281 +v -0.318189 0.555570 -0.768177 +v -0.353553 0.382683 -0.853553 +v -0.375330 0.195090 -0.906127 +v -0.382683 0.000000 -0.923879 +v -0.375330 -0.195090 -0.906127 +v -0.353553 -0.382683 -0.853553 +v -0.318189 -0.555570 -0.768177 +v -0.270598 -0.707107 -0.653281 +v -0.212607 -0.831470 -0.513279 +v -0.146446 -0.923880 -0.353553 +v -0.074658 -0.980785 -0.180240 +v -0.038060 0.980785 -0.191342 +v -0.074658 0.923880 -0.375330 +v -0.108386 0.831470 -0.544895 +v -0.137950 0.707107 -0.693520 +v -0.162211 0.555570 -0.815492 +v -0.180240 0.382683 -0.906127 +v -0.191341 0.195090 -0.961939 +v -0.195090 0.000000 -0.980785 +v -0.191341 -0.195090 -0.961939 +v -0.180240 -0.382683 -0.906127 +v -0.162211 -0.555570 -0.815492 +v -0.137950 -0.707107 -0.693520 +v -0.108386 -0.831470 -0.544895 +v -0.074658 -0.923880 -0.375330 +v -0.038060 -0.980785 -0.191341 +v 0.000000 -0.382683 -0.923879 +v 0.000000 -0.555570 -0.831469 +v 0.000000 -0.707107 -0.707106 +v 0.000000 -0.923880 -0.382683 +v 0.000000 -0.980785 -0.195090 +vt 0.750000 0.187500 +vt 0.750000 0.250000 +vt 0.718750 0.250000 +vt 0.718750 0.187500 +vt 0.750000 0.625000 +vt 0.750000 0.687500 +vt 0.718750 0.687500 +vt 0.718750 0.625000 +vt 0.750000 0.125000 +vt 0.718750 0.125000 +vt 0.750000 0.562500 +vt 0.718750 0.562500 +vt 0.750000 0.062500 +vt 0.718750 0.062500 +vt 0.750000 0.500000 +vt 0.718750 0.500000 +vt 0.750000 0.937500 +vt 0.734375 1.000000 +vt 0.718750 0.937500 +vt 0.734375 0.000000 +vt 0.750000 0.437500 +vt 0.718750 0.437500 +vt 0.750000 0.875000 +vt 0.718750 0.875000 +vt 0.750000 0.375000 +vt 0.718750 0.375000 +vt 0.750000 0.812500 +vt 0.718750 0.812500 +vt 0.750000 0.312500 +vt 0.718750 0.312500 +vt 0.750000 0.750000 +vt 0.718750 0.750000 +vt 0.687500 0.312500 +vt 0.687500 0.250000 +vt 0.687500 0.750000 +vt 0.687500 0.687500 +vt 0.687500 0.187500 +vt 0.687500 0.625000 +vt 0.687500 0.125000 +vt 0.687500 0.562500 +vt 0.687500 0.062500 +vt 0.687500 0.500000 +vt 0.703125 1.000000 +vt 0.687500 0.937500 +vt 0.703125 0.000000 +vt 0.687500 0.437500 +vt 0.687500 0.875000 +vt 0.687500 0.375000 +vt 0.687500 0.812500 +vt 0.671875 1.000000 +vt 0.656250 0.937500 +vt 0.671875 0.000000 +vt 0.656250 0.062500 +vt 0.656250 0.500000 +vt 0.656250 0.437500 +vt 0.656250 0.875000 +vt 0.656250 0.375000 +vt 0.656250 0.812500 +vt 0.656250 0.312500 +vt 0.656250 0.750000 +vt 0.656250 0.250000 +vt 0.656250 0.687500 +vt 0.656250 0.187500 +vt 0.656250 0.625000 +vt 0.656250 0.125000 +vt 0.656250 0.562500 +vt 0.625000 0.750000 +vt 0.625000 0.687500 +vt 0.625000 0.250000 +vt 0.625000 0.187500 +vt 0.625000 0.625000 +vt 0.625000 0.125000 +vt 0.625000 0.562500 +vt 0.625000 0.062500 +vt 0.625000 0.500000 +vt 0.640625 1.000000 +vt 0.625000 0.937500 +vt 0.640625 0.000000 +vt 0.625000 0.437500 +vt 0.625000 0.875000 +vt 0.625000 0.375000 +vt 0.625000 0.812500 +vt 0.625000 0.312500 +vt 0.593750 0.500000 +vt 0.593750 0.437500 +vt 0.593750 0.937500 +vt 0.593750 0.875000 +vt 0.593750 0.375000 +vt 0.593750 0.812500 +vt 0.593750 0.312500 +vt 0.593750 0.750000 +vt 0.593750 0.250000 +vt 0.593750 0.687500 +vt 0.593750 0.187500 +vt 0.593750 0.625000 +vt 0.593750 0.125000 +vt 0.593750 0.562500 +vt 0.593750 0.062500 +vt 0.609375 1.000000 +vt 0.609375 0.000000 +vt 0.562500 0.250000 +vt 0.562500 0.187500 +vt 0.562500 0.687500 +vt 0.562500 0.625000 +vt 0.562500 0.125000 +vt 0.562500 0.562500 +vt 0.562500 0.062500 +vt 0.562500 0.500000 +vt 0.578125 1.000000 +vt 0.562500 0.937500 +vt 0.578125 0.000000 +vt 0.562500 0.437500 +vt 0.562500 0.875000 +vt 0.562500 0.375000 +vt 0.562500 0.812500 +vt 0.562500 0.312500 +vt 0.562500 0.750000 +vt 0.531250 0.937500 +vt 0.531250 0.875000 +vt 0.531250 0.437500 +vt 0.531250 0.375000 +vt 0.531250 0.812500 +vt 0.531250 0.312500 +vt 0.531250 0.750000 +vt 0.531250 0.250000 +vt 0.531250 0.687500 +vt 0.531250 0.187500 +vt 0.531250 0.625000 +vt 0.531250 0.125000 +vt 0.531250 0.562500 +vt 0.531250 0.062500 +vt 0.531250 0.500000 +vt 0.546875 1.000000 +vt 0.546875 0.000000 +vt 0.500000 0.687500 +vt 0.500000 0.625000 +vt 0.500000 0.187500 +vt 0.500000 0.125000 +vt 0.500000 0.562500 +vt 0.500000 0.062500 +vt 0.500000 0.500000 +vt 0.515625 1.000000 +vt 0.500000 0.937500 +vt 0.515625 0.000000 +vt 0.500000 0.437500 +vt 0.500000 0.875000 +vt 0.500000 0.375000 +vt 0.500000 0.812500 +vt 0.500000 0.312500 +vt 0.500000 0.750000 +vt 0.500000 0.250000 +vt 0.468750 0.437500 +vt 0.468750 0.375000 +vt 0.468750 0.875000 +vt 0.468750 0.812500 +vt 0.468750 0.312500 +vt 0.468750 0.750000 +vt 0.468750 0.250000 +vt 0.468750 0.687500 +vt 0.468750 0.187500 +vt 0.468750 0.625000 +vt 0.468750 0.125000 +vt 0.468750 0.562500 +vt 0.468750 0.062500 +vt 0.468750 0.500000 +vt 0.484374 1.000000 +vt 0.468750 0.937500 +vt 0.484375 0.000000 +vt 0.437500 0.187500 +vt 0.437500 0.125000 +vt 0.437500 0.625000 +vt 0.437500 0.562500 +vt 0.437500 0.062500 +vt 0.437500 0.500000 +vt 0.453124 1.000000 +vt 0.437500 0.937500 +vt 0.453125 0.000000 +vt 0.437500 0.437500 +vt 0.437500 0.875000 +vt 0.437500 0.375000 +vt 0.437500 0.812500 +vt 0.437500 0.312500 +vt 0.437500 0.750000 +vt 0.437500 0.250000 +vt 0.437500 0.687500 +vt 0.406250 0.375000 +vt 0.406250 0.312500 +vt 0.406250 0.812500 +vt 0.406250 0.750000 +vt 0.406250 0.250000 +vt 0.406250 0.687500 +vt 0.406250 0.187500 +vt 0.406250 0.625000 +vt 0.406250 0.125000 +vt 0.406250 0.562500 +vt 0.406250 0.062500 +vt 0.406250 0.500000 +vt 0.421874 1.000000 +vt 0.406250 0.937500 +vt 0.421875 0.000000 +vt 0.406250 0.437500 +vt 0.406250 0.875000 +vt 0.375000 0.125000 +vt 0.375000 0.062500 +vt 0.375000 0.562500 +vt 0.375000 0.500000 +vt 0.390625 1.000000 +vt 0.375000 0.937500 +vt 0.390625 0.000000 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt 0.375000 0.375000 +vt 0.375000 0.812500 +vt 0.375000 0.312500 +vt 0.375000 0.750000 +vt 0.375000 0.250000 +vt 0.375000 0.687500 +vt 0.375000 0.187500 +vt 0.375000 0.625000 +vt 0.343750 0.812500 +vt 0.343750 0.750000 +vt 0.343750 0.312500 +vt 0.343750 0.250000 +vt 0.343750 0.687500 +vt 0.343750 0.187500 +vt 0.343750 0.625000 +vt 0.343750 0.125000 +vt 0.343750 0.562500 +vt 0.343750 0.062500 +vt 0.343750 0.500000 +vt 0.359375 1.000000 +vt 0.343750 0.937500 +vt 0.359375 0.000000 +vt 0.343750 0.437500 +vt 0.343750 0.875000 +vt 0.343750 0.375000 +vt 0.312500 0.562500 +vt 0.312500 0.500000 +vt 0.328125 1.000000 +vt 0.312500 0.937500 +vt 0.328125 0.000000 +vt 0.312500 0.062500 +vt 0.312500 0.437500 +vt 0.312500 0.875000 +vt 0.312500 0.375000 +vt 0.312500 0.812500 +vt 0.312500 0.312500 +vt 0.312500 0.750000 +vt 0.312500 0.250000 +vt 0.312500 0.687500 +vt 0.312500 0.187500 +vt 0.312500 0.625000 +vt 0.312500 0.125000 +vt 0.281250 0.312500 +vt 0.281250 0.250000 +vt 0.281250 0.750000 +vt 0.281250 0.687500 +vt 0.281250 0.187500 +vt 0.281250 0.625000 +vt 0.281250 0.125000 +vt 0.281250 0.562500 +vt 0.281250 0.062500 +vt 0.281250 0.500000 +vt 0.296875 1.000000 +vt 0.281250 0.937500 +vt 0.296875 0.000000 +vt 0.281250 0.437500 +vt 0.281250 0.875000 +vt 0.281250 0.375000 +vt 0.281250 0.812500 +vt 0.265625 1.000000 +vt 0.250000 0.937500 +vt 0.265625 0.000000 +vt 0.250000 0.062500 +vt 0.250000 0.500000 +vt 0.250000 0.437500 +vt 0.250000 0.875000 +vt 0.250000 0.375000 +vt 0.250000 0.812500 +vt 0.250000 0.312500 +vt 0.250000 0.750000 +vt 0.250000 0.250000 +vt 0.250000 0.687500 +vt 0.250000 0.187500 +vt 0.250000 0.625000 +vt 0.250000 0.125000 +vt 0.250000 0.562500 +vt 0.218750 0.750000 +vt 0.218750 0.687500 +vt 0.218750 0.250000 +vt 0.218750 0.187500 +vt 0.218750 0.625000 +vt 0.218750 0.125000 +vt 0.218750 0.562500 +vt 0.218750 0.062500 +vt 0.218750 0.500000 +vt 0.234375 1.000000 +vt 0.218750 0.937500 +vt 0.234375 0.000000 +vt 0.218750 0.437500 +vt 0.218750 0.875000 +vt 0.218750 0.375000 +vt 0.218750 0.812500 +vt 0.218750 0.312500 +vt 0.187500 0.500000 +vt 0.187500 0.437500 +vt 0.187500 0.937500 +vt 0.187500 0.875000 +vt 0.187500 0.375000 +vt 0.187500 0.812500 +vt 0.187500 0.312500 +vt 0.187500 0.750000 +vt 0.187500 0.250000 +vt 0.187500 0.687500 +vt 0.187500 0.187500 +vt 0.187500 0.625000 +vt 0.187500 0.125000 +vt 0.187500 0.562500 +vt 0.187500 0.062500 +vt 0.203125 1.000000 +vt 0.203125 0.000000 +vt 0.156250 0.250000 +vt 0.156250 0.187500 +vt 0.156250 0.687500 +vt 0.156250 0.625000 +vt 0.156250 0.125000 +vt 0.156250 0.562500 +vt 0.156250 0.062500 +vt 0.156250 0.500000 +vt 0.171875 1.000000 +vt 0.156250 0.937500 +vt 0.171875 0.000000 +vt 0.156250 0.437500 +vt 0.156250 0.875000 +vt 0.156250 0.375000 +vt 0.156250 0.812500 +vt 0.156250 0.312500 +vt 0.156250 0.750000 +vt 0.125000 0.437500 +vt 0.125000 0.375000 +vt 0.125000 0.875000 +vt 0.125000 0.812500 +vt 0.125000 0.312500 +vt 0.125000 0.750000 +vt 0.125000 0.250000 +vt 0.125000 0.687500 +vt 0.125000 0.187500 +vt 0.125000 0.625000 +vt 0.125000 0.125000 +vt 0.125000 0.562500 +vt 0.125000 0.062500 +vt 0.125000 0.500000 +vt 0.140625 1.000000 +vt 0.125000 0.937500 +vt 0.140625 0.000000 +vt 0.093750 0.187500 +vt 0.093750 0.125000 +vt 0.093750 0.625000 +vt 0.093750 0.562500 +vt 0.093750 0.062500 +vt 0.093750 0.500000 +vt 0.109375 1.000000 +vt 0.093750 0.937500 +vt 0.109375 0.000000 +vt 0.093750 0.437500 +vt 0.093750 0.875000 +vt 0.093750 0.375000 +vt 0.093750 0.812500 +vt 0.093750 0.312500 +vt 0.093750 0.750000 +vt 0.093750 0.250000 +vt 0.093750 0.687500 +vt 0.062500 0.875000 +vt 0.062500 0.812500 +vt 0.062500 0.375000 +vt 0.062500 0.312500 +vt 0.062500 0.750000 +vt 0.062500 0.250000 +vt 0.062500 0.687500 +vt 0.062500 0.187500 +vt 0.062500 0.625000 +vt 0.062500 0.125000 +vt 0.062500 0.562500 +vt 0.062500 0.062500 +vt 0.062500 0.500000 +vt 0.078125 1.000000 +vt 0.062500 0.937500 +vt 0.078125 0.000000 +vt 0.062500 0.437500 +vt 0.031250 0.625000 +vt 0.031250 0.562500 +vt 0.031250 0.125000 +vt 0.031250 0.062500 +vt 0.031250 0.500000 +vt 0.046875 1.000000 +vt 0.031250 0.937500 +vt 0.046875 0.000000 +vt 0.031250 0.437500 +vt 0.031250 0.875000 +vt 0.031250 0.375000 +vt 0.031250 0.812500 +vt 0.031250 0.312500 +vt 0.031250 0.750000 +vt 0.031250 0.250000 +vt 0.031250 0.687500 +vt 0.031250 0.187500 +vt 0.000000 0.375000 +vt 0.000000 0.312500 +vt 0.000000 0.812500 +vt 0.000000 0.750000 +vt 0.000000 0.250000 +vt 0.000000 0.687500 +vt 0.000000 0.187500 +vt 0.000000 0.625000 +vt 0.000000 0.125000 +vt 0.000000 0.562500 +vt 0.000000 0.062500 +vt 0.000000 0.500000 +vt 0.015625 1.000000 +vt 0.000000 0.937500 +vt 0.015625 0.000000 +vt 0.000000 0.437500 +vt 0.000000 0.875000 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 0.968750 0.125000 +vt 0.968750 0.062500 +vt 1.000000 0.500000 +vt 1.000000 0.562500 +vt 0.968750 0.562500 +vt 0.968750 0.500000 +vt 1.000000 0.937500 +vt 0.984375 1.000000 +vt 0.968750 0.937500 +vt 0.984375 0.000000 +vt 1.000000 0.437500 +vt 0.968750 0.437500 +vt 1.000000 0.875000 +vt 0.968750 0.875000 +vt 1.000000 0.375000 +vt 0.968750 0.375000 +vt 1.000000 0.812500 +vt 0.968750 0.812500 +vt 1.000000 0.312500 +vt 0.968750 0.312500 +vt 1.000000 0.750000 +vt 0.968750 0.750000 +vt 1.000000 0.250000 +vt 0.968750 0.250000 +vt 1.000000 0.687500 +vt 0.968750 0.687500 +vt 1.000000 0.187500 +vt 0.968750 0.187500 +vt 1.000000 0.625000 +vt 0.968750 0.625000 +vt 0.937500 0.812500 +vt 0.937500 0.750000 +vt 0.937500 0.312500 +vt 0.937500 0.250000 +vt 0.937500 0.687500 +vt 0.937500 0.187500 +vt 0.937500 0.625000 +vt 0.937500 0.125000 +vt 0.937500 0.562500 +vt 0.937500 0.062500 +vt 0.937500 0.500000 +vt 0.953125 1.000000 +vt 0.937500 0.937500 +vt 0.953125 0.000000 +vt 0.937500 0.437500 +vt 0.937500 0.875000 +vt 0.937500 0.375000 +vt 0.906250 0.562500 +vt 0.906250 0.500000 +vt 0.921875 1.000000 +vt 0.906250 0.937500 +vt 0.921875 0.000000 +vt 0.906250 0.062500 +vt 0.906250 0.437500 +vt 0.906250 0.875000 +vt 0.906250 0.375000 +vt 0.906250 0.812500 +vt 0.906250 0.312500 +vt 0.906250 0.750000 +vt 0.906250 0.250000 +vt 0.906250 0.687500 +vt 0.906250 0.187500 +vt 0.906250 0.625000 +vt 0.906250 0.125000 +vt 0.875000 0.312500 +vt 0.875000 0.250000 +vt 0.875000 0.750000 +vt 0.875000 0.687500 +vt 0.875000 0.187500 +vt 0.875000 0.625000 +vt 0.875000 0.125000 +vt 0.875000 0.562500 +vt 0.875000 0.062500 +vt 0.875000 0.500000 +vt 0.890625 1.000000 +vt 0.875000 0.937500 +vt 0.890625 0.000000 +vt 0.875000 0.437500 +vt 0.875000 0.875000 +vt 0.875000 0.375000 +vt 0.875000 0.812500 +vt 0.859375 0.000000 +vt 0.843750 0.062500 +vt 0.843750 0.500000 +vt 0.843750 0.437500 +vt 0.843750 0.937500 +vt 0.843750 0.875000 +vt 0.843750 0.375000 +vt 0.843750 0.812500 +vt 0.843750 0.312500 +vt 0.843750 0.750000 +vt 0.843750 0.250000 +vt 0.843750 0.687500 +vt 0.843750 0.187500 +vt 0.843750 0.625000 +vt 0.843750 0.125000 +vt 0.843750 0.562500 +vt 0.859375 1.000000 +vt 0.812500 0.250000 +vt 0.812500 0.187500 +vt 0.812500 0.687500 +vt 0.812500 0.625000 +vt 0.812500 0.125000 +vt 0.812500 0.562500 +vt 0.812500 0.062500 +vt 0.812500 0.500000 +vt 0.828125 1.000000 +vt 0.812500 0.937500 +vt 0.828125 0.000000 +vt 0.812500 0.437500 +vt 0.812500 0.875000 +vt 0.812500 0.375000 +vt 0.812500 0.812500 +vt 0.812500 0.312500 +vt 0.812500 0.750000 +vt 0.781250 0.937500 +vt 0.781250 0.875000 +vt 0.781250 0.437500 +vt 0.781250 0.375000 +vt 0.781250 0.812500 +vt 0.781250 0.312500 +vt 0.781250 0.750000 +vt 0.781250 0.250000 +vt 0.781250 0.687500 +vt 0.781250 0.187500 +vt 0.781250 0.625000 +vt 0.781250 0.125000 +vt 0.781250 0.562500 +vt 0.781250 0.062500 +vt 0.781250 0.500000 +vt 0.796875 1.000000 +vt 0.796875 0.000000 +vt 0.765625 1.000000 +vt 0.765625 0.000000 +vn 0.0000 -0.8286 -0.5598 +vn 0.0000 -0.7040 -0.7101 +vn 0.1385 -0.7040 -0.6965 +vn 0.1092 -0.8286 -0.5490 +vn 0.0000 0.3805 -0.9247 +vn 0.0000 0.5528 -0.8333 +vn 0.1626 0.5528 -0.8173 +vn 0.1804 0.3805 -0.9070 +vn 0.0000 -0.9217 -0.3879 +vn 0.0757 -0.9217 -0.3804 +vn 0.0000 0.1939 -0.9810 +vn 0.1914 0.1939 -0.9622 +vn 0.0000 -0.9796 -0.2010 +vn 0.0392 -0.9796 -0.1971 +vn 0.0000 0.0000 -1.0000 +vn 0.1951 0.0000 -0.9808 +vn 0.0000 0.9796 -0.2010 +vn 0.0000 1.0000 0.0000 +vn 0.0392 0.9796 -0.1971 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.1939 -0.9810 +vn 0.1914 -0.1939 -0.9622 +vn 0.0000 0.9217 -0.3879 +vn 0.0757 0.9217 -0.3804 +vn 0.0000 -0.3805 -0.9247 +vn 0.1804 -0.3805 -0.9070 +vn 0.0000 0.8286 -0.5598 +vn 0.1092 0.8286 -0.5490 +vn 0.0000 -0.5528 -0.8333 +vn 0.1626 -0.5528 -0.8173 +vn 0.0000 0.7040 -0.7101 +vn 0.1385 0.7040 -0.6965 +vn 0.3189 -0.5528 -0.7699 +vn 0.2717 -0.7040 -0.6561 +vn 0.2717 0.7040 -0.6561 +vn 0.3189 0.5528 -0.7699 +vn 0.2142 -0.8286 -0.5171 +vn 0.3539 0.3805 -0.8544 +vn 0.1484 -0.9217 -0.3583 +vn 0.3754 0.1939 -0.9063 +vn 0.0769 -0.9796 -0.1856 +vn 0.3827 0.0000 -0.9239 +vn 0.0769 0.9796 -0.1856 +vn 0.3754 -0.1939 -0.9063 +vn 0.1484 0.9217 -0.3583 +vn 0.3539 -0.3805 -0.8544 +vn 0.2142 0.8286 -0.5171 +vn 0.1116 0.9796 -0.1671 +vn 0.1116 -0.9796 -0.1671 +vn 0.5556 0.0000 -0.8314 +vn 0.5450 -0.1939 -0.8157 +vn 0.2155 0.9217 -0.3225 +vn 0.5137 -0.3805 -0.7689 +vn 0.3110 0.8286 -0.4654 +vn 0.4630 -0.5528 -0.6929 +vn 0.3945 0.7040 -0.5904 +vn 0.3945 -0.7040 -0.5904 +vn 0.4630 0.5528 -0.6929 +vn 0.3110 -0.8286 -0.4654 +vn 0.5137 0.3805 -0.7689 +vn 0.2155 -0.9217 -0.3225 +vn 0.5450 0.1939 -0.8157 +vn 0.5021 0.7040 -0.5021 +vn 0.5893 0.5528 -0.5893 +vn 0.5021 -0.7040 -0.5021 +vn 0.3958 -0.8286 -0.3958 +vn 0.6539 0.3805 -0.6539 +vn 0.2743 -0.9217 -0.2743 +vn 0.6937 0.1939 -0.6937 +vn 0.1421 -0.9796 -0.1421 +vn 0.7071 0.0000 -0.7071 +vn 0.1421 0.9796 -0.1421 +vn 0.6937 -0.1939 -0.6937 +vn 0.2743 0.9217 -0.2743 +vn 0.6539 -0.3805 -0.6539 +vn 0.3958 0.8286 -0.3958 +vn 0.5893 -0.5528 -0.5893 +vn 0.8314 0.0000 -0.5556 +vn 0.8157 -0.1939 -0.5450 +vn 0.1671 0.9796 -0.1116 +vn 0.3225 0.9217 -0.2155 +vn 0.7689 -0.3805 -0.5137 +vn 0.4654 0.8286 -0.3110 +vn 0.6929 -0.5528 -0.4630 +vn 0.5904 0.7040 -0.3945 +vn 0.5904 -0.7040 -0.3945 +vn 0.6929 0.5528 -0.4630 +vn 0.4654 -0.8286 -0.3110 +vn 0.7689 0.3805 -0.5137 +vn 0.3225 -0.9217 -0.2155 +vn 0.8157 0.1939 -0.5450 +vn 0.1671 -0.9796 -0.1116 +vn 0.6561 -0.7040 -0.2717 +vn 0.5171 -0.8286 -0.2142 +vn 0.7699 0.5528 -0.3189 +vn 0.8544 0.3805 -0.3539 +vn 0.3583 -0.9217 -0.1484 +vn 0.9063 0.1939 -0.3754 +vn 0.1856 -0.9796 -0.0769 +vn 0.9239 0.0000 -0.3827 +vn 0.1856 0.9796 -0.0769 +vn 0.9063 -0.1939 -0.3754 +vn 0.3583 0.9217 -0.1484 +vn 0.8544 -0.3805 -0.3539 +vn 0.5171 0.8286 -0.2142 +vn 0.7699 -0.5528 -0.3189 +vn 0.6561 0.7040 -0.2717 +vn 0.1971 0.9796 -0.0392 +vn 0.3804 0.9217 -0.0757 +vn 0.9622 -0.1939 -0.1914 +vn 0.9070 -0.3805 -0.1804 +vn 0.5490 0.8286 -0.1092 +vn 0.8173 -0.5528 -0.1626 +vn 0.6965 0.7040 -0.1385 +vn 0.6965 -0.7040 -0.1385 +vn 0.8173 0.5528 -0.1626 +vn 0.5490 -0.8286 -0.1092 +vn 0.9070 0.3805 -0.1804 +vn 0.3804 -0.9217 -0.0757 +vn 0.9622 0.1939 -0.1914 +vn 0.1971 -0.9796 -0.0392 +vn 0.9808 0.0000 -0.1951 +vn 0.8333 0.5528 0.0000 +vn 0.9247 0.3805 0.0000 +vn 0.5598 -0.8286 0.0000 +vn 0.3879 -0.9217 0.0000 +vn 0.9810 0.1939 0.0000 +vn 0.2010 -0.9796 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.2010 0.9796 0.0000 +vn 0.9810 -0.1939 0.0000 +vn 0.3879 0.9217 0.0000 +vn 0.9247 -0.3805 0.0000 +vn 0.5598 0.8286 0.0000 +vn 0.8333 -0.5528 0.0000 +vn 0.7101 0.7040 0.0000 +vn 0.7101 -0.7040 0.0000 +vn 0.9622 -0.1939 0.1914 +vn 0.9070 -0.3805 0.1804 +vn 0.3804 0.9217 0.0757 +vn 0.5490 0.8286 0.1092 +vn 0.8173 -0.5528 0.1626 +vn 0.6965 0.7040 0.1385 +vn 0.6965 -0.7040 0.1385 +vn 0.8173 0.5528 0.1626 +vn 0.5490 -0.8286 0.1092 +vn 0.9070 0.3805 0.1804 +vn 0.3804 -0.9217 0.0757 +vn 0.9622 0.1939 0.1914 +vn 0.1971 -0.9796 0.0392 +vn 0.9808 0.0000 0.1951 +vn 0.1971 0.9796 0.0392 +vn 0.5171 -0.8286 0.2142 +vn 0.3583 -0.9217 0.1484 +vn 0.8544 0.3805 0.3539 +vn 0.9063 0.1939 0.3754 +vn 0.1856 -0.9796 0.0769 +vn 0.9239 0.0000 0.3827 +vn 0.1856 0.9796 0.0769 +vn 0.9063 -0.1939 0.3754 +vn 0.3583 0.9217 0.1484 +vn 0.8544 -0.3805 0.3539 +vn 0.5171 0.8286 0.2142 +vn 0.7699 -0.5528 0.3189 +vn 0.6561 0.7040 0.2717 +vn 0.6561 -0.7040 0.2717 +vn 0.7699 0.5528 0.3189 +vn 0.7689 -0.3805 0.5137 +vn 0.6929 -0.5528 0.4630 +vn 0.4654 0.8286 0.3110 +vn 0.5904 0.7040 0.3945 +vn 0.5904 -0.7040 0.3945 +vn 0.6929 0.5528 0.4630 +vn 0.4654 -0.8286 0.3110 +vn 0.7689 0.3805 0.5137 +vn 0.3225 -0.9217 0.2155 +vn 0.8157 0.1939 0.5450 +vn 0.1671 -0.9796 0.1116 +vn 0.8314 0.0000 0.5556 +vn 0.1671 0.9796 0.1116 +vn 0.8157 -0.1939 0.5450 +vn 0.3225 0.9217 0.2155 +vn 0.2743 -0.9217 0.2743 +vn 0.1421 -0.9796 0.1421 +vn 0.6937 0.1939 0.6937 +vn 0.7071 0.0000 0.7071 +vn 0.1421 0.9796 0.1421 +vn 0.6937 -0.1939 0.6937 +vn 0.2743 0.9217 0.2743 +vn 0.6539 -0.3805 0.6539 +vn 0.3958 0.8286 0.3958 +vn 0.5893 -0.5528 0.5893 +vn 0.5021 0.7040 0.5021 +vn 0.5021 -0.7040 0.5021 +vn 0.5893 0.5528 0.5893 +vn 0.3958 -0.8286 0.3958 +vn 0.6539 0.3805 0.6539 +vn 0.3110 0.8286 0.4654 +vn 0.3945 0.7040 0.5904 +vn 0.4630 -0.5528 0.6929 +vn 0.3945 -0.7040 0.5904 +vn 0.4630 0.5528 0.6929 +vn 0.3110 -0.8286 0.4654 +vn 0.5137 0.3805 0.7689 +vn 0.2155 -0.9217 0.3225 +vn 0.5450 0.1939 0.8157 +vn 0.1116 -0.9796 0.1671 +vn 0.5556 0.0000 0.8314 +vn 0.1116 0.9796 0.1671 +vn 0.5450 -0.1939 0.8157 +vn 0.2155 0.9217 0.3225 +vn 0.5137 -0.3805 0.7689 +vn 0.3754 0.1939 0.9063 +vn 0.3827 0.0000 0.9239 +vn 0.0769 0.9796 0.1856 +vn 0.0769 -0.9796 0.1856 +vn 0.3754 -0.1939 0.9063 +vn 0.1484 0.9217 0.3583 +vn 0.3539 -0.3805 0.8544 +vn 0.2142 0.8286 0.5171 +vn 0.3189 -0.5528 0.7699 +vn 0.2717 0.7040 0.6561 +vn 0.2717 -0.7040 0.6561 +vn 0.3189 0.5528 0.7699 +vn 0.2142 -0.8286 0.5171 +vn 0.3539 0.3805 0.8544 +vn 0.1484 -0.9217 0.3583 +vn 0.1626 -0.5528 0.8173 +vn 0.1385 -0.7040 0.6965 +vn 0.1385 0.7040 0.6965 +vn 0.1626 0.5528 0.8173 +vn 0.1092 -0.8286 0.5490 +vn 0.1804 0.3805 0.9070 +vn 0.0757 -0.9217 0.3804 +vn 0.1914 0.1939 0.9622 +vn 0.0392 -0.9796 0.1971 +vn 0.1951 0.0000 0.9808 +vn 0.0392 0.9796 0.1971 +vn 0.1914 -0.1939 0.9622 +vn 0.0757 0.9217 0.3804 +vn 0.1804 -0.3805 0.9070 +vn 0.1092 0.8286 0.5490 +vn 0.0000 0.9796 0.2010 +vn 0.0000 -0.9796 0.2010 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.1939 0.9810 +vn 0.0000 0.9217 0.3879 +vn 0.0000 -0.3805 0.9247 +vn 0.0000 0.8286 0.5598 +vn 0.0000 -0.5528 0.8333 +vn 0.0000 0.7040 0.7101 +vn 0.0000 -0.7040 0.7101 +vn 0.0000 0.5528 0.8333 +vn 0.0000 -0.8286 0.5598 +vn 0.0000 0.3805 0.9247 +vn 0.0000 -0.9217 0.3879 +vn 0.0000 0.1939 0.9810 +vn -0.1385 0.7040 0.6965 +vn -0.1626 0.5528 0.8173 +vn -0.1385 -0.7040 0.6965 +vn -0.1092 -0.8286 0.5490 +vn -0.1804 0.3805 0.9070 +vn -0.0757 -0.9217 0.3804 +vn -0.1914 0.1939 0.9622 +vn -0.0392 -0.9796 0.1971 +vn -0.1951 0.0000 0.9808 +vn -0.0392 0.9796 0.1971 +vn -0.1914 -0.1939 0.9622 +vn -0.0757 0.9217 0.3804 +vn -0.1804 -0.3805 0.9070 +vn -0.1092 0.8286 0.5490 +vn -0.1626 -0.5528 0.8173 +vn -0.3827 0.0000 0.9239 +vn -0.3754 -0.1939 0.9063 +vn -0.0769 0.9796 0.1856 +vn -0.1484 0.9217 0.3583 +vn -0.3539 -0.3805 0.8544 +vn -0.2142 0.8286 0.5171 +vn -0.3189 -0.5528 0.7699 +vn -0.2717 0.7040 0.6561 +vn -0.2717 -0.7040 0.6561 +vn -0.3189 0.5528 0.7699 +vn -0.2142 -0.8286 0.5171 +vn -0.3539 0.3805 0.8544 +vn -0.1484 -0.9217 0.3583 +vn -0.3754 0.1939 0.9063 +vn -0.0769 -0.9796 0.1856 +vn -0.3945 -0.7040 0.5904 +vn -0.3110 -0.8286 0.4654 +vn -0.4630 0.5528 0.6929 +vn -0.5137 0.3805 0.7689 +vn -0.2155 -0.9217 0.3225 +vn -0.5450 0.1939 0.8157 +vn -0.1116 -0.9796 0.1671 +vn -0.5556 0.0000 0.8314 +vn -0.1116 0.9796 0.1671 +vn -0.5450 -0.1939 0.8157 +vn -0.2155 0.9217 0.3225 +vn -0.5137 -0.3805 0.7689 +vn -0.3110 0.8286 0.4654 +vn -0.4630 -0.5528 0.6929 +vn -0.3945 0.7040 0.5904 +vn -0.6937 -0.1939 0.6937 +vn -0.6539 -0.3805 0.6539 +vn -0.2743 0.9217 0.2743 +vn -0.3958 0.8286 0.3958 +vn -0.5893 -0.5528 0.5893 +vn -0.5021 0.7040 0.5021 +vn -0.5021 -0.7040 0.5021 +vn -0.5893 0.5528 0.5893 +vn -0.3958 -0.8286 0.3958 +vn -0.6539 0.3805 0.6539 +vn -0.2743 -0.9217 0.2743 +vn -0.6937 0.1939 0.6937 +vn -0.1421 -0.9796 0.1421 +vn -0.7071 0.0000 0.7071 +vn -0.1421 0.9796 0.1421 +vn -0.4654 -0.8286 0.3110 +vn -0.3225 -0.9217 0.2155 +vn -0.7689 0.3805 0.5137 +vn -0.8157 0.1939 0.5450 +vn -0.1671 -0.9796 0.1116 +vn -0.8314 0.0000 0.5556 +vn -0.1671 0.9796 0.1116 +vn -0.8157 -0.1939 0.5450 +vn -0.3225 0.9217 0.2155 +vn -0.7689 -0.3805 0.5137 +vn -0.4654 0.8286 0.3110 +vn -0.6929 -0.5528 0.4630 +vn -0.5904 0.7040 0.3945 +vn -0.5904 -0.7040 0.3945 +vn -0.6929 0.5528 0.4630 +vn -0.3583 0.9217 0.1484 +vn -0.5171 0.8286 0.2142 +vn -0.8544 -0.3805 0.3539 +vn -0.7699 -0.5528 0.3189 +vn -0.6561 0.7040 0.2717 +vn -0.6561 -0.7040 0.2717 +vn -0.7699 0.5528 0.3189 +vn -0.5171 -0.8286 0.2142 +vn -0.8544 0.3805 0.3539 +vn -0.3583 -0.9217 0.1484 +vn -0.9063 0.1939 0.3754 +vn -0.1856 -0.9796 0.0769 +vn -0.9239 0.0000 0.3827 +vn -0.1856 0.9796 0.0769 +vn -0.9063 -0.1939 0.3754 +vn -0.9070 0.3805 0.1804 +vn -0.9622 0.1939 0.1914 +vn -0.3804 -0.9217 0.0757 +vn -0.1971 -0.9796 0.0392 +vn -0.9808 0.0000 0.1951 +vn -0.1971 0.9796 0.0392 +vn -0.9622 -0.1939 0.1914 +vn -0.3804 0.9217 0.0757 +vn -0.9070 -0.3805 0.1804 +vn -0.5490 0.8286 0.1092 +vn -0.8173 -0.5528 0.1626 +vn -0.6965 0.7040 0.1385 +vn -0.6965 -0.7040 0.1385 +vn -0.8173 0.5528 0.1626 +vn -0.5490 -0.8286 0.1092 +vn -0.9247 -0.3805 0.0000 +vn -0.8333 -0.5528 0.0000 +vn -0.5598 0.8286 0.0000 +vn -0.7101 0.7040 0.0000 +vn -0.7101 -0.7040 0.0000 +vn -0.8333 0.5528 0.0000 +vn -0.5598 -0.8286 0.0000 +vn -0.9247 0.3805 0.0000 +vn -0.3879 -0.9217 0.0000 +vn -0.9810 0.1939 0.0000 +vn -0.2010 -0.9796 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.2010 0.9796 0.0000 +vn -0.9810 -0.1939 0.0000 +vn -0.3879 0.9217 0.0000 +vn -0.3804 -0.9217 -0.0757 +vn -0.1971 -0.9796 -0.0392 +vn -0.9622 0.1939 -0.1914 +vn -0.9808 0.0000 -0.1951 +vn -0.1971 0.9796 -0.0392 +vn -0.9622 -0.1939 -0.1914 +vn -0.3804 0.9217 -0.0757 +vn -0.9070 -0.3805 -0.1804 +vn -0.5490 0.8286 -0.1092 +vn -0.8173 -0.5528 -0.1626 +vn -0.6965 0.7040 -0.1385 +vn -0.6965 -0.7040 -0.1385 +vn -0.8173 0.5528 -0.1626 +vn -0.5490 -0.8286 -0.1092 +vn -0.9070 0.3805 -0.1804 +vn -0.5171 0.8286 -0.2142 +vn -0.6561 0.7040 -0.2717 +vn -0.7699 -0.5528 -0.3189 +vn -0.6561 -0.7040 -0.2717 +vn -0.7699 0.5528 -0.3189 +vn -0.5171 -0.8286 -0.2142 +vn -0.8544 0.3805 -0.3539 +vn -0.3583 -0.9217 -0.1484 +vn -0.9063 0.1939 -0.3754 +vn -0.1856 -0.9796 -0.0769 +vn -0.9239 0.0000 -0.3827 +vn -0.1856 0.9796 -0.0769 +vn -0.9063 -0.1939 -0.3754 +vn -0.3583 0.9217 -0.1484 +vn -0.8544 -0.3805 -0.3539 +vn -0.8157 0.1939 -0.5450 +vn -0.8314 0.0000 -0.5556 +vn -0.1671 0.9796 -0.1116 +vn -0.1671 -0.9796 -0.1116 +vn -0.8157 -0.1939 -0.5450 +vn -0.3225 0.9217 -0.2155 +vn -0.7689 -0.3805 -0.5137 +vn -0.4654 0.8286 -0.3110 +vn -0.6929 -0.5528 -0.4630 +vn -0.5904 0.7040 -0.3945 +vn -0.5904 -0.7040 -0.3945 +vn -0.6929 0.5528 -0.4630 +vn -0.4654 -0.8286 -0.3110 +vn -0.7689 0.3805 -0.5137 +vn -0.3225 -0.9217 -0.2155 +vn -0.5893 -0.5528 -0.5893 +vn -0.5021 -0.7040 -0.5021 +vn -0.5021 0.7040 -0.5021 +vn -0.5893 0.5528 -0.5893 +vn -0.3958 -0.8286 -0.3958 +vn -0.6539 0.3805 -0.6539 +vn -0.2743 -0.9217 -0.2743 +vn -0.6937 0.1939 -0.6937 +vn -0.1421 -0.9796 -0.1421 +vn -0.7071 0.0000 -0.7071 +vn -0.1421 0.9796 -0.1421 +vn -0.6937 -0.1939 -0.6937 +vn -0.2743 0.9217 -0.2743 +vn -0.6539 -0.3805 -0.6539 +vn -0.3958 0.8286 -0.3958 +vn -0.1116 -0.9796 -0.1671 +vn -0.5556 0.0000 -0.8314 +vn -0.5450 -0.1939 -0.8157 +vn -0.1116 0.9796 -0.1671 +vn -0.2155 0.9217 -0.3225 +vn -0.5137 -0.3805 -0.7689 +vn -0.3110 0.8286 -0.4654 +vn -0.4630 -0.5528 -0.6929 +vn -0.3945 0.7040 -0.5904 +vn -0.3945 -0.7040 -0.5904 +vn -0.4630 0.5528 -0.6929 +vn -0.3110 -0.8286 -0.4654 +vn -0.5137 0.3805 -0.7689 +vn -0.2155 -0.9217 -0.3225 +vn -0.5450 0.1939 -0.8157 +vn -0.2717 -0.7040 -0.6561 +vn -0.2142 -0.8286 -0.5171 +vn -0.3189 0.5528 -0.7699 +vn -0.3539 0.3805 -0.8544 +vn -0.1484 -0.9217 -0.3583 +vn -0.3754 0.1939 -0.9063 +vn -0.0769 -0.9796 -0.1856 +vn -0.3827 0.0000 -0.9239 +vn -0.0769 0.9796 -0.1856 +vn -0.3754 -0.1939 -0.9063 +vn -0.1484 0.9217 -0.3583 +vn -0.3539 -0.3805 -0.8544 +vn -0.2142 0.8286 -0.5171 +vn -0.3189 -0.5528 -0.7699 +vn -0.2717 0.7040 -0.6561 +vn -0.0392 0.9796 -0.1971 +vn -0.0757 0.9217 -0.3804 +vn -0.1914 -0.1939 -0.9622 +vn -0.1804 -0.3805 -0.9070 +vn -0.1092 0.8286 -0.5490 +vn -0.1626 -0.5528 -0.8173 +vn -0.1385 0.7040 -0.6965 +vn -0.1385 -0.7040 -0.6965 +vn -0.1626 0.5528 -0.8173 +vn -0.1092 -0.8286 -0.5490 +vn -0.1804 0.3805 -0.9070 +vn -0.0757 -0.9217 -0.3804 +vn -0.1914 0.1939 -0.9622 +vn -0.0392 -0.9796 -0.1971 +vn -0.1951 0.0000 -0.9808 +usemtl Material.001 +s 1 +f 10/1/1 480/2/2 22/3/3 23/4/4 +f 6/5/5 5/6/6 15/7/7 16/8/8 +f 481/9/9 10/1/1 23/4/4 24/10/10 +f 7/11/11 6/5/5 16/8/8 17/12/12 +f 482/13/13 481/9/9 24/10/10 25/14/14 +f 8/15/15 7/11/11 17/12/12 18/16/16 +f 1/17/17 297/18/18 11/19/19 +f 206/20/20 482/13/13 25/14/14 +f 9/21/21 8/15/15 18/16/16 19/22/22 +f 2/23/23 1/17/17 11/19/19 12/24/24 +f 478/25/25 9/21/21 19/22/22 20/26/26 +f 3/27/27 2/23/23 12/24/24 13/28/28 +f 479/29/29 478/25/25 20/26/26 21/30/30 +f 4/31/31 3/27/27 13/28/28 14/32/32 +f 480/2/2 479/29/29 21/30/30 22/3/3 +f 5/6/6 4/31/31 14/32/32 15/7/7 +f 22/3/3 21/30/30 36/33/33 37/34/34 +f 15/7/7 14/32/32 29/35/35 30/36/36 +f 23/4/4 22/3/3 37/34/34 38/37/37 +f 16/8/8 15/7/7 30/36/36 31/38/38 +f 24/10/10 23/4/4 38/37/37 39/39/39 +f 17/12/12 16/8/8 31/38/38 32/40/40 +f 25/14/14 24/10/10 39/39/39 40/41/41 +f 18/16/16 17/12/12 32/40/40 33/42/42 +f 11/19/19 297/43/18 26/44/43 +f 206/45/20 25/14/14 40/41/41 +f 19/22/22 18/16/16 33/42/42 34/46/44 +f 12/24/24 11/19/19 26/44/43 27/47/45 +f 20/26/26 19/22/22 34/46/44 35/48/46 +f 13/28/28 12/24/24 27/47/45 28/49/47 +f 21/30/30 20/26/26 35/48/46 36/33/33 +f 14/32/32 13/28/28 28/49/47 29/35/35 +f 26/44/43 297/50/18 41/51/48 +f 206/52/20 40/41/41 55/53/49 +f 34/46/44 33/42/42 48/54/50 49/55/51 +f 27/47/45 26/44/43 41/51/48 42/56/52 +f 35/48/46 34/46/44 49/55/51 50/57/53 +f 28/49/47 27/47/45 42/56/52 43/58/54 +f 36/33/33 35/48/46 50/57/53 51/59/55 +f 29/35/35 28/49/47 43/58/54 44/60/56 +f 37/34/34 36/33/33 51/59/55 52/61/57 +f 30/36/36 29/35/35 44/60/56 45/62/58 +f 38/37/37 37/34/34 52/61/57 53/63/59 +f 31/38/38 30/36/36 45/62/58 46/64/60 +f 39/39/39 38/37/37 53/63/59 54/65/61 +f 32/40/40 31/38/38 46/64/60 47/66/62 +f 40/41/41 39/39/39 54/65/61 55/53/49 +f 33/42/42 32/40/40 47/66/62 48/54/50 +f 45/62/58 44/60/56 59/67/63 60/68/64 +f 53/63/59 52/61/57 67/69/65 68/70/66 +f 46/64/60 45/62/58 60/68/64 61/71/67 +f 54/65/61 53/63/59 68/70/66 69/72/68 +f 47/66/62 46/64/60 61/71/67 62/73/69 +f 55/53/49 54/65/61 69/72/68 70/74/70 +f 48/54/50 47/66/62 62/73/69 63/75/71 +f 41/51/48 297/76/18 56/77/72 +f 206/78/20 55/53/49 70/74/70 +f 49/55/51 48/54/50 63/75/71 64/79/73 +f 42/56/52 41/51/48 56/77/72 57/80/74 +f 50/57/53 49/55/51 64/79/73 65/81/75 +f 43/58/54 42/56/52 57/80/74 58/82/76 +f 51/59/55 50/57/53 65/81/75 66/83/77 +f 44/60/56 43/58/54 58/82/76 59/67/63 +f 52/61/57 51/59/55 66/83/77 67/69/65 +f 64/79/73 63/75/71 78/84/78 79/85/79 +f 57/80/74 56/77/72 71/86/80 72/87/81 +f 65/81/75 64/79/73 79/85/79 80/88/82 +f 58/82/76 57/80/74 72/87/81 73/89/83 +f 66/83/77 65/81/75 80/88/82 81/90/84 +f 59/67/63 58/82/76 73/89/83 74/91/85 +f 67/69/65 66/83/77 81/90/84 82/92/86 +f 60/68/64 59/67/63 74/91/85 75/93/87 +f 68/70/66 67/69/65 82/92/86 83/94/88 +f 61/71/67 60/68/64 75/93/87 76/95/89 +f 69/72/68 68/70/66 83/94/88 84/96/90 +f 62/73/69 61/71/67 76/95/89 77/97/91 +f 70/74/70 69/72/68 84/96/90 85/98/92 +f 63/75/71 62/73/69 77/97/91 78/84/78 +f 56/77/72 297/99/18 71/86/80 +f 206/100/20 70/74/70 85/98/92 +f 83/94/88 82/92/86 97/101/93 98/102/94 +f 76/95/89 75/93/87 90/103/95 91/104/96 +f 84/96/90 83/94/88 98/102/94 99/105/97 +f 77/97/91 76/95/89 91/104/96 92/106/98 +f 85/98/92 84/96/90 99/105/97 100/107/99 +f 78/84/78 77/97/91 92/106/98 93/108/100 +f 71/86/80 297/109/18 86/110/101 +f 206/111/20 85/98/92 100/107/99 +f 79/85/79 78/84/78 93/108/100 94/112/102 +f 72/87/81 71/86/80 86/110/101 87/113/103 +f 80/88/82 79/85/79 94/112/102 95/114/104 +f 73/89/83 72/87/81 87/113/103 88/115/105 +f 81/90/84 80/88/82 95/114/104 96/116/106 +f 74/91/85 73/89/83 88/115/105 89/117/107 +f 82/92/86 81/90/84 96/116/106 97/101/93 +f 75/93/87 74/91/85 89/117/107 90/103/95 +f 87/113/103 86/110/101 101/118/108 102/119/109 +f 95/114/104 94/112/102 109/120/110 110/121/111 +f 88/115/105 87/113/103 102/119/109 103/122/112 +f 96/116/106 95/114/104 110/121/111 111/123/113 +f 89/117/107 88/115/105 103/122/112 104/124/114 +f 97/101/93 96/116/106 111/123/113 112/125/115 +f 90/103/95 89/117/107 104/124/114 105/126/116 +f 98/102/94 97/101/93 112/125/115 113/127/117 +f 91/104/96 90/103/95 105/126/116 106/128/118 +f 99/105/97 98/102/94 113/127/117 114/129/119 +f 92/106/98 91/104/96 106/128/118 107/130/120 +f 100/107/99 99/105/97 114/129/119 115/131/121 +f 93/108/100 92/106/98 107/130/120 108/132/122 +f 86/110/101 297/133/18 101/118/108 +f 206/134/20 100/107/99 115/131/121 +f 94/112/102 93/108/100 108/132/122 109/120/110 +f 106/128/118 105/126/116 120/135/123 121/136/124 +f 114/129/119 113/127/117 128/137/125 129/138/126 +f 107/130/120 106/128/118 121/136/124 122/139/127 +f 115/131/121 114/129/119 129/138/126 130/140/128 +f 108/132/122 107/130/120 122/139/127 123/141/129 +f 101/118/108 297/142/18 116/143/130 +f 206/144/20 115/131/121 130/140/128 +f 109/120/110 108/132/122 123/141/129 124/145/131 +f 102/119/109 101/118/108 116/143/130 117/146/132 +f 110/121/111 109/120/110 124/145/131 125/147/133 +f 103/122/112 102/119/109 117/146/132 118/148/134 +f 111/123/113 110/121/111 125/147/133 126/149/135 +f 104/124/114 103/122/112 118/148/134 119/150/136 +f 112/125/115 111/123/113 126/149/135 127/151/137 +f 105/126/116 104/124/114 119/150/136 120/135/123 +f 113/127/117 112/125/115 127/151/137 128/137/125 +f 125/147/133 124/145/131 139/152/138 140/153/139 +f 118/148/134 117/146/132 132/154/140 133/155/141 +f 126/149/135 125/147/133 140/153/139 141/156/142 +f 119/150/136 118/148/134 133/155/141 134/157/143 +f 127/151/137 126/149/135 141/156/142 142/158/144 +f 120/135/123 119/150/136 134/157/143 135/159/145 +f 128/137/125 127/151/137 142/158/144 143/160/146 +f 121/136/124 120/135/123 135/159/145 136/161/147 +f 129/138/126 128/137/125 143/160/146 144/162/148 +f 122/139/127 121/136/124 136/161/147 137/163/149 +f 130/140/128 129/138/126 144/162/148 145/164/150 +f 123/141/129 122/139/127 137/163/149 138/165/151 +f 116/143/130 297/166/18 131/167/152 +f 206/168/20 130/140/128 145/164/150 +f 124/145/131 123/141/129 138/165/151 139/152/138 +f 117/146/132 116/143/130 131/167/152 132/154/140 +f 144/162/148 143/160/146 158/169/153 159/170/154 +f 137/163/149 136/161/147 151/171/155 152/172/156 +f 145/164/150 144/162/148 159/170/154 160/173/157 +f 138/165/151 137/163/149 152/172/156 153/174/158 +f 131/167/152 297/175/18 146/176/159 +f 206/177/20 145/164/150 160/173/157 +f 139/152/138 138/165/151 153/174/158 154/178/160 +f 132/154/140 131/167/152 146/176/159 147/179/161 +f 140/153/139 139/152/138 154/178/160 155/180/162 +f 133/155/141 132/154/140 147/179/161 148/181/163 +f 141/156/142 140/153/139 155/180/162 156/182/164 +f 134/157/143 133/155/141 148/181/163 149/183/165 +f 142/158/144 141/156/142 156/182/164 157/184/166 +f 135/159/145 134/157/143 149/183/165 150/185/167 +f 143/160/146 142/158/144 157/184/166 158/169/153 +f 136/161/147 135/159/145 150/185/167 151/171/155 +f 156/182/164 155/180/162 170/186/168 171/187/169 +f 149/183/165 148/181/163 163/188/170 164/189/171 +f 157/184/166 156/182/164 171/187/169 172/190/172 +f 150/185/167 149/183/165 164/189/171 165/191/173 +f 158/169/153 157/184/166 172/190/172 173/192/174 +f 151/171/155 150/185/167 165/191/173 166/193/175 +f 159/170/154 158/169/153 173/192/174 174/194/176 +f 152/172/156 151/171/155 166/193/175 167/195/177 +f 160/173/157 159/170/154 174/194/176 175/196/178 +f 153/174/158 152/172/156 167/195/177 168/197/179 +f 146/176/159 297/198/18 161/199/180 +f 206/200/20 160/173/157 175/196/178 +f 154/178/160 153/174/158 168/197/179 169/201/181 +f 147/179/161 146/176/159 161/199/180 162/202/182 +f 155/180/162 154/178/160 169/201/181 170/186/168 +f 148/181/163 147/179/161 162/202/182 163/188/170 +f 175/196/178 174/194/176 189/203/183 190/204/184 +f 168/197/179 167/195/177 182/205/185 183/206/186 +f 161/199/180 297/207/18 176/208/187 +f 206/209/20 175/196/178 190/204/184 +f 169/201/181 168/197/179 183/206/186 184/210/188 +f 162/202/182 161/199/180 176/208/187 177/211/189 +f 170/186/168 169/201/181 184/210/188 185/212/190 +f 163/188/170 162/202/182 177/211/189 178/213/191 +f 171/187/169 170/186/168 185/212/190 186/214/192 +f 164/189/171 163/188/170 178/213/191 179/215/193 +f 172/190/172 171/187/169 186/214/192 187/216/194 +f 165/191/173 164/189/171 179/215/193 180/217/195 +f 173/192/174 172/190/172 187/216/194 188/218/196 +f 166/193/175 165/191/173 180/217/195 181/219/197 +f 174/194/176 173/192/174 188/218/196 189/203/183 +f 167/195/177 166/193/175 181/219/197 182/205/185 +f 179/215/193 178/213/191 193/220/198 194/221/199 +f 187/216/194 186/214/192 201/222/200 202/223/201 +f 180/217/195 179/215/193 194/221/199 195/224/202 +f 188/218/196 187/216/194 202/223/201 203/225/203 +f 181/219/197 180/217/195 195/224/202 196/226/204 +f 189/203/183 188/218/196 203/225/203 204/227/205 +f 182/205/185 181/219/197 196/226/204 197/228/206 +f 190/204/184 189/203/183 204/227/205 205/229/207 +f 183/206/186 182/205/185 197/228/206 198/230/208 +f 176/208/187 297/231/18 191/232/209 +f 206/233/20 190/204/184 205/229/207 +f 184/210/188 183/206/186 198/230/208 199/234/210 +f 177/211/189 176/208/187 191/232/209 192/235/211 +f 185/212/190 184/210/188 199/234/210 200/236/212 +f 178/213/191 177/211/189 192/235/211 193/220/198 +f 186/214/192 185/212/190 200/236/212 201/222/200 +f 198/230/208 197/228/206 213/237/213 214/238/214 +f 191/232/209 297/239/18 207/240/215 +f 206/241/20 205/229/207 221/242/216 +f 199/234/210 198/230/208 214/238/214 215/243/217 +f 192/235/211 191/232/209 207/240/215 208/244/218 +f 200/236/212 199/234/210 215/243/217 216/245/219 +f 193/220/198 192/235/211 208/244/218 209/246/220 +f 201/222/200 200/236/212 216/245/219 217/247/221 +f 194/221/199 193/220/198 209/246/220 210/248/222 +f 202/223/201 201/222/200 217/247/221 218/249/223 +f 195/224/202 194/221/199 210/248/222 211/250/224 +f 203/225/203 202/223/201 218/249/223 219/251/225 +f 196/226/204 195/224/202 211/250/224 212/252/226 +f 204/227/205 203/225/203 219/251/225 220/253/227 +f 197/228/206 196/226/204 212/252/226 213/237/213 +f 205/229/207 204/227/205 220/253/227 221/242/216 +f 218/249/223 217/247/221 232/254/228 233/255/229 +f 211/250/224 210/248/222 225/256/230 226/257/231 +f 219/251/225 218/249/223 233/255/229 234/258/232 +f 212/252/226 211/250/224 226/257/231 227/259/233 +f 220/253/227 219/251/225 234/258/232 235/260/234 +f 213/237/213 212/252/226 227/259/233 228/261/235 +f 221/242/216 220/253/227 235/260/234 236/262/236 +f 214/238/214 213/237/213 228/261/235 229/263/237 +f 207/240/215 297/264/18 222/265/238 +f 206/266/20 221/242/216 236/262/236 +f 215/243/217 214/238/214 229/263/237 230/267/239 +f 208/244/218 207/240/215 222/265/238 223/268/240 +f 216/245/219 215/243/217 230/267/239 231/269/241 +f 209/246/220 208/244/218 223/268/240 224/270/242 +f 217/247/221 216/245/219 231/269/241 232/254/228 +f 210/248/222 209/246/220 224/270/242 225/256/230 +f 222/265/238 297/271/18 237/272/243 +f 206/273/20 236/262/236 251/274/244 +f 230/267/239 229/263/237 244/275/245 245/276/246 +f 223/268/240 222/265/238 237/272/243 238/277/247 +f 231/269/241 230/267/239 245/276/246 246/278/248 +f 224/270/242 223/268/240 238/277/247 239/279/249 +f 232/254/228 231/269/241 246/278/248 247/280/250 +f 225/256/230 224/270/242 239/279/249 240/281/251 +f 233/255/229 232/254/228 247/280/250 248/282/252 +f 226/257/231 225/256/230 240/281/251 241/283/253 +f 234/258/232 233/255/229 248/282/252 249/284/254 +f 227/259/233 226/257/231 241/283/253 242/285/255 +f 235/260/234 234/258/232 249/284/254 250/286/256 +f 228/261/235 227/259/233 242/285/255 243/287/257 +f 236/262/236 235/260/234 250/286/256 251/274/244 +f 229/263/237 228/261/235 243/287/257 244/275/245 +f 241/283/253 240/281/251 255/288/258 256/289/259 +f 249/284/254 248/282/252 263/290/260 264/291/261 +f 242/285/255 241/283/253 256/289/259 257/292/262 +f 250/286/256 249/284/254 264/291/261 265/293/263 +f 243/287/257 242/285/255 257/292/262 258/294/264 +f 251/274/244 250/286/256 265/293/263 266/295/265 +f 244/275/245 243/287/257 258/294/264 259/296/266 +f 237/272/243 297/297/18 252/298/267 +f 206/299/20 251/274/244 266/295/265 +f 245/276/246 244/275/245 259/296/266 260/300/268 +f 238/277/247 237/272/243 252/298/267 253/301/269 +f 246/278/248 245/276/246 260/300/268 261/302/270 +f 239/279/249 238/277/247 253/301/269 254/303/271 +f 247/280/250 246/278/248 261/302/270 262/304/272 +f 240/281/251 239/279/249 254/303/271 255/288/258 +f 248/282/252 247/280/250 262/304/272 263/290/260 +f 260/300/268 259/296/266 274/305/273 275/306/274 +f 253/301/269 252/298/267 267/307/275 268/308/276 +f 261/302/270 260/300/268 275/306/274 276/309/277 +f 254/303/271 253/301/269 268/308/276 269/310/278 +f 262/304/272 261/302/270 276/309/277 277/311/279 +f 255/288/258 254/303/271 269/310/278 270/312/280 +f 263/290/260 262/304/272 277/311/279 278/313/281 +f 256/289/259 255/288/258 270/312/280 271/314/282 +f 264/291/261 263/290/260 278/313/281 279/315/283 +f 257/292/262 256/289/259 271/314/282 272/316/284 +f 265/293/263 264/291/261 279/315/283 280/317/285 +f 258/294/264 257/292/262 272/316/284 273/318/286 +f 266/295/265 265/293/263 280/317/285 281/319/287 +f 259/296/266 258/294/264 273/318/286 274/305/273 +f 252/298/267 297/320/18 267/307/275 +f 206/321/20 266/295/265 281/319/287 +f 279/315/283 278/313/281 293/322/288 294/323/289 +f 272/316/284 271/314/282 286/324/290 287/325/291 +f 280/317/285 279/315/283 294/323/289 295/326/292 +f 273/318/286 272/316/284 287/325/291 288/327/293 +f 281/319/287 280/317/285 295/326/292 296/328/294 +f 274/305/273 273/318/286 288/327/293 289/329/295 +f 267/307/275 297/330/18 282/331/296 +f 206/332/20 281/319/287 296/328/294 +f 275/306/274 274/305/273 289/329/295 290/333/297 +f 268/308/276 267/307/275 282/331/296 283/334/298 +f 276/309/277 275/306/274 290/333/297 291/335/299 +f 269/310/278 268/308/276 283/334/298 284/336/300 +f 277/311/279 276/309/277 291/335/299 292/337/301 +f 270/312/280 269/310/278 284/336/300 285/338/302 +f 278/313/281 277/311/279 292/337/301 293/322/288 +f 271/314/282 270/312/280 285/338/302 286/324/290 +f 291/335/299 290/333/297 306/339/303 307/340/304 +f 284/336/300 283/334/298 299/341/305 300/342/306 +f 292/337/301 291/335/299 307/340/304 308/343/307 +f 285/338/302 284/336/300 300/342/306 301/344/308 +f 293/322/288 292/337/301 308/343/307 309/345/309 +f 286/324/290 285/338/302 301/344/308 302/346/310 +f 294/323/289 293/322/288 309/345/309 310/347/311 +f 287/325/291 286/324/290 302/346/310 303/348/312 +f 295/326/292 294/323/289 310/347/311 311/349/313 +f 288/327/293 287/325/291 303/348/312 304/350/314 +f 296/328/294 295/326/292 311/349/313 312/351/315 +f 289/329/295 288/327/293 304/350/314 305/352/316 +f 282/331/296 297/353/18 298/354/317 +f 206/355/20 296/328/294 312/351/315 +f 290/333/297 289/329/295 305/352/316 306/339/303 +f 283/334/298 282/331/296 298/354/317 299/341/305 +f 311/349/313 310/347/311 325/356/318 326/357/319 +f 304/350/314 303/348/312 318/358/320 319/359/321 +f 312/351/315 311/349/313 326/357/319 327/360/322 +f 305/352/316 304/350/314 319/359/321 320/361/323 +f 298/354/317 297/362/18 313/363/324 +f 206/364/20 312/351/315 327/360/322 +f 306/339/303 305/352/316 320/361/323 321/365/325 +f 299/341/305 298/354/317 313/363/324 314/366/326 +f 307/340/304 306/339/303 321/365/325 322/367/327 +f 300/342/306 299/341/305 314/366/326 315/368/328 +f 308/343/307 307/340/304 322/367/327 323/369/329 +f 301/344/308 300/342/306 315/368/328 316/370/330 +f 309/345/309 308/343/307 323/369/329 324/371/331 +f 302/346/310 301/344/308 316/370/330 317/372/332 +f 310/347/311 309/345/309 324/371/331 325/356/318 +f 303/348/312 302/346/310 317/372/332 318/358/320 +f 315/368/328 314/366/326 329/373/333 330/374/334 +f 323/369/329 322/367/327 337/375/335 338/376/336 +f 316/370/330 315/368/328 330/374/334 331/377/337 +f 324/371/331 323/369/329 338/376/336 339/378/338 +f 317/372/332 316/370/330 331/377/337 332/379/339 +f 325/356/318 324/371/331 339/378/338 340/380/340 +f 318/358/320 317/372/332 332/379/339 333/381/341 +f 326/357/319 325/356/318 340/380/340 341/382/342 +f 319/359/321 318/358/320 333/381/341 334/383/343 +f 327/360/322 326/357/319 341/382/342 342/384/344 +f 320/361/323 319/359/321 334/383/343 335/385/345 +f 313/363/324 297/386/18 328/387/346 +f 206/388/20 327/360/322 342/384/344 +f 321/365/325 320/361/323 335/385/345 336/389/347 +f 314/366/326 313/363/324 328/387/346 329/373/333 +f 322/367/327 321/365/325 336/389/347 337/375/335 +f 334/383/343 333/381/341 348/390/348 349/391/349 +f 342/384/344 341/382/342 356/392/350 357/393/351 +f 335/385/345 334/383/343 349/391/349 350/394/352 +f 328/387/346 297/395/18 343/396/353 +f 206/397/20 342/384/344 357/393/351 +f 336/389/347 335/385/345 350/394/352 351/398/354 +f 329/373/333 328/387/346 343/396/353 344/399/355 +f 337/375/335 336/389/347 351/398/354 352/400/356 +f 330/374/334 329/373/333 344/399/355 345/401/357 +f 338/376/336 337/375/335 352/400/356 353/402/358 +f 331/377/337 330/374/334 345/401/357 346/403/359 +f 339/378/338 338/376/336 353/402/358 354/404/360 +f 332/379/339 331/377/337 346/403/359 347/405/361 +f 340/380/340 339/378/338 354/404/360 355/406/362 +f 333/381/341 332/379/339 347/405/361 348/390/348 +f 341/382/342 340/380/340 355/406/362 356/392/350 +f 353/402/358 352/400/356 367/407/363 368/408/364 +f 346/403/359 345/401/357 360/409/365 361/410/366 +f 354/404/360 353/402/358 368/408/364 369/411/367 +f 347/405/361 346/403/359 361/410/366 362/412/368 +f 355/406/362 354/404/360 369/411/367 370/413/369 +f 348/390/348 347/405/361 362/412/368 363/414/370 +f 356/392/350 355/406/362 370/413/369 371/415/371 +f 349/391/349 348/390/348 363/414/370 364/416/372 +f 357/393/351 356/392/350 371/415/371 372/417/373 +f 350/394/352 349/391/349 364/416/372 365/418/374 +f 343/396/353 297/419/18 358/420/375 +f 206/421/20 357/393/351 372/417/373 +f 351/398/354 350/394/352 365/418/374 366/422/376 +f 344/399/355 343/396/353 358/420/375 359/423/377 +f 352/400/356 351/398/354 366/422/376 367/407/363 +f 345/401/357 344/399/355 359/423/377 360/409/365 +f 372/424/373 371/425/371 386/426/378 387/427/379 +f 365/428/374 364/429/372 379/430/380 380/431/381 +f 358/432/375 297/433/18 373/434/382 +f 206/435/20 372/424/373 387/427/379 +f 366/436/376 365/428/374 380/431/381 381/437/383 +f 359/438/377 358/432/375 373/434/382 374/439/384 +f 367/440/363 366/436/376 381/437/383 382/441/385 +f 360/442/365 359/438/377 374/439/384 375/443/386 +f 368/444/364 367/440/363 382/441/385 383/445/387 +f 361/446/366 360/442/365 375/443/386 376/447/388 +f 369/448/367 368/444/364 383/445/387 384/449/389 +f 362/450/368 361/446/366 376/447/388 377/451/390 +f 370/452/369 369/448/367 384/449/389 385/453/391 +f 363/454/370 362/450/368 377/451/390 378/455/392 +f 371/425/371 370/452/369 385/453/391 386/426/378 +f 364/429/372 363/454/370 378/455/392 379/430/380 +f 376/447/388 375/443/386 390/456/393 391/457/394 +f 384/449/389 383/445/387 398/458/395 399/459/396 +f 377/451/390 376/447/388 391/457/394 392/460/397 +f 385/453/391 384/449/389 399/459/396 400/461/398 +f 378/455/392 377/451/390 392/460/397 393/462/399 +f 386/426/378 385/453/391 400/461/398 401/463/400 +f 379/430/380 378/455/392 393/462/399 394/464/401 +f 387/427/379 386/426/378 401/463/400 402/465/402 +f 380/431/381 379/430/380 394/464/401 395/466/403 +f 373/434/382 297/467/18 388/468/404 +f 206/469/20 387/427/379 402/465/402 +f 381/437/383 380/431/381 395/466/403 396/470/405 +f 374/439/384 373/434/382 388/468/404 389/471/406 +f 382/441/385 381/437/383 396/470/405 397/472/407 +f 375/443/386 374/439/384 389/471/406 390/456/393 +f 383/445/387 382/441/385 397/472/407 398/458/395 +f 395/466/403 394/464/401 409/473/408 410/474/409 +f 388/468/404 297/475/18 403/476/410 +f 206/477/20 402/465/402 417/478/411 +f 396/470/405 395/466/403 410/474/409 411/479/412 +f 389/471/406 388/468/404 403/476/410 404/480/413 +f 397/472/407 396/470/405 411/479/412 412/481/414 +f 390/456/393 389/471/406 404/480/413 405/482/415 +f 398/458/395 397/472/407 412/481/414 413/483/416 +f 391/457/394 390/456/393 405/482/415 406/484/417 +f 399/459/396 398/458/395 413/483/416 414/485/418 +f 392/460/397 391/457/394 406/484/417 407/486/419 +f 400/461/398 399/459/396 414/485/418 415/487/420 +f 393/462/399 392/460/397 407/486/419 408/488/421 +f 401/463/400 400/461/398 415/487/420 416/489/422 +f 394/464/401 393/462/399 408/488/421 409/473/408 +f 402/465/402 401/463/400 416/489/422 417/478/411 +f 414/485/418 413/483/416 428/490/423 429/491/424 +f 407/486/419 406/484/417 421/492/425 422/493/426 +f 415/487/420 414/485/418 429/491/424 430/494/427 +f 408/488/421 407/486/419 422/493/426 423/495/428 +f 416/489/422 415/487/420 430/494/427 431/496/429 +f 409/473/408 408/488/421 423/495/428 424/497/430 +f 417/478/411 416/489/422 431/496/429 432/498/431 +f 410/474/409 409/473/408 424/497/430 425/499/432 +f 403/476/410 297/500/18 418/501/433 +f 206/502/20 417/478/411 432/498/431 +f 411/479/412 410/474/409 425/499/432 426/503/434 +f 404/480/413 403/476/410 418/501/433 419/504/435 +f 412/481/414 411/479/412 426/503/434 427/505/436 +f 405/482/415 404/480/413 419/504/435 420/506/437 +f 413/483/416 412/481/414 427/505/436 428/490/423 +f 406/484/417 405/482/415 420/506/437 421/492/425 +f 206/507/20 432/498/431 447/508/438 +f 426/503/434 425/499/432 440/509/439 441/510/440 +f 419/504/435 418/501/433 433/511/441 434/512/442 +f 427/505/436 426/503/434 441/510/440 442/513/443 +f 420/506/437 419/504/435 434/512/442 435/514/444 +f 428/490/423 427/505/436 442/513/443 443/515/445 +f 421/492/425 420/506/437 435/514/444 436/516/446 +f 429/491/424 428/490/423 443/515/445 444/517/447 +f 422/493/426 421/492/425 436/516/446 437/518/448 +f 430/494/427 429/491/424 444/517/447 445/519/449 +f 423/495/428 422/493/426 437/518/448 438/520/450 +f 431/496/429 430/494/427 445/519/449 446/521/451 +f 424/497/430 423/495/428 438/520/450 439/522/452 +f 432/498/431 431/496/429 446/521/451 447/508/438 +f 425/499/432 424/497/430 439/522/452 440/509/439 +f 418/501/433 297/523/18 433/511/441 +f 445/519/449 444/517/447 459/524/453 460/525/454 +f 438/520/450 437/518/448 452/526/455 453/527/456 +f 446/521/451 445/519/449 460/525/454 461/528/457 +f 439/522/452 438/520/450 453/527/456 454/529/458 +f 447/508/438 446/521/451 461/528/457 462/530/459 +f 440/509/439 439/522/452 454/529/458 455/531/460 +f 433/511/441 297/532/18 448/533/461 +f 206/534/20 447/508/438 462/530/459 +f 441/510/440 440/509/439 455/531/460 456/535/462 +f 434/512/442 433/511/441 448/533/461 449/536/463 +f 442/513/443 441/510/440 456/535/462 457/537/464 +f 435/514/444 434/512/442 449/536/463 450/538/465 +f 443/515/445 442/513/443 457/537/464 458/539/466 +f 436/516/446 435/514/444 450/538/465 451/540/467 +f 444/517/447 443/515/445 458/539/466 459/524/453 +f 437/518/448 436/516/446 451/540/467 452/526/455 +f 449/536/463 448/533/461 463/541/468 464/542/469 +f 457/537/464 456/535/462 471/543/470 472/544/471 +f 450/538/465 449/536/463 464/542/469 465/545/472 +f 458/539/466 457/537/464 472/544/471 473/546/473 +f 451/540/467 450/538/465 465/545/472 466/547/474 +f 459/524/453 458/539/466 473/546/473 474/548/475 +f 452/526/455 451/540/467 466/547/474 467/549/476 +f 460/525/454 459/524/453 474/548/475 475/550/477 +f 453/527/456 452/526/455 467/549/476 468/551/478 +f 461/528/457 460/525/454 475/550/477 476/552/479 +f 454/529/458 453/527/456 468/551/478 469/553/480 +f 462/530/459 461/528/457 476/552/479 477/554/481 +f 455/531/460 454/529/458 469/553/480 470/555/482 +f 448/533/461 297/556/18 463/541/468 +f 206/557/20 462/530/459 477/554/481 +f 456/535/462 455/531/460 470/555/482 471/543/470 +f 468/551/478 467/549/476 5/6/6 6/5/5 +f 476/552/479 475/550/477 10/1/1 481/9/9 +f 469/553/480 468/551/478 6/5/5 7/11/11 +f 477/554/481 476/552/479 481/9/9 482/13/13 +f 470/555/482 469/553/480 7/11/11 8/15/15 +f 463/541/468 297/558/18 1/17/17 +f 206/559/20 477/554/481 482/13/13 +f 471/543/470 470/555/482 8/15/15 9/21/21 +f 464/542/469 463/541/468 1/17/17 2/23/23 +f 472/544/471 471/543/470 9/21/21 478/25/25 +f 465/545/472 464/542/469 2/23/23 3/27/27 +f 473/546/473 472/544/471 478/25/25 479/29/29 +f 466/547/474 465/545/472 3/27/27 4/31/31 +f 474/548/475 473/546/473 479/29/29 480/2/2 +f 467/549/476 466/547/474 4/31/31 5/6/6 +f 475/550/477 474/548/475 480/2/2 10/1/1 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.obj.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.obj.meta new file mode 100644 index 00000000..04c7eb11 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.obj.meta @@ -0,0 +1,102 @@ +fileFormatVersion: 2 +guid: 8e110b10cc44e794684a28cc8aca3a03 +timeCreated: 1578687725 +licenseType: Store +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: default + 100002: //RootNode + 400000: default + 400002: //RootNode + 2100000: Material.001 + 2300000: default + 3300000: default + 4300000: default + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.obj + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/sampleTex.png b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/sampleTex.png new file mode 100644 index 00000000..c5e2d210 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/sampleTex.png differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/sampleTex.png.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/sampleTex.png.meta new file mode 100644 index 00000000..2d4c1b50 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/sampleTex.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: 5a39f94ad4a962c40802e926cd810a5c +timeCreated: 1578687751 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Models/sampleTex.png + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Scripts.meta new file mode 100644 index 00000000..a0ef97ea --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 187f9f8ec16590443a8022b74af9a3ad +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Scripts/LoadModelFromStreamSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Scripts/LoadModelFromStreamSample.cs new file mode 100644 index 00000000..df7f848a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Scripts/LoadModelFromStreamSample.cs @@ -0,0 +1,146 @@ +#pragma warning disable 649 +using System.IO; +using TriLibCore.General; +using TriLibCore.Mappers; +using UnityEngine; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace TriLibCore.Samples +{ + /// + /// Demonstrates how to load a 3D model from a file using TriLib, + /// while applying custom mapper scripts ( and ) + /// to locate external resources (e.g. textures, materials). + /// This sample loads the TriLibSample.obj model from the Models folder + /// and uses the specified mappers to handle external dependencies. + /// + public class LoadModelFromStreamSample : MonoBehaviour + { + /// + /// Stores the used to configure the model loading process, + /// including any external data or texture mappers. + /// + private AssetLoaderOptions _assetLoaderOptions; + + /// + /// Gets the absolute or relative path to the TriLibSample.obj model, + /// adapting for either Editor or runtime usage. + /// + private string ModelPath + { + get + { +#if UNITY_EDITOR + return $"{Application.dataPath}/TriLib/TriLibSamples/LoadModelFromStream/Models/TriLibSampleModel.obj"; +#else + return "Models/TriLibSampleModel.obj"; +#endif + } + } + + /// + /// Invoked if any error or exception occurs during model loading (e.g., missing file, invalid format). + /// + /// + /// An object implementing , containing details on the original exception + /// and relevant context. + /// + private void OnError(IContextualizedError obj) + { + Debug.LogError($"An error occurred while loading your Model: {obj.GetInnerException()}"); + } + + /// + /// Invoked once the model's meshes and hierarchy have been loaded, prior to materials/textures being fully applied. + /// The partial can be accessed through assetLoaderContext.RootGameObject. + /// + /// + /// This callback is an opportunity to configure or position the base mesh + /// before textures and materials have finished loading. + /// + /// + /// The context used to load the model, containing references and state + /// related to the loading process. + /// + private void OnLoad(AssetLoaderContext assetLoaderContext) + { + Debug.Log("Model loaded. Loading materials."); + } + + /// + /// Invoked once the model has fully loaded, including all meshes, materials, and textures. + /// The final loaded is accessible through assetLoaderContext.RootGameObject. + /// + /// + /// This is typically the best place to interact with the fully loaded asset, as all + /// textures and materials are now bound to the model. + /// + /// + /// The context used to load the model, which stores the resulting + /// and any other allocation data. + /// + private void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + Debug.Log("Materials loaded. Model fully loaded."); + } + + /// + /// Invoked whenever the loading progress updates, ranging from 0.0 to 1.0. + /// + /// + /// The context that manages the state and data used in the loading process. + /// + /// A normalized float value indicating the current progress (0.0 to 1.0). + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + Debug.Log($"Loading Model. Progress: {progress:P}"); + } + + /// + /// Configures the (if needed) by assigning + /// custom and + /// instances, then opens a file stream pointing to the model and loads it via TriLib. + /// + /// + /// + /// You can create the by right-clicking in the Unity Assets window + /// and selecting TriLib -> Create -> AssetLoaderOptions -> Pre-Built AssetLoaderOptions. + /// + /// + /// Mappers can be assigned in two ways: + /// + /// Directly in the Editor by adding mapper assets to the . + /// Programmatically, as shown here, by creating instances at runtime. + /// + /// + /// + /// You can also create mapper assets by right-clicking any mapper script in the Assets window + /// and selecting Create Mapper Instance. + /// + /// + private void Start() + { + // Assign AssetLoaderOptions with custom mappers if none are provided + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + _assetLoaderOptions.ExternalDataMapper = ScriptableObject.CreateInstance(); + _assetLoaderOptions.TextureMappers = new TextureMapper[] { ScriptableObject.CreateInstance() }; + } + + // Load the model from a FileStream, providing callbacks for loading progress, errors, etc. + AssetLoader.LoadModelFromStream( + File.OpenRead(ModelPath), + ModelPath, + null, + OnLoad, + OnMaterialsLoad, + OnProgress, + OnError, + null, + _assetLoaderOptions); + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Scripts/LoadModelFromStreamSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Scripts/LoadModelFromStreamSample.cs.meta new file mode 100644 index 00000000..3ae9bc83 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Scripts/LoadModelFromStreamSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: e8e06b97742b98d4a882fabfe6a83a06 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromStream/Scripts/LoadModelFromStreamSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL.meta new file mode 100644 index 00000000..eae1a6c5 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 93b14c00c1f889f4ab616e0d9a332874 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/LoadModelFromURL.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/LoadModelFromURL.unity new file mode 100644 index 00000000..2927204e --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/LoadModelFromURL.unity @@ -0,0 +1,684 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657773, g: 0.49641377, b: 0.57481754, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 668059422} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &153877214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 153877216} + - component: {fileID: 153877215} + m_Layer: 0 + m_Name: LoadModelFromURL + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &153877215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bfd6c5680a0f6f344b7fcfab03a64697, type: 3} + m_Name: + m_EditorClassIdentifier: + ModelURL: https://ricardoreis.net/trilib/demos/sample/cube.zip +--- !u!4 &153877216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!850595691 &668059422 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 4 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 +--- !u!1 &809567019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 809567021} + - component: {fileID: 809567020} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &809567020 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &809567021 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_LocalRotation: {x: -0.07338684, y: -0.89253896, z: 0.41619772, w: -0.1573786} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -200, z: 0} +--- !u!1 &1118294650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118294651} + - component: {fileID: 1118294654} + - component: {fileID: 1118294653} + - component: {fileID: 1118294652} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1118294651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1664379773} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1118294652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1118294653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: This sample loads a model in a ZIP file from a URL +--- !u!222 &1118294654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_CullTransparentMesh: 0 +--- !u!1 &1664379769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1664379773} + - component: {fileID: 1664379772} + - component: {fileID: 1664379771} + - component: {fileID: 1664379770} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1664379770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1664379771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1664379772 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1664379773 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1118294651} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1813965413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813965417} + - component: {fileID: 1813965416} + - component: {fileID: 1813965415} + - component: {fileID: 1813965414} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1813965414 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!124 &1813965415 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!20 &1813965416 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1813965417 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1868373955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868373958} + - component: {fileID: 1868373957} + - component: {fileID: 1868373956} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1868373956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1868373957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1868373958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/LoadModelFromURL.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/LoadModelFromURL.unity.meta new file mode 100644 index 00000000..20239ecd --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/LoadModelFromURL.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: cc076454d74a5304e82a21c0ae6b644d +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/LoadModelFromURL.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/Scripts.meta new file mode 100644 index 00000000..de518e00 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6dd86f4dff6ad1147b0c58a0ee6aaa90 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/Scripts/LoadModelFromURLSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/Scripts/LoadModelFromURLSample.cs new file mode 100644 index 00000000..6e9e9a73 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/Scripts/LoadModelFromURLSample.cs @@ -0,0 +1,103 @@ +using UnityEngine; + +namespace TriLibCore.Samples +{ + /// + /// Demonstrates how to load a compressed (zipped) 3D model from a remote URL using TriLib. + /// This class creates and configures loader options, downloads the model asynchronously, + /// and reports progress or errors through callbacks. + /// + public class LoadModelFromURLSample : MonoBehaviour + { + /// + /// The remote URL pointing to the zipped 3D model file. + /// + [Tooltip("URL of the compressed model file to load.")] + public string ModelURL = "https://ricardoreis.net/trilib/demos/sample/TriLibSampleModel.zip"; + + /// + /// Cached instance used to configure the model loading behavior. + /// + private AssetLoaderOptions _assetLoaderOptions; + + /// + /// Unity’s Start method which is called on the frame when the script is enabled just before + /// any of the Update methods are called for the first time. + /// Creates default loader options if none are set, then begins downloading the model from the specified URL. + /// + /// + /// You can create and store a custom by right-clicking in the Assets folder + /// and selecting TriLib > Create > AssetLoaderOptions > Pre-Built AssetLoaderOptions. + /// Alternatively, you can instantiate default options via AssetLoader.CreateDefaultLoaderOptions(false, true) + /// as demonstrated below. + /// + private void Start() + { + // Create default AssetLoaderOptions if none exist + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + } + + // Create a web request for the model's URL + var webRequest = AssetDownloader.CreateWebRequest(ModelURL); + + // Load the model using the web request, providing callbacks for handling progress, success, and errors + AssetDownloader.LoadModelFromUri( + webRequest, + onLoad: OnLoad, + onMaterialsLoad: OnMaterialsLoad, + onProgress: OnProgress, + onError: OnError, + wrapperGameObject: null, + assetLoaderOptions: _assetLoaderOptions + ); + } + + /// + /// Callback invoked when an error occurs during the download or loading process. + /// Logs the detailed exception information for troubleshooting. + /// + /// The contextualized error containing the original exception and any relevant context information. + private void OnError(IContextualizedError obj) + { + Debug.LogError($"An error occurred while loading your model: {obj.GetInnerException()}"); + } + + /// + /// Callback invoked to report the current model loading progress. + /// Use this to update UI or track loading status. + /// + /// The context used by TriLib while loading the model. + /// The current loading progress value between 0.0 and 1.0. + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + Debug.Log($"Loading Model. Progress: {progress:P}"); + } + + /// + /// Callback invoked once all model textures and materials have finished loading. + /// At this stage, the is fully loaded and rendered. + /// + /// + /// The loaded can be accessed via assetLoaderContext.RootGameObject. + /// + /// The context containing loading details and the resultant GameObject. + private void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + Debug.Log("All materials have been applied. The model is fully loaded."); + } + + /// + /// Callback invoked when the model’s meshes and hierarchy are loaded, but before textures and materials are applied. + /// + /// + /// The partially loaded can be accessed via assetLoaderContext.RootGameObject. + /// + /// The context containing loading details and the resultant GameObject. + private void OnLoad(AssetLoaderContext assetLoaderContext) + { + Debug.Log("Model mesh and hierarchy loaded successfully. Proceeding to load materials..."); + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/Scripts/LoadModelFromURLSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/Scripts/LoadModelFromURLSample.cs.meta new file mode 100644 index 00000000..ad37b218 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/Scripts/LoadModelFromURLSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: bfd6c5680a0f6f344b7fcfab03a64697 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/LoadModelFromURL/Scripts/LoadModelFromURLSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader.meta new file mode 100644 index 00000000..bcc7b44f --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 94155bff17fedf04ea2c08887c557d75 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers.meta new file mode 100644 index 00000000..44d664fa --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ddb70d8ebdb59a4b8f8c799c645c7ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleExternalDataMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleExternalDataMapper.cs new file mode 100644 index 00000000..b2b14449 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleExternalDataMapper.cs @@ -0,0 +1,63 @@ +#pragma warning disable 672 + +using System; +using System.IO; +using TriLibCore.Mappers; + +namespace TriLibCore.Samples +{ + /// + /// A custom implementation that uses user-supplied callbacks + /// to handle external data loading. This is useful when the model references additional files + /// (e.g., textures, external geometry, etc.) and you want fine-grained control over how and + /// where those files are retrieved. + /// + public class SimpleExternalDataMapper : ExternalDataMapper + { + /// + /// The callback responsible for returning a to load the external file content. + /// + private Func _streamReceivingCallback; + + /// + /// The callback responsible for providing a full or modified file path from the given original path. + /// + private Func _finalPathReceivingCallback; + + /// + /// Configures the callbacks used for external data mapping. + /// + /// A required callback that returns the used to read the requested file’s content. + /// An optional callback that modifies or resolves the final file path before loading. + /// Thrown if is null. + public void Setup(Func streamReceivingCallback, Func finalPathReceivingCallback) + { + if (streamReceivingCallback == null) + { + throw new Exception("Callback parameter is missing."); + } + _streamReceivingCallback = streamReceivingCallback; + _finalPathReceivingCallback = finalPathReceivingCallback; + } + + /// + /// Overrides the default mapping logic to use the user-supplied callbacks. + /// + /// + /// When TriLib needs to load external data (e.g., texture files), it calls this method, + /// allowing you to provide custom behavior such as streaming from memory or from an alternative storage location. + /// + /// The current TriLib asset loading context containing model-related state. + /// The original filename (or path) referencing external data. + /// The resolved final path of the file. This may be modified by your custom callback. + /// An open containing the external file data. + public override Stream Map(AssetLoaderContext assetLoaderContext, string originalFilename, out string finalPath) + { + // Use custom logic to resolve final filename/path + finalPath = _finalPathReceivingCallback != null ? _finalPathReceivingCallback(originalFilename) : originalFilename; + + // Retrieve a Stream for reading the external data + return _streamReceivingCallback(originalFilename); + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleExternalDataMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleExternalDataMapper.cs.meta new file mode 100644 index 00000000..361f46a2 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleExternalDataMapper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 81e9c3e22afccb54ebeab0afea40f9e5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleExternalDataMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleTextureMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleTextureMapper.cs new file mode 100644 index 00000000..fe4ec66e --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleTextureMapper.cs @@ -0,0 +1,51 @@ +#pragma warning disable 672 + +using System; +using System.IO; +using TriLibCore.Interfaces; +using TriLibCore.Mappers; + +namespace TriLibCore.Samples +{ + /// + /// A custom implementation that uses a user-supplied callback to retrieve texture data. + /// This mapper allows you to control how texture streams are opened, enabling scenarios such as loading from memory + /// or over the network. + /// + public class SimpleTextureMapper : TextureMapper + { + /// + /// The callback responsible for returning a to read texture data for a given . + /// + private Func _streamReceivingCallback; + + /// + /// Configures the callback used for texture loading. + /// + /// A required callback that returns a containing texture data. + /// Thrown if is null. + public void Setup(Func streamReceivingCallback) + { + if (streamReceivingCallback == null) + { + throw new Exception("Callback parameter is missing."); + } + _streamReceivingCallback = streamReceivingCallback; + } + + /// + /// Overrides the default texture mapping logic to use the user-supplied callback. + /// + /// + /// TriLib calls this method for each texture that needs to be loaded, allowing you + /// to retrieve texture data from a custom source. + /// + /// The context containing information about the texture being loaded. + public override void Map(TextureLoadingContext textureLoadingContext) + { + // Use the provided callback to retrieve a Stream containing the texture data + var stream = _streamReceivingCallback(textureLoadingContext.Texture); + textureLoadingContext.Stream = stream; + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleTextureMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleTextureMapper.cs.meta new file mode 100644 index 00000000..67785971 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleTextureMapper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: f8134e33e5d6ad6449272bc4ebee146f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Mappers/SimpleTextureMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Scripts.meta new file mode 100644 index 00000000..ff412650 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e38132e249e50341ab4fcd20f4b41a5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Scripts/SimpleCustomLoaderSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Scripts/SimpleCustomLoaderSample.cs new file mode 100644 index 00000000..011db1a0 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Scripts/SimpleCustomLoaderSample.cs @@ -0,0 +1,227 @@ +using System; +using System.IO; +using System.Text; +using TriLibCore.Interfaces; +using TriLibCore.Utils; +using UnityEngine; + +namespace TriLibCore.Samples +{ + /// + /// Demonstrates how to load an OBJ model (with a single texture) entirely from string-encoded data. + /// This class uses to parse model geometry, material (.mtl) files, + /// and texture images stored as string constants. + /// + public class SimpleCustomLoaderSample : MonoBehaviour + { + /// + /// Base64-encoded data for a small PNG texture (smile.png). + /// + private const string SmilePngData = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAJUExURQAAAP/yAP///1XtZyMAAAA+SURBVAjXY1gFBAyrQkNXMawMDc1iWBoaGsUwNTQ0jGGqoyOMAHNBxJTQUDGGqaIhQK4DYxhEMVgb2ACQUQBbZhuGX7UQtQAAAABJRU5ErkJggg=="; + + /// + /// OBJ-formatted data (cube geometry) stored as a text string. + /// + private const string CubeObjData = + @"mtllib cube.mtl + g default + v -0.500000 -0.500000 0.500000 + v 0.500000 -0.500000 0.500000 + v -0.500000 0.500000 0.500000 + v 0.500000 0.500000 0.500000 + v -0.500000 0.500000 -0.500000 + v 0.500000 0.500000 -0.500000 + v -0.500000 -0.500000 -0.500000 + v 0.500000 -0.500000 -0.500000 + vt 0.000000 0.000000 + vt 1.000000 0.000000 + vt 1.000000 1.000000 + vt 0.000000 1.000000 + vt 0.000000 1.000000 + vt 1.000000 1.000000 + vt 1.000000 0.000000 + vt 0.000000 0.000000 + vt 0.000000 0.000000 + vt 1.000000 0.000000 + vt 1.000000 1.000000 + vt 0.000000 1.000000 + vt 1.000000 0.000000 + vt 0.000000 0.000000 + vt 0.000000 1.000000 + vt 1.000000 1.000000 + vt 0.000000 0.000000 + vt 1.000000 0.000000 + vt 1.000000 1.000000 + vt 0.000000 1.000000 + vt 0.000000 1.000000 + vt 1.000000 1.000000 + vt 1.000000 0.000000 + vt 0.000000 0.000000 + vn 0.000000 0.000000 1.000000 + vn 0.000000 0.000000 1.000000 + vn 0.000000 0.000000 1.000000 + vn 0.000000 0.000000 1.000000 + vn 0.000000 1.000000 0.000000 + vn 0.000000 1.000000 0.000000 + vn 0.000000 1.000000 0.000000 + vn 0.000000 1.000000 0.000000 + vn 0.000000 0.000000 -1.000000 + vn 0.000000 0.000000 -1.000000 + vn 0.000000 0.000000 -1.000000 + vn 0.000000 0.000000 -1.000000 + vn 0.000000 -1.000000 0.000000 + vn 0.000000 -1.000000 0.000000 + vn 0.000000 -1.000000 0.000000 + vn 0.000000 -1.000000 0.000000 + vn 1.000000 0.000000 0.000000 + vn 1.000000 0.000000 0.000000 + vn 1.000000 0.000000 0.000000 + vn 1.000000 0.000000 0.000000 + vn -1.000000 0.000000 0.000000 + vn -1.000000 0.000000 0.000000 + vn -1.000000 0.000000 0.000000 + vn -1.000000 0.000000 0.000000 + s off + g cube + usemtl initialShadingGroup + f 1/17/1 2/18/2 4/19/3 3/20/4 + f 3/1/5 4/2/6 6/3/7 5/4/8 + f 5/21/9 6/22/10 8/23/11 7/24/12 + f 7/5/13 8/6/14 2/7/15 1/8/16 + f 2/9/17 8/10/18 6/11/19 4/12/20 + f 7/13/21 1/14/22 3/15/23 5/16/24 + "; + + /// + /// MTL-formatted data containing material definitions (references the smile.png texture). + /// + private const string CubeMtlData = + @"newmtl initialShadingGroup + illum 4 + Kd 1.00 1.00 1.00 + Ka 0.00 0.00 0.00 + Tf 1.00 1.00 1.00 + map_Kd smile.png + Ni 1.00 + Ks 0.00 0.00 0.00 + Ns 18.00 + "; + + /// + /// Filename for the OBJ model. + /// + private const string CubeObjFilename = "cube.obj"; + + /// + /// Filename for the MTL material file. + /// + private const string CubeMtlFilename = "cube.mtl"; + + /// + /// Filename for the PNG texture. + /// + private const string SmilePngFilename = "smile.png"; + + /// + /// Called automatically when the script is first enabled. + /// Converts the CubeObjData string to bytes and uses + /// to load the model with callbacks. + /// + private void Start() + { + var cubeObjBytes = Encoding.UTF8.GetBytes(CubeObjData); + SimpleCustomAssetLoader.LoadModelFromByteData( + data: cubeObjBytes, + modelExtension: FileUtils.GetFileExtension(CubeObjFilename, false), + onError: OnError, + onProgress: OnProgress, + onModelFullyLoad: OnModelFullyLoad, + customDataReceivingCallback: CustomDataReceivingCallback, + customFilenameReceivingCallback: CustomFilenameReceivingCallback, + customTextureReceivingCallback: CustomTextureReceivingCallback, + modelFilename: CubeObjFilename, + wrapperGameObject: gameObject + ); + } + + /// + /// Callback for retrieving the texture data stream given a texture reference. + /// If the requested texture filename matches , + /// the method returns a built from Base64-decoded PNG data. + /// + /// The texture metadata required by TriLib. + /// A containing the texture data, or null if unrecognized. + private Stream CustomTextureReceivingCallback(ITexture texture) + { + var textureShortFilename = FileUtils.GetShortFilename(texture.Filename); + if (textureShortFilename == SmilePngFilename) + { + var smilePngBytes = Convert.FromBase64String(SmilePngData); + return new MemoryStream(smilePngBytes); + } + return null; + } + + /// + /// Callback for resolving the full filesystem path for a given filename. + /// This is optional, so by default we simply return the filename itself. + /// + /// The original filename reference. + /// The resolved path or if no changes are necessary. + private string CustomFilenameReceivingCallback(string filename) + { + return filename; + } + + /// + /// Callback for retrieving external resource data (e.g., .mtl files). + /// If the requested filename matches , + /// this method returns a containing the MTL data. + /// + /// The filename referencing external model data. + /// A containing the file data, or null if unrecognized. + private Stream CustomDataReceivingCallback(string filename) + { + var externalDataShortFilename = FileUtils.GetShortFilename(filename); + if (externalDataShortFilename == CubeMtlFilename) + { + var cubeMtlBytes = Encoding.UTF8.GetBytes(CubeMtlData); + return new MemoryStream(cubeMtlBytes); + } + return null; + } + + /// + /// Callback invoked once the model and all referenced resources have finished loading. + /// If successful, will be instantiated in the scene. + /// + /// Provides context about the loaded model, including the root . + private void OnModelFullyLoad(AssetLoaderContext assetLoaderContext) + { + if (assetLoaderContext.RootGameObject != null) + { + Debug.Log("Model successfully loaded."); + } + } + + /// + /// Callback invoked periodically to report loading progress, where progress ranges from 0.0 to 1.0. + /// + /// Provides context about the model loading process. + /// A float representing the loading progress (0 to 1). + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + Debug.Log($"Progress: {progress:P}"); + } + + /// + /// Callback invoked if any error occurs while loading the model or its resources. + /// Logs the error details for debugging. + /// + /// Contains exception information and additional context. + private void OnError(IContextualizedError contextualizedError) + { + Debug.LogError($"There was an error loading your model: {contextualizedError}"); + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Scripts/SimpleCustomLoaderSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Scripts/SimpleCustomLoaderSample.cs.meta new file mode 100644 index 00000000..263ad8b4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Scripts/SimpleCustomLoaderSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: f981cdd882ba0ea4ea969f9e0d1a7045 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Scripts/SimpleCustomLoaderSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/SimpleCustomAssetLoaderSample.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/SimpleCustomAssetLoaderSample.unity new file mode 100644 index 00000000..28054dbd --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/SimpleCustomAssetLoaderSample.unity @@ -0,0 +1,549 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657892, g: 0.4964133, b: 0.57481736, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &120424897 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 120424901} + - component: {fileID: 120424900} + - component: {fileID: 120424899} + - component: {fileID: 120424898} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &120424898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 120424897} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &120424899 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 120424897} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &120424900 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 120424897} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &120424901 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 120424897} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 345948104} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &345948103 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 345948104} + - component: {fileID: 345948107} + - component: {fileID: 345948106} + - component: {fileID: 345948105} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &345948104 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345948103} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 120424901} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &345948105 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345948103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &345948106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345948103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'This sample loads a model using a custom Texture Mapper and a custom External + Data Mapper + + + All the model data is stored in Base64 strings, which are decoded + by the Mappers' +--- !u!222 &345948107 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345948103} + m_CullTransparentMesh: 0 +--- !u!1 &409708060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 409708062} + - component: {fileID: 409708061} + m_Layer: 0 + m_Name: SimpleCustomAssetLoaderSample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &409708061 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 409708060} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f981cdd882ba0ea4ea969f9e0d1a7045, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &409708062 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 409708060} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &605750766 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 605750769} + - component: {fileID: 605750768} + - component: {fileID: 605750767} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &605750767 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 605750766} + m_Enabled: 1 +--- !u!20 &605750768 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 605750766} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3882353, g: 0.3882353, b: 0.3882353, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &605750769 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 605750766} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1912697104 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1912697106} + - component: {fileID: 1912697105} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1912697105 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912697104} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1912697106 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912697104} + m_LocalRotation: {x: 0.40821788, y: 0.23456976, z: -0.10938167, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: 30, z: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/SimpleCustomAssetLoaderSample.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/SimpleCustomAssetLoaderSample.unity.meta new file mode 100644 index 00000000..0f14edfb --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/SimpleCustomAssetLoaderSample.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: dd104ba3abda75e4092857954ef2506a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/SimpleCustomAssetLoaderSample.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Utils.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Utils.meta new file mode 100644 index 00000000..011e49a0 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Utils.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9cec8ba0aebd9124191cc65babac2bc5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Utils/SimpleCustomAssetLoader.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Utils/SimpleCustomAssetLoader.cs new file mode 100644 index 00000000..25481dd7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Utils/SimpleCustomAssetLoader.cs @@ -0,0 +1,156 @@ +#pragma warning disable 672 + +using System; +using System.IO; +using TriLibCore.Interfaces; +using TriLibCore.Mappers; +using TriLibCore.Utils; +using UnityEngine; + +namespace TriLibCore.Samples +{ + + /// + /// Provides static methods for loading 3D models from byte arrays or objects. + /// This class integrates custom data and texture mappers via user-supplied callbacks, enabling + /// flexible loading scenarios such as in-memory data, custom file paths, or network streams. + /// + public class SimpleCustomAssetLoader + { + /// + /// Loads a model from an in-memory byte array, using callbacks to handle events and external data. + /// + /// The raw byte array containing the model data. + /// The model file extension (e.g., ".fbx", ".obj"). If omitted, you can provide a to infer the extension. + /// An optional callback invoked if an error occurs during loading. + /// A callback invoked to report loading progress, where the float parameter goes from 0.0 to 1.0. + /// A callback invoked once the model is fully loaded (including textures and materials). + /// A required callback for obtaining external file data streams when additional files are referenced. + /// An optional callback to resolve or modify the final filename from the original reference. + /// A required callback for obtaining texture data streams. + /// An optional filename to associate with the model. If provided, TriLib may use this to infer the file extension. + /// An optional to serve as a parent for the loaded model’s root object. + /// An optional set of loading options for finer control over the model load process. + /// Any custom user data that should be passed through TriLib’s loading pipeline and accessible in callbacks. + /// An containing references to the loaded root and other metadata. + /// Thrown if is null or empty. + public static AssetLoaderContext LoadModelFromByteData( + byte[] data, + string modelExtension, + Action onError, + Action onProgress, + Action onModelFullyLoad, + Func customDataReceivingCallback, + Func customFilenameReceivingCallback, + Func customTextureReceivingCallback, + string modelFilename = null, + GameObject wrapperGameObject = null, + AssetLoaderOptions assetLoaderOptions = null, + object customData = null) + { + if (data == null || data.Length == 0) + { + throw new Exception("Missing model file byte data."); + } + + // Create a MemoryStream from the provided byte array and forward to the overload that handles streams + return LoadModelFromStream( + new MemoryStream(data), + modelExtension, + onError, + onProgress, + onModelFullyLoad, + customDataReceivingCallback, + customFilenameReceivingCallback, + customTextureReceivingCallback, + modelFilename, + wrapperGameObject, + assetLoaderOptions, + customData + ); + } + + /// + /// Loads a model from a , using callbacks to handle external data and textures. + /// + /// + /// This method is useful if you have already prepared a , such as from a custom + /// data source, a file, or network operation. You can attach event callbacks to monitor progress, + /// receive errors, and handle external dependencies or textures. + /// + /// The containing the model data. + /// The model file extension (e.g., ".fbx", ".obj"). This is used by TriLib to determine import logic. + /// An optional callback invoked if an error occurs during loading. + /// A callback to report loading progress, from 0.0 (start) to 1.0 (fully loaded). + /// A callback invoked once the model is fully loaded (including meshes, materials, and textures). + /// A required callback for obtaining streams to any external file data the model references. + /// An optional callback to modify or resolve filenames before loading. + /// A required callback for obtaining texture data streams. + /// An optional filename to represent the model. If an extension is not provided in , it will be derived from this parameter. + /// An optional that will become the parent of the loaded model’s root . + /// Optional loading options to customize import settings, scaling, etc. + /// Any additional user data to be passed through the loading pipeline and accessible within callbacks. + /// An containing the loaded model’s references and metadata. + /// Thrown if is null or if the model extension cannot be resolved. + public static AssetLoaderContext LoadModelFromStream( + Stream stream, + string modelExtension, + Action onError, + Action onProgress, + Action onModelFullyLoad, + Func customDataReceivingCallback, + Func customFilenameReceivingCallback, + Func customTextureReceivingCallback, + string modelFilename = null, + GameObject wrapperGameObject = null, + AssetLoaderOptions assetLoaderOptions = null, + object customData = null) + { + if (stream == null) + { + throw new Exception("Missing model file stream."); + } + + // Attempt to infer the file extension if it is not provided + if (string.IsNullOrWhiteSpace(modelExtension) && !string.IsNullOrWhiteSpace(modelFilename)) + { + modelExtension = FileUtils.GetFileExtension(modelFilename); + } + if (string.IsNullOrWhiteSpace(modelExtension)) + { + throw new Exception("Missing model extension parameter."); + } + + // Create instances of our custom data mappers + var simpleExternalDataMapper = ScriptableObject.CreateInstance(); + simpleExternalDataMapper.Setup(customDataReceivingCallback, customFilenameReceivingCallback); + + var simpleTextureMapper = ScriptableObject.CreateInstance(); + simpleTextureMapper.Setup(customTextureReceivingCallback); + + // If no AssetLoaderOptions are provided, create a default set + if (assetLoaderOptions == null) + { + assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(); + } + + // Inject the custom data and texture mappers into the AssetLoaderOptions + assetLoaderOptions.ExternalDataMapper = simpleExternalDataMapper; + assetLoaderOptions.TextureMappers = new TextureMapper[] { simpleTextureMapper }; + + // Use the standard TriLib stream-loading mechanism with custom mappers and callbacks + return AssetLoader.LoadModelFromStream( + stream, + modelFilename, + modelExtension, + null, + onModelFullyLoad, + onProgress, + onError, + wrapperGameObject, + assetLoaderOptions, + customData + ); + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Utils/SimpleCustomAssetLoader.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Utils/SimpleCustomAssetLoader.cs.meta new file mode 100644 index 00000000..e4e1ab11 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Utils/SimpleCustomAssetLoader.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 022d471027c84444692241424e648c19 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/SimpleCustomAssetLoader/Utils/SimpleCustomAssetLoader.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading.meta new file mode 100644 index 00000000..cec88d4d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 99e16a529e42eed47a37d28e7d2edff0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Scripts.meta new file mode 100644 index 00000000..b1946967 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c5101f3b9b4c50c4fb12bea51da81b93 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Scripts/UserPropertiesLoadingSample.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Scripts/UserPropertiesLoadingSample.cs new file mode 100644 index 00000000..5888006f --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Scripts/UserPropertiesLoadingSample.cs @@ -0,0 +1,382 @@ +#pragma warning disable 649 +using System.Collections.Generic; +using TriLibCore.Extensions; +using UnityEngine; +using UnityEngine.UI; +namespace TriLibCore.Samples +{ + /// + /// Demonstrates how to load a 3D model using the built-in TriLib file picker and retrieve + /// custom user properties embedded within the model. Displays the retrieved properties + /// in the Unity UI. + /// + public class UserPropertiesLoadingSample : MonoBehaviour + { + /// + /// Caches user properties of type , keyed by "[GameObjectName].[PropertyName]". + /// + private Dictionary _floatValues; + + /// + /// Caches user properties of type , keyed by "[GameObjectName].[PropertyName]". + /// + private Dictionary _intValues; + + /// + /// Caches user properties of type , keyed by "[GameObjectName].[PropertyName]". + /// + private Dictionary _vector2Values; + + /// + /// Caches user properties of type , keyed by "[GameObjectName].[PropertyName]". + /// + private Dictionary _vector3Values; + + /// + /// Caches user properties of type , keyed by "[GameObjectName].[PropertyName]". + /// + private Dictionary _vector4Values; + + /// + /// Caches user properties of type , keyed by "[GameObjectName].[PropertyName]". + /// + private Dictionary _colorValues; + + /// + /// Caches user properties of type , keyed by "[GameObjectName].[PropertyName]". + /// + private Dictionary _boolValues; + + /// + /// Caches user properties of type , keyed by "[GameObjectName].[PropertyName]". + /// + private Dictionary _stringValues; + + /// + /// Holds a reference to the last loaded model's root . + /// When loading a new model, any previously loaded GameObject is destroyed. + /// + private GameObject _loadedGameObject; + + /// + /// A reference to a UI Button used to start the file-picker and load a model. + /// + [SerializeField] + private Button _loadModelButton; + + /// + /// A UI Text component used to display real-time loading progress to the user. + /// + [SerializeField] + private Text _progressText; + + /// + /// A UI Text component used to display the user properties associated with the loaded model. + /// + [SerializeField] + private Text _propertiesText; + + /// + /// Cached set of TriLib loader options, including a custom + /// to capture user properties from the loaded model. + /// + private AssetLoaderOptions _assetLoaderOptions; + + /// + /// Callback invoked by the custom SampleUserPropertiesMapper for every user property + /// found on the loaded model’s . Populates internal dictionaries + /// based on property type. + /// + /// The that owns the user property. + /// The user property’s name. + /// The user property’s value, which may be float, int, Vector2, etc. + private void OnUserDataProcessed(GameObject gameObject, string propertyName, object propertyValue) + { + var propertyKey = $"{gameObject.name}.{propertyName}"; + Debug.Log($"Found property for [{gameObject.name}] ({propertyName}:{propertyValue})"); + switch (propertyValue) + { + case float floatValue: + if (!_floatValues.ContainsKey(propertyKey)) + { + _floatValues.Add(propertyKey, floatValue); + } + break; + case int intValue: + if (!_intValues.ContainsKey(propertyKey)) + { + _intValues.Add(propertyKey, intValue); + } + break; + case Vector2 vector2Value: + if (!_vector2Values.ContainsKey(propertyKey)) + { + _vector2Values.Add(propertyKey, vector2Value); + } + break; + case Vector3 vector3Value: + if (!_vector3Values.ContainsKey(propertyKey)) + { + _vector3Values.Add(propertyKey, vector3Value); + } + break; + case Vector4 vector4Value: + if (!_vector4Values.ContainsKey(propertyKey)) + { + _vector4Values.Add(propertyKey, vector4Value); + } + break; + case Color colorValue: + if (!_colorValues.ContainsKey(propertyKey)) + { + _colorValues.Add(propertyKey, colorValue); + } + break; + case bool boolValue: + if (!_boolValues.ContainsKey(propertyKey)) + { + _boolValues.Add(propertyKey, boolValue); + } + break; + case string stringValue: + if (!_stringValues.ContainsKey(propertyKey)) + { + _stringValues.Add(propertyKey, stringValue); + } + break; + } + } + + /// + /// Initiates a file-picker dialog for selecting a model to load, constructing + /// custom TriLib if necessary, and registering + /// event handlers for progress, errors, and completion. + /// + /// + /// The file-picker interface will allow the user to select a model file at runtime. + /// Once selected, TriLib begins loading and triggers corresponding events + /// (, , , + /// , and ). + /// + public void LoadModel() + { + var assetLoaderOptions = CreateAssetLoaderOptions(); + var assetLoaderFilePicker = AssetLoaderFilePicker.Create(); + assetLoaderFilePicker.LoadModelFromFilePickerAsync( + title: "Select a Model file", + onLoad: OnLoad, + onMaterialsLoad: OnMaterialsLoad, + onProgress: OnProgress, + onBeginLoad: OnBeginLoad, + onError: OnError, + wrapperGameObject: null, + assetLoaderOptions: assetLoaderOptions + ); + } + + /// + /// Creates and configures , attaching a custom + /// to capture user property data via + /// . + /// + /// A configured instance. + private AssetLoaderOptions CreateAssetLoaderOptions() + { + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + + var userPropertiesMapper = ScriptableObject.CreateInstance(); + userPropertiesMapper.OnUserDataProcessed += OnUserDataProcessed; + _assetLoaderOptions.UserPropertiesMapper = userPropertiesMapper; + } + return _assetLoaderOptions; + } + + /// + /// Event handler invoked when the user begins loading a model (i.e., once a file has been selected). + /// Initializes or clears the property dictionaries, updates the UI, and locks the load button + /// until the process completes or is canceled. + /// + /// Indicates whether the user has chosen a file. + private void OnBeginLoad(bool filesSelected) + { + // Reset dictionaries + _floatValues = new Dictionary(); + _intValues = new Dictionary(); + _vector2Values = new Dictionary(); + _vector3Values = new Dictionary(); + _vector4Values = new Dictionary(); + _colorValues = new Dictionary(); + _boolValues = new Dictionary(); + _stringValues = new Dictionary(); + + // Update UI + _loadModelButton.interactable = !filesSelected; + _progressText.enabled = filesSelected; + _progressText.text = string.Empty; + } + + /// + /// Event handler invoked if an error occurs during model loading. + /// Logs the error details for debugging. + /// + /// Contains error context and the original exception. + private void OnError(IContextualizedError obj) + { + Debug.LogError($"An error occurred while loading your model: {obj.GetInnerException()}"); + } + + /// + /// Event handler for reporting model-loading progress, which can be displayed on-screen. + /// + /// Provides context about the loading process. + /// A value from 0.0 to 1.0 representing the loading progress. + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + _progressText.text = $"Progress: {progress:P}"; + } + + /// + /// Event handler invoked once textures and materials have finished loading and the model is fully ready. + /// At this point, user properties have already been processed, so they can be displayed via . + /// + /// + /// If is null, the model may have failed to load. + /// + /// Contains references to the loaded model’s root . + private void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + if (assetLoaderContext.RootGameObject != null) + { + Debug.Log("Model fully loaded."); + ListProperties(); + } + else + { + Debug.Log("Model could not be loaded."); + } + // Re-enable UI elements + _loadModelButton.interactable = true; + _progressText.enabled = false; + } + + /// + /// Compiles the collected user properties into a formatted text block, separating each + /// data type for clarity, and updates the on-screen . + /// + private void ListProperties() + { + var text = string.Empty; + + // String properties + if (_stringValues.Count > 0) + { + text += "String\n"; + foreach (var kvp in _stringValues) + { + text += $"{kvp.Key}=\"{kvp.Value}\"\n"; + } + } + + // Float properties + if (_floatValues.Count > 0) + { + text += "\nFloat\n"; + foreach (var kvp in _floatValues) + { + text += $"{kvp.Key}={kvp.Value}\n"; + } + } + + // Integer properties + if (_intValues.Count > 0) + { + text += "\nInteger\n"; + foreach (var kvp in _intValues) + { + text += $"{kvp.Key}={kvp.Value}\n"; + } + } + + // Boolean properties + if (_boolValues.Count > 0) + { + text += "\nBoolean\n"; + foreach (var kvp in _boolValues) + { + text += $"{kvp.Key}={kvp.Value}\n"; + } + } + + // Vector2 properties + if (_vector2Values.Count > 0) + { + text += "\nVector2\n"; + foreach (var kvp in _vector2Values) + { + text += $"{kvp.Key}={kvp.Value}\n"; + } + } + + // Vector3 properties + if (_vector3Values.Count > 0) + { + text += "\nVector3\n"; + foreach (var kvp in _vector3Values) + { + text += $"{kvp.Key}={kvp.Value}\n"; + } + } + + // Vector4 properties + if (_vector4Values.Count > 0) + { + text += "\nVector4\n"; + foreach (var kvp in _vector4Values) + { + text += $"{kvp.Key}={kvp.Value}\n"; + } + } + + // Color properties + if (_colorValues.Count > 0) + { + text += "\nColor\n"; + foreach (var kvp in _colorValues) + { + // Embed color tags around the text for a visual effect + text += ""; + text += $"{kvp.Key}={kvp.Value}\n"; + text += ""; + } + } + + _propertiesText.text = string.IsNullOrEmpty(text) + ? "The model has no user properties" + : $"Model User Properties\n\n{text}"; + } + + /// + /// Event handler invoked once the model’s meshes and hierarchy are loaded + /// (but before textures and materials are fully processed). + /// Destroys the previously loaded model, if any, and fits the camera view + /// to the newly loaded model’s bounds. + /// + /// Contains references to the loaded model’s root . + private void OnLoad(AssetLoaderContext assetLoaderContext) + { + // Clean up the previously loaded GameObject + if (_loadedGameObject != null) + { + Destroy(_loadedGameObject); + } + + _loadedGameObject = assetLoaderContext.RootGameObject; + if (_loadedGameObject != null && Camera.main != null) + { + Camera.main.FitToBounds(assetLoaderContext.RootGameObject, 4f); + } + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Scripts/UserPropertiesLoadingSample.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Scripts/UserPropertiesLoadingSample.cs.meta new file mode 100644 index 00000000..3eed9e42 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Scripts/UserPropertiesLoadingSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 7aa00ee3dfb93954ca05cddb2ddaca95 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Scripts/UserPropertiesLoadingSample.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/UserPropertiesLoadingSample.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/UserPropertiesLoadingSample.unity new file mode 100644 index 00000000..56837e67 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/UserPropertiesLoadingSample.unity @@ -0,0 +1,1125 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.4482454, g: 0.49827284, b: 0.575582, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &511437562 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 511437563} + - component: {fileID: 511437566} + - component: {fileID: 511437565} + m_Layer: 5 + m_Name: Frame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &511437563 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511437562} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1191850460} + m_Father: {fileID: 896740806} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -80} + m_SizeDelta: {x: -40, y: -160} + m_Pivot: {x: 0, y: 1} +--- !u!114 &511437565 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511437562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &511437566 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 511437562} + m_CullTransparentMesh: 0 +--- !u!1 &896740802 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 896740806} + - component: {fileID: 896740805} + - component: {fileID: 896740804} + - component: {fileID: 896740803} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &896740803 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 896740802} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &896740804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 896740802} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &896740805 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 896740802} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &896740806 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 896740802} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1703386983} + - {fileID: 1927523238} + - {fileID: 511437563} + - {fileID: 1095449003} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1095449002 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1095449003} + - component: {fileID: 1095449006} + - component: {fileID: 1095449005} + - component: {fileID: 1095449004} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1095449003 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1095449002} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1410962577} + m_Father: {fileID: 896740806} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 20, y: 20} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1095449004 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1095449002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1095449005} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1571150584} + m_TargetAssemblyTypeName: + m_MethodName: LoadModel + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1095449005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1095449002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1095449006 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1095449002} + m_CullTransparentMesh: 0 +--- !u!1 &1191850456 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1191850460} + - component: {fileID: 1191850459} + - component: {fileID: 1191850457} + - component: {fileID: 1191850458} + - component: {fileID: 1191850461} + m_Layer: 5 + m_Name: Properties + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1191850457 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191850456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 114 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!114 &1191850458 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191850456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!222 &1191850459 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191850456} + m_CullTransparentMesh: 0 +--- !u!224 &1191850460 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191850456} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 511437563} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1191850461 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191850456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 2 +--- !u!1 &1350820707 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1350820711} + - component: {fileID: 1350820710} + - component: {fileID: 1350820709} + - component: {fileID: 1350820708} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1350820708 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350820707} + m_Enabled: 1 +--- !u!124 &1350820709 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350820707} + m_Enabled: 1 +--- !u!20 &1350820710 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350820707} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1350820711 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350820707} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1410962576 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1410962577} + - component: {fileID: 1410962579} + - component: {fileID: 1410962578} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1410962577 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1410962576} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1095449003} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1410962578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1410962576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Load Model +--- !u!222 &1410962579 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1410962576} + m_CullTransparentMesh: 0 +--- !u!1 &1571150583 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1571150585} + - component: {fileID: 1571150584} + m_Layer: 0 + m_Name: UserPropertiesLoadingSample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1571150584 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1571150583} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7aa00ee3dfb93954ca05cddb2ddaca95, type: 3} + m_Name: + m_EditorClassIdentifier: + _loadModelButton: {fileID: 1095449004} + _progressText: {fileID: 1927523241} + _propertiesText: {fileID: 1191850457} +--- !u!4 &1571150585 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1571150583} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1703386982 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1703386983} + - component: {fileID: 1703386986} + - component: {fileID: 1703386985} + - component: {fileID: 1703386984} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1703386983 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1703386982} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 896740806} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1703386984 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1703386982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1703386985 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1703386982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: This sample shows the loaded model user properties +--- !u!222 &1703386986 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1703386982} + m_CullTransparentMesh: 0 +--- !u!1 &1768550376 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1768550379} + - component: {fileID: 1768550378} + - component: {fileID: 1768550377} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1768550377 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768550376} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1768550378 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768550376} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1768550379 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768550376} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1927523237 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1927523238} + - component: {fileID: 1927523240} + - component: {fileID: 1927523241} + - component: {fileID: 1927523239} + m_Layer: 5 + m_Name: Progress + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1927523238 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1927523237} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 896740806} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -50} + m_SizeDelta: {x: -20, y: -50} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1927523239 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1927523237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!222 &1927523240 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1927523237} + m_CullTransparentMesh: 0 +--- !u!114 &1927523241 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1927523237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &2133880821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2133880823} + - component: {fileID: 2133880822} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &2133880822 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2133880821} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &2133880823 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2133880821} + m_LocalRotation: {x: -0.06645224, y: 0.90984374, z: -0.3768696, w: -0.16042991} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 45, y: 200, z: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/UserPropertiesLoadingSample.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/UserPropertiesLoadingSample.unity.meta new file mode 100644 index 00000000..09d10cb6 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/UserPropertiesLoadingSample.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 19d9f4198c9478b4e9a062089e1178c9 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/UserPropertiesLoadingSample.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Utils.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Utils.meta new file mode 100644 index 00000000..da1c7a92 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Utils.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 32ac1fb260fcee24ea98d31676dcf03f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Utils/SampleUserPropertiesMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Utils/SampleUserPropertiesMapper.cs new file mode 100644 index 00000000..0f6d1800 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Utils/SampleUserPropertiesMapper.cs @@ -0,0 +1,53 @@ +using System; +using TriLibCore.Interfaces; +using TriLibCore.Mappers; +using UnityEngine; + +namespace TriLibCore.Samples +{ + /// + /// A custom that forwards user properties + /// (attached to model GameObjects) to a user-specified callback. + /// + public class SampleUserPropertiesMapper : UserPropertiesMapper + { + /// + /// A callback invoked for each user property discovered during model loading. + /// + /// + /// This receives the following parameters: + /// + /// + /// GameObject: The GameObject to which the user property is attached. + /// + /// + /// string: The property’s name. + /// + /// + /// object: The property’s value (may be various types, such as , , , etc.). + /// + /// + /// + public Action OnUserDataProcessed; + + /// + /// Overrides the default TriLib user property processing to invoke + /// the callback (if not null). + /// + /// Contains context about the current model loading process. + /// The that owns the current user property. + /// The name of the user property. + /// The value of the user property, potentially in various types. + public override void OnProcessUserData( + AssetLoaderContext assetLoaderContext, + GameObject gameObject, + string propertyName, + object propertyValue) + { + if (OnUserDataProcessed != null) + { + OnUserDataProcessed(gameObject, propertyName, propertyValue); + } + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Utils/SampleUserPropertiesMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Utils/SampleUserPropertiesMapper.cs.meta new file mode 100644 index 00000000..9c9ff7a4 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Utils/SampleUserPropertiesMapper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 07173a76e05a0c74f86edc33f60425be +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibSamples/UserPropertiesLoading/Utils/SampleUserPropertiesMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/Editor.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/Editor.meta new file mode 100644 index 00000000..3351bec9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fb5f9c22dd29b9a438ef787dc11701c8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/Editor/StandaloneFileBrowserPreprocessor.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/Editor/StandaloneFileBrowserPreprocessor.cs new file mode 100644 index 00000000..10062603 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/Editor/StandaloneFileBrowserPreprocessor.cs @@ -0,0 +1,42 @@ +using System.Globalization; +using UnityEditor; +using UnityEditor.Build; +using UnityEditor.Build.Reporting; + +namespace TriLibCore.SFB.Editor +{ + public class StandaloneFileBrowserPreprocessor : IPreprocessBuildWithReport + { + private const string CPUPlatformData = "CPU"; + private const string AnyCPUPlatformData = "AnyCPU"; + + public int callbackOrder { get; } + + public void OnPreprocessBuild(BuildReport report) + { + var plugins = PluginImporter.GetAllImporters(); + foreach (var plugin in plugins) + { + // fixes a bug in Unity that resets the StandaloneFileBrowser plugin target CPU on OSX + if (report.summary.platform == BuildTarget.StandaloneOSX && plugin.assetPath.EndsWith("standalonefilebrowser.bundle", true, CultureInfo.InvariantCulture)) + { + var platformData = plugin.GetPlatformData("OSXUniversal", CPUPlatformData); + if (!plugin.GetCompatibleWithPlatform(report.summary.platform) || platformData != AnyCPUPlatformData) + { + if (EditorUtility.DisplayDialog( + $"StandaloneFileBrowser plugin is not included in '{report.summary.platform}' 'Any CPU' compilation.", + $"Do you want TriLib to configure the StandaloneFileBrowser plugin to be included in '{report.summary.platform}' 'Any CPU' compilation?", + "Yes", "No") + ) + { + plugin.SetCompatibleWithPlatform(report.summary.platform, true); + plugin.SetPlatformData("OSXUniversal", CPUPlatformData, AnyCPUPlatformData); + plugin.SaveAndReimport(); + } + } + break; + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/Editor/StandaloneFileBrowserPreprocessor.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/Editor/StandaloneFileBrowserPreprocessor.cs.meta new file mode 100644 index 00000000..90263648 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/Editor/StandaloneFileBrowserPreprocessor.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 4212d9e8fd133c34c9c7f7e81147487b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/Editor/StandaloneFileBrowserPreprocessor.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/ExtensionFilter.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/ExtensionFilter.cs.meta index 5091d058..8debb2f8 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/ExtensionFilter.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/ExtensionFilter.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/ExtensionFilter.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/IStandaloneFileBrowser.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/IStandaloneFileBrowser.cs.meta index e118faa5..17615e62 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/IStandaloneFileBrowser.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/IStandaloneFileBrowser.cs.meta @@ -10,3 +10,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/IStandaloneFileBrowser.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/ItemWithStream.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/ItemWithStream.cs.meta index 8a8b622d..9d5c66ae 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/ItemWithStream.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/ItemWithStream.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/ItemWithStream.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowser.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowser.cs index 82f71cc9..76158dfc 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowser.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowser.cs @@ -1,39 +1,57 @@ using System; using System.Collections.Generic; +using System.IO; +using static UnityEngine.Networking.UnityWebRequest; namespace TriLibCore.SFB { - /// Represents a platform-specific file browser. + /// + /// Provides a platform-specific file browser interface for opening and saving files and folders + /// using native dialogs. This static class delegates file browsing operations to an underlying platform‐ + /// specific implementation of . + /// + /// + /// The StandaloneFileBrowser class wraps various native file dialog implementations based on the + /// target platform (e.g., Unity Editor, Windows, Mac, Linux, Android, iOS, WebGL, UWP). At compile time, + /// the appropriate platform-specific implementation is assigned to the internal _platformWrapper field. + /// If no implementation is available for the target platform, the file browsing operations will not function. + /// + /// The class exposes both synchronous and asynchronous methods for opening files, opening folders, and saving files, + /// with support for extension filters to limit file types. Asynchronous methods use callbacks to return user selections. + /// public class StandaloneFileBrowser { #if UNITY_EDITOR - private static IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserEditor(); + private static IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserEditor(); #else #if UNITY_WSA - private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserWinRT(); + private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserWinRT(); #elif UNITY_ANDROID - private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserAndroid(); + private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserAndroid(); #elif UNITY_WEBGL - private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserWebGL(); + private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserWebGL(); #elif UNITY_STANDALONE_OSX - private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserMac(); + private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserMac(); #elif UNITY_IOS - private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserIOS(); + private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserIOS(); #elif UNITY_STANDALONE_WIN - private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserWindows(); + private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserWindows(); #elif UNITY_STANDALONE_LINUX - private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserLinux(); + private static readonly IStandaloneFileBrowser _platformWrapper = new StandaloneFileBrowserLinux(); #else - private static readonly IStandaloneFileBrowser _platformWrapper = null; + private static readonly IStandaloneFileBrowser _platformWrapper = null; #endif #endif + /// - /// Native open file dialog + /// Opens a native file dialog for selecting files. /// - /// Dialog title - /// Root directory - /// Allowed extension - /// Allow multiple file selection - /// Returns array of chosen items. Zero length array when cancelled + /// The title of the dialog window. + /// The initial directory to display. + /// A string representing the allowed file extension (e.g., "png"). + /// If true, allows multiple files to be selected; otherwise, only one file. + /// + /// An containing the selected items, or an empty list if the dialog is cancelled. + /// public static IList OpenFilePanel(string title, string directory, string extension, bool multiselect) { var extensions = string.IsNullOrEmpty(extension) ? null : new[] { new ExtensionFilter("", extension) }; @@ -41,26 +59,33 @@ namespace TriLibCore.SFB } /// - /// Native open file dialog + /// Opens a native file dialog for selecting files. /// - /// Dialog title - /// Root directory - /// List of extension filters. Filter Example: new ExtensionFilter("Image Files", "jpg", "png") - /// Allow multiple file selection - /// Returns array of chosen items. Zero length array when cancelled + /// The title of the dialog window. + /// The initial directory to display. + /// + /// An array of objects specifying allowed file types (e.g., + /// new ExtensionFilter("Image Files", "jpg", "png")). + /// + /// If true, allows multiple files to be selected; otherwise, only one file. + /// + /// An containing the selected items, or an empty list if the dialog is cancelled. + /// public static IList OpenFilePanel(string title, string directory, ExtensionFilter[] extensions, bool multiselect) { return _platformWrapper.OpenFilePanel(title, directory, extensions, multiselect); } /// - /// Native open file dialog async + /// Opens a native file dialog asynchronously for selecting files. /// - /// Dialog title - /// Root directory - /// Allowed extension - /// Allow multiple file selection - /// Panel action callback + /// The title of the dialog window. + /// The initial directory to display. + /// A string representing the allowed file extension (e.g., "png"). + /// If true, allows multiple files to be selected. + /// + /// A callback action to be invoked with the list of selected items (or an empty list if cancelled). + /// public static void OpenFilePanelAsync(string title, string directory, string extension, bool multiselect, Action> cb) { var extensions = string.IsNullOrEmpty(extension) ? null : new[] { new ExtensionFilter("", extension) }; @@ -68,50 +93,60 @@ namespace TriLibCore.SFB } /// - /// Native open file dialog async + /// Opens a native file dialog asynchronously for selecting files. /// - /// Dialog title - /// Root directory - /// List of extension filters. Filter Example: new ExtensionFilter("Image Files", "jpg", "png") - /// Allow multiple file selection - /// Panel action callback + /// The title of the dialog window. + /// The initial directory to display. + /// + /// An array of objects specifying allowed file types. + /// + /// If true, allows multiple files to be selected. + /// + /// A callback action to be invoked with the list of selected items (or an empty list if cancelled). + /// public static void OpenFilePanelAsync(string title, string directory, ExtensionFilter[] extensions, bool multiselect, Action> cb) { _platformWrapper.OpenFilePanelAsync(title, directory, extensions, multiselect, cb); } /// - /// Native open folder dialog + /// Opens a native folder dialog for selecting a folder. /// - /// - /// Root directory - /// - /// Returns array of chosen items. Zero length array when cancelled + /// The title of the folder dialog. + /// The initial directory to display. + /// If true, allows multiple folder selections; otherwise, only one folder can be selected. + /// + /// An containing the selected folder(s), or an empty list if cancelled. + /// public static IList OpenFolderPanel(string title, string directory, bool multiselect) { return _platformWrapper.OpenFolderPanel(title, directory, multiselect); } /// - /// Native open folder dialog async + /// Opens a native folder dialog asynchronously for selecting a folder. /// - /// - /// Root directory - /// - /// Panel action callback + /// The title of the folder dialog. + /// The initial directory to display. + /// If true, allows multiple folder selections; otherwise, only one folder can be selected. + /// + /// A callback action to be invoked with the list of selected folder items (or an empty list if cancelled). + /// public static void OpenFolderPanelAsync(string title, string directory, bool multiselect, Action> cb) { _platformWrapper.OpenFolderPanelAsync(title, directory, multiselect, cb); } /// - /// Native save file dialog + /// Opens a native save file dialog. /// - /// Dialog title - /// Root directory - /// Default file name - /// File extension - /// Returns chosen item. Null when cancelled + /// The title of the save dialog. + /// The initial directory to display. + /// The default file name to pre-populate in the dialog. + /// A string representing the allowed file extension (e.g., "txt"). + /// + /// An representing the chosen file, or null if the dialog was cancelled. + /// public static ItemWithStream SaveFilePanel(string title, string directory, string defaultName, string extension) { var extensions = string.IsNullOrEmpty(extension) ? null : new[] { new ExtensionFilter("", extension) }; @@ -119,27 +154,35 @@ namespace TriLibCore.SFB } /// - /// Native save file dialog + /// Opens a native save file dialog. /// - /// Dialog title - /// Root directory - /// Default file name - /// List of extension filters. Filter Example: new ExtensionFilter("Image Files", "jpg", "png") - /// Returns chosen item. Null when cancelled + /// The title of the save dialog. + /// The initial directory to display. + /// The default file name to pre-populate in the dialog. + /// + /// An array of objects specifying allowed file types. + /// + /// + /// An representing the chosen file, or null if cancelled. + /// public static ItemWithStream SaveFilePanel(string title, string directory, string defaultName, ExtensionFilter[] extensions) { return _platformWrapper.SaveFilePanel(title, directory, defaultName, extensions); } /// - /// Native save file dialog async + /// Opens a native save file dialog asynchronously. /// - /// Dialog title - /// Root directory - /// Default file name - /// File extension - /// Panel action callback - /// Data to be saved (used on WebGL platform) + /// The title of the save file dialog. + /// The initial directory to display. + /// The default file name to pre-populate in the dialog. + /// A string representing the allowed file extension. + /// + /// A callback action that is invoked with the selected file item, or null if cancelled. + /// + /// + /// Optional data to be saved (used on WebGL platform). + /// public static void SaveFilePanelAsync(string title, string directory, string defaultName, string extension, Action cb, byte[] data = null) { var extensions = string.IsNullOrEmpty(extension) ? null : new[] { new ExtensionFilter("", extension) }; @@ -147,23 +190,68 @@ namespace TriLibCore.SFB } /// - /// Native save file dialog async + /// Opens a native save file dialog asynchronously. /// - /// Dialog title - /// Root directory - /// Default file name - /// List of extension filters. Filter Example: new ExtensionFilter("Image Files", "jpg", "png") - /// Panel action callback - /// Data to be saved (used on WebGL platform) + /// The title of the save file dialog. + /// The initial directory to display. + /// The default file name to pre-populate in the dialog. + /// + /// An array of objects specifying allowed file types. + /// + /// + /// A callback action that is invoked with the selected file item, or null if cancelled. + /// + /// + /// Optional data to be saved (used on WebGL platform). + /// public static void SaveFilePanelAsync(string title, string directory, string defaultName, ExtensionFilter[] extensions, Action cb, byte[] data = null) { #if UNITY_WEBGL && !UNITY_EDITOR - if (_platformWrapper is StandaloneFileBrowserWebGL standaloneFileBrowserWebGL) - { - standaloneFileBrowserWebGL.Data = data; - } + if (_platformWrapper is StandaloneFileBrowserWebGL standaloneFileBrowserWebGL) + { + standaloneFileBrowserWebGL.Data = data; + } #endif _platformWrapper.SaveFilePanelAsync(title, directory, defaultName, extensions, cb); } + + internal static ItemWithStream BuildItemFromSingleFilename(IList filenames) + { + if (filenames?.Count > 0) + { + return new ItemWithStream() + { + Name = filenames[0] + }; + } + return null; + } + + internal static IList BuildItemsFromFilenames(IList filenames) + { + if (filenames?.Count > 0) + { + var results = new ItemWithStream[filenames.Count]; + for (var i = 0; i < filenames.Count; i++) + { + results[i] = new ItemWithStream() + { + Name = filenames[i] + }; + } + return results; + } + return null; + } + + internal static IList BuildItemsFromFolderContents(string filename) + { + if (Directory.Exists(filename)) + { + var directoryFilenames = Directory.GetFiles(filename); + return BuildItemsFromFilenames(directoryFilenames); + } + return null; + } } } \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowser.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowser.cs.meta index 4d45f255..b6d2f199 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowser.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowser.cs.meta @@ -10,3 +10,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowser.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserAndroid.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserAndroid.cs.meta index ddf5a150..68d3f5c9 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserAndroid.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserAndroid.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserAndroid.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs index 12782e91..204514b6 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs @@ -33,12 +33,8 @@ namespace TriLibCore.SFB public IList OpenFolderPanel(string title, string directory, bool multiselect) { - var path = EditorUtility.OpenFolderPanel(title, directory, ""); - var itemWithStream = new ItemWithStream - { - Name = path - }; - return new [] { itemWithStream }; + var filename = EditorUtility.OpenFolderPanel(title, directory, ""); + return StandaloneFileBrowser.BuildItemsFromFolderContents(filename); } public void OpenFolderPanelAsync(string title, string directory, bool multiselect, Action> cb) diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs.meta index d31cb654..9b5ae151 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs.meta @@ -10,3 +10,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserIOS.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserIOS.cs index c4a243c5..22468128 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserIOS.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserIOS.cs @@ -141,8 +141,7 @@ namespace TriLibCore.SFB { result[i] = new ItemWithStream() { - Name = filenames[i]//, - //Stream = File.OpenRead(filenames[i]) + Name = filenames[i] }; } return result; diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserIOS.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserIOS.cs.meta index 1f338aad..e2076c7b 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserIOS.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserIOS.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserIOS.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserLinux.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserLinux.cs index 663afb46..125b184d 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserLinux.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserLinux.cs @@ -1,9 +1,7 @@ #if UNITY_STANDALONE_LINUX || UNITY_EDITOR_LINUX using System; using System.Collections.Generic; -using System.IO; using System.Runtime.InteropServices; -using System.Threading.Tasks; namespace TriLibCore.SFB { @@ -17,21 +15,38 @@ namespace TriLibCore.SFB public delegate void AsyncCallback(string path); [AOT.MonoPInvokeCallback(typeof(AsyncCallback))] - private static void openFileCb(string result) + private static void openFileCb(string paths) { - _openFileCb.Invoke(ParseResults(result)); + var filenames = ParseResults(paths); + var results = StandaloneFileBrowser.BuildItemsFromFilenames(filenames); + _openFileCb.Invoke(results); } [AOT.MonoPInvokeCallback(typeof(AsyncCallback))] - private static void openFolderCb(string result) + private static void openFolderCb(string paths) { - _openFolderCb.Invoke(ParseResults(result)); + IList results = null; + var filenames = ParseResults(paths); + if (filenames?.Count > 0) + { + var filename = filenames[0]; + results = StandaloneFileBrowser.BuildItemsFromFolderContents(filename); + } + _openFolderCb.Invoke(results); } [AOT.MonoPInvokeCallback(typeof(AsyncCallback))] - private static void saveFileCb(string result) + private static void saveFileCb(string path) { - _saveFileCb.Invoke(ParseResults(result)?[0]); + ItemWithStream result = null; + if (path != null) + { + result = new ItemWithStream + { + Name = path + }; + } + _saveFileCb(result); } [DllImport("StandaloneFileBrowser")] @@ -61,7 +76,9 @@ namespace TriLibCore.SFB directory, GetFilterFromFileExtensionList(extensions), multiselect)); - return ParseResults(paths); + var filenames = ParseResults(paths); + var results = StandaloneFileBrowser.BuildItemsFromFilenames(filenames); + return results; } public void OpenFilePanelAsync(string title, string directory, ExtensionFilter[] extensions, bool multiselect, Action> cb) @@ -81,7 +98,13 @@ namespace TriLibCore.SFB title, directory, multiselect)); - return ParseResults(paths); + var filenames = ParseResults(paths); + if (filenames?.Count > 0) + { + var filename = filenames[0]; + return StandaloneFileBrowser.BuildItemsFromFolderContents(filename); + } + return null; } public void OpenFolderPanelAsync(string title, string directory, bool multiselect, Action> cb) @@ -101,10 +124,14 @@ namespace TriLibCore.SFB directory, defaultName, GetFilterFromFileExtensionList(extensions))); - return new ItemWithStream + if (filename != null) { - Name = filename - }; + return new ItemWithStream + { + Name = filename + }; + } + return null; } public void SaveFilePanelAsync(string title, string directory, string defaultName, ExtensionFilter[] extensions, Action cb) @@ -139,21 +166,12 @@ namespace TriLibCore.SFB return filterString; } - private static IList ParseResults(string paths) + private static IList ParseResults(string paths) { if (paths != null) { var filenames = paths.Split((char)28); - var result = new ItemWithStream[filenames.Length]; - for (var i = 0; i < filenames.Length; i++) - { - result[i] = new ItemWithStream() - { - Name = filenames[i]//, - //Stream = File.OpenRead(filenames[i]) - }; - } - return result; + return filenames; } return null; } diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserLinux.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserLinux.cs.meta index e8bfba16..529d753c 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserLinux.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserLinux.cs.meta @@ -1,3 +1,10 @@ fileFormatVersion: 2 guid: 5d3a668018554b8a89c3fe12de72b60c -timeCreated: 1538067919 \ No newline at end of file +timeCreated: 1538067919 +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserLinux.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserMac.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserMac.cs index b4e74f18..051d3253 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserMac.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserMac.cs @@ -17,21 +17,38 @@ namespace TriLibCore.SFB public delegate void AsyncCallback(string path); [AOT.MonoPInvokeCallback(typeof(AsyncCallback))] - private static void openFileCb(string result) + private static void openFileCb(string paths) { - _openFileCb.Invoke(ParseResults(result)); + var filenames = ParseResults(paths); + var results = StandaloneFileBrowser.BuildItemsFromFilenames(filenames); + _openFileCb.Invoke(results); } [AOT.MonoPInvokeCallback(typeof(AsyncCallback))] - private static void openFolderCb(string result) + private static void openFolderCb(string paths) { - _openFolderCb.Invoke(ParseResults(result)); + IList results = null; + var filenames = ParseResults(paths); + if (filenames?.Count > 0) + { + var filename = filenames[0]; + results = StandaloneFileBrowser.BuildItemsFromFolderContents(filename); + } + _openFolderCb.Invoke(results); } [AOT.MonoPInvokeCallback(typeof(AsyncCallback))] - private static void saveFileCb(string result) + private static void saveFileCb(string path) { - _saveFileCb.Invoke(ParseResults(result)?[0]); + ItemWithStream result = null; + if (path != null) + { + result = new ItemWithStream + { + Name = path + }; + } + _saveFileCb(result); } [DllImport("StandaloneFileBrowser")] @@ -54,7 +71,9 @@ namespace TriLibCore.SFB directory, GetFilterFromFileExtensionList(extensions), multiselect)); - return ParseResults(paths); + var filenames = ParseResults(paths); + var results = StandaloneFileBrowser.BuildItemsFromFilenames(filenames); + return results; } public void OpenFilePanelAsync(string title, string directory, ExtensionFilter[] extensions, bool multiselect, Action> cb) @@ -74,7 +93,13 @@ namespace TriLibCore.SFB title, directory, multiselect)); - return ParseResults(paths); + var filenames = ParseResults(paths); + if (filenames?.Count > 0) + { + var filename = filenames[0]; + return StandaloneFileBrowser.BuildItemsFromFolderContents(filename); + } + return null; } public void OpenFolderPanelAsync(string title, string directory, bool multiselect, Action> cb) @@ -94,10 +119,14 @@ namespace TriLibCore.SFB directory, defaultName, GetFilterFromFileExtensionList(extensions))); - return new ItemWithStream + if (filename != null) { - Name = filename - }; + return new ItemWithStream + { + Name = filename + }; + } + return null; } public void SaveFilePanelAsync(string title, string directory, string defaultName, ExtensionFilter[] extensions, Action cb) @@ -138,24 +167,15 @@ namespace TriLibCore.SFB return filterString; } - private static IList ParseResults(string paths) + private static IList ParseResults(string paths) { if (paths != null) { var filenames = paths.Split((char)28); - var result = new ItemWithStream[filenames.Length]; - for (var i = 0; i < filenames.Length; i++) - { - result[i] = new ItemWithStream() - { - Name = filenames[i]//, - //Stream = File.OpenRead(filenames[i]) - }; - } - return result; + return filenames; } return null; } } } -#endif \ No newline at end of file +#endif diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserMac.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserMac.cs.meta index d2b06568..2f47ce83 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserMac.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserMac.cs.meta @@ -10,3 +10,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserMac.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWebGL.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWebGL.cs index db564311..58038192 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWebGL.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWebGL.cs @@ -63,8 +63,9 @@ namespace TriLibCore.SFB public class StandaloneFileBrowserWebGL : IStandaloneFileBrowser { + [DllImport("__Internal")] - private static extern void UploadFile(string gameObjectName, string methodName, string filter, bool multiple); + private static extern void UploadFile(string gameObjectName, string methodName, string filter, bool multiple, bool selectDirectory); [DllImport("__Internal")] private static extern void DownloadFile(string gameObjectName, string methodName, string filename, byte[] byteArray, int byteArraySize); @@ -96,12 +97,14 @@ namespace TriLibCore.SFB { var helper = new GameObject(Guid.NewGuid().ToString()).AddComponent(); helper.MultipleFilesCallback = cb; - UploadFile(helper.name, "InvokeCallback", GetFilterFromFileExtensionList(extensions), multiselect); + UploadFile(helper.name, "InvokeCallback", GetFilterFromFileExtensionList(extensions), multiselect, false); } public void OpenFolderPanelAsync(string title, string directory, bool multiselect, Action> cb) { - throw new NotSupportedException(); + var helper = new GameObject(Guid.NewGuid().ToString()).AddComponent(); + helper.MultipleFilesCallback = cb; + UploadFile(helper.name, "InvokeCallback", null, false, true); } public void SaveFilePanelAsync(string title, string directory, string defaultName, ExtensionFilter[] extensions, Action cb) diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWebGL.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWebGL.cs.meta index 37f05456..3de5433d 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWebGL.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWebGL.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWebGL.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWinRT.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWinRT.cs index b2252938..7b8d99bc 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWinRT.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWinRT.cs @@ -78,12 +78,24 @@ namespace TriLibCore.SFB UnityEngine.WSA.Application.InvokeOnUIThread(async () => { var folderPicker = new Windows.Storage.Pickers.FolderPicker(); + folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop; + folderPicker.FileTypeFilter.Add("*"); var folder = await folderPicker.PickSingleFolderAsync(); - var folderWithStream = new ItemWithStream() + if (folder != null) { - Name = folder.Name - }; - await Task.Run(() => cb(new[] { folderWithStream })); + var files = await folder.GetFilesAsync(); + var itemsWithStream = new List(); + foreach (var file in files) + { + var itemWithStream = new ItemWithStream() + { + Name = file.Name, + Stream = await ReadStorageFile(file) + }; + itemsWithStream.Add(itemWithStream); + } + await Task.Run(() => cb(itemsWithStream.ToArray())); + } }, false); } diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWinRT.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWinRT.cs.meta index 60dd051c..75bff2f4 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWinRT.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWinRT.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWinRT.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWindows.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWindows.cs index d85d3ef6..f53a7ec6 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWindows.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWindows.cs @@ -1,7 +1,9 @@ #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN using System; using System.Collections.Generic; +using System.IO; using System.Runtime.InteropServices; +using static UnityEngine.Networking.UnityWebRequest; namespace TriLibCore.SFB { @@ -10,31 +12,33 @@ namespace TriLibCore.SFB private const int BufferSize = 2048; [DllImport("StandaloneFileBrowser", CharSet = CharSet.Unicode)] - private static extern bool DialogOpenFilePanel(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)]string title, [MarshalAs(UnmanagedType.LPWStr)]string directory, [MarshalAs(UnmanagedType.LPWStr)]string extension, bool multiselect); + private static extern bool DialogOpenFilePanel(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)] string title, [MarshalAs(UnmanagedType.LPWStr)] string directory, [MarshalAs(UnmanagedType.LPWStr)] string extension, bool multiselect); [DllImport("StandaloneFileBrowser", CharSet = CharSet.Unicode)] - private static extern bool DialogOpenFilePanelAsync(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)]string title, [MarshalAs(UnmanagedType.LPWStr)]string directory, [MarshalAs(UnmanagedType.LPWStr)]string extension, bool multiselect, AsyncCallback callback); + private static extern bool DialogOpenFilePanelAsync(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)] string title, [MarshalAs(UnmanagedType.LPWStr)] string directory, [MarshalAs(UnmanagedType.LPWStr)] string extension, bool multiselect, AsyncCallback callback); [DllImport("StandaloneFileBrowser", CharSet = CharSet.Unicode)] - private static extern bool DialogOpenFolderPanel(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)]string title, [MarshalAs(UnmanagedType.LPWStr)]string directory, bool multiselect); + private static extern bool DialogOpenFolderPanel(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)] string title, [MarshalAs(UnmanagedType.LPWStr)] string directory, bool multiselect); [DllImport("StandaloneFileBrowser", CharSet = CharSet.Unicode)] - private static extern void DialogOpenFolderPanelAsync(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)]string title, [MarshalAs(UnmanagedType.LPWStr)]string directory, bool multiselect, AsyncCallback callback); + private static extern void DialogOpenFolderPanelAsync(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)] string title, [MarshalAs(UnmanagedType.LPWStr)] string directory, bool multiselect, AsyncCallback callback); [DllImport("StandaloneFileBrowser", CharSet = CharSet.Unicode)] - private static extern bool DialogSaveFilePanel(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)]string title, [MarshalAs(UnmanagedType.LPWStr)]string directory, [MarshalAs(UnmanagedType.LPWStr)]string defaultName, [MarshalAs(UnmanagedType.LPWStr)]string extension); + private static extern bool DialogSaveFilePanel(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)] string title, [MarshalAs(UnmanagedType.LPWStr)] string directory, [MarshalAs(UnmanagedType.LPWStr)] string defaultName, [MarshalAs(UnmanagedType.LPWStr)] string extension); [DllImport("StandaloneFileBrowser", CharSet = CharSet.Unicode)] - private static extern void DialogSaveFilePanelAsync(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)] string title, [MarshalAs(UnmanagedType.LPWStr)]string directory, [MarshalAs(UnmanagedType.LPWStr)] string defaultName, [MarshalAs(UnmanagedType.LPWStr)]string extension, AsyncCallback callback); + private static extern void DialogSaveFilePanelAsync(IntPtr buffer, int bufferSize, [MarshalAs(UnmanagedType.LPWStr)] string title, [MarshalAs(UnmanagedType.LPWStr)] string directory, [MarshalAs(UnmanagedType.LPWStr)] string defaultName, [MarshalAs(UnmanagedType.LPWStr)] string extension, AsyncCallback callback); public IList OpenFilePanel(string title, string directory, ExtensionFilter[] extensions, bool multiselect) { - var results = new List(); + IList results = null; var buffer = new char[BufferSize]; var bufferLock = GCHandle.Alloc(buffer, GCHandleType.Pinned); if (DialogOpenFilePanel(bufferLock.AddrOfPinnedObject(), BufferSize, title, directory, GetFilterFromFileExtensionList(extensions), multiselect)) { - ParseResults(buffer, results, multiselect); + var filenames = new List(); + ParseResults(buffer, filenames, multiselect); + results = StandaloneFileBrowser.BuildItemsFromFilenames(filenames); } bufferLock.Free(); - return results.ToArray(); + return results; } - + public void OpenFilePanelAsync(string title, string directory, ExtensionFilter[] extensions, bool multiselect, Action> cb) { //todo: async @@ -43,12 +47,18 @@ namespace TriLibCore.SFB public IList OpenFolderPanel(string title, string directory, bool multiselect) { - var results = new List(); + IList results = null; var buffer = new char[BufferSize]; var bufferLock = GCHandle.Alloc(buffer, GCHandleType.Pinned); if (DialogOpenFolderPanel(bufferLock.AddrOfPinnedObject(), BufferSize, title, directory, multiselect)) { - ParseResults(buffer, results, multiselect); + var filenames = new List(); + ParseResults(buffer, filenames, multiselect); + if (filenames?.Count > 0) + { + var filename = filenames[0]; + results = StandaloneFileBrowser.BuildItemsFromFolderContents(filename); + } } bufferLock.Free(); return results; @@ -62,15 +72,17 @@ namespace TriLibCore.SFB public ItemWithStream SaveFilePanel(string title, string directory, string defaultName, ExtensionFilter[] extensions) { - var results = new List(); + ItemWithStream result = null; var buffer = new char[BufferSize]; var bufferLock = GCHandle.Alloc(buffer, GCHandleType.Pinned); if (DialogSaveFilePanel(bufferLock.AddrOfPinnedObject(), BufferSize, title, directory, defaultName, GetFilterFromFileExtensionList(extensions))) { - ParseResults(buffer, results, false); + var filenames = new List(); + ParseResults(buffer, filenames, false); + result = StandaloneFileBrowser.BuildItemFromSingleFilename(filenames); } bufferLock.Free(); - return results.Count > 0 ? results[0] : null; + return result; } public void SaveFilePanelAsync(string title, string directory, string defaultName, ExtensionFilter[] extensions, Action cb) @@ -115,7 +127,7 @@ namespace TriLibCore.SFB return filterString; } - private static void ParseResults(char[] buffer, List results, bool multiselect) + private static void ParseResults(char[] buffer, List filenames, bool multiselect) { var currentStringBytes = new List(); foreach (var c in buffer) @@ -125,20 +137,17 @@ namespace TriLibCore.SFB var currentString = new string(currentStringBytes.ToArray()); if (!string.IsNullOrWhiteSpace(currentString) && currentString != "\0") { - var filename = multiselect && results.Count > 0 ? $"{results[0].Name}\\{currentString}" : currentString; - results.Add(new ItemWithStream - { - Name = filename - }); + var filename = multiselect && filenames.Count > 0 ? $"{filenames[0]}\\{currentString}" : currentString; + filenames.Add(filename); } currentStringBytes.Clear(); continue; } currentStringBytes.Add(c); } - if (multiselect && results.Count > 1) + if (multiselect && filenames.Count > 1) { - results.RemoveAt(0); + filenames.RemoveAt(0); } } } diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWindows.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWindows.cs.meta index d5f74016..e0385e3a 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWindows.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWindows.cs.meta @@ -10,3 +10,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/StandaloneFileBrowserWindows.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/AssetLoaderFilePicker.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/AssetLoaderFilePicker.cs index 1c371c12..3a768ef5 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/AssetLoaderFilePicker.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/AssetLoaderFilePicker.cs @@ -1,17 +1,29 @@ #pragma warning disable 618 using System; +using TriLibCore.General; using TriLibCore.SFB; using TriLibCore.Utils; using UnityEngine; namespace TriLibCore { - /// Represents an Asset Loader which loads files using a platform-specific file picker. + /// + /// Extends to handle model file or directory selection using + /// a platform-specific file picker. Once a user selects one or more files/folders, + /// TriLib's loading pipeline is triggered to import the models (including materials, textures, etc.). + /// public class AssetLoaderFilePicker : IOAssetLoader { - /// Creates the Asset Loader File Picker Singleton instance. - /// The created AssetLoaderFilePicker. + /// + /// Creates a new singleton instance attached + /// to a in the current scene. By default, + /// is enabled, causing the component to self-destruct + /// once loading completes or fails. + /// + /// + /// A reference to the newly instantiated . + /// public static AssetLoaderFilePicker Create() { var gameObject = new GameObject("AssetLoaderFilePicker"); @@ -20,17 +32,60 @@ namespace TriLibCore return assetLoaderFilePicker; } - /// Loads a Model from the OS file picker asynchronously, or synchronously when the OS doesn't support Threads. - /// The dialog title. - /// The Method to call on the Main Thread when the Model is loaded but resources may still pending. - /// The Method to call on the Main Thread when the Model and resources are loaded. - /// The Method to call when the Model loading progress changes. - /// The Method to call when the model begins to load. - /// The Method to call on the Main Thread when any error occurs. - /// The Game Object that will be the parent of the loaded Game Object. Can be null. - /// The options to use when loading the Model. - /// Turn on this field to avoid loading the model immediately and chain the Tasks. - public void LoadModelFromFilePickerAsync(string title, Action onLoad, Action onMaterialsLoad, Action onProgress, Action onBeginLoad, Action onError, GameObject wrapperGameObject, AssetLoaderOptions assetLoaderOptions, bool haltTask = false) + /// + /// Opens an OS-native file selection dialog asynchronously, allowing the user + /// to pick one or more model files. TriLib then loads the selected model(s) + /// in the background, invoking the provided callbacks at each stage + /// (e.g., initial load, material load, progress, error). + /// + /// The title displayed in the file dialog window. + /// + /// A callback invoked on the main thread once the model is loaded (but possibly + /// before all materials have been processed). + /// + /// + /// A callback invoked on the main thread after the model’s materials + /// (textures, shaders, etc.) are fully loaded. + /// + /// + /// A callback that receives updates on the model loading progress (0 to 1). + /// + /// + /// A callback invoked when the loading process begins, passing a bool + /// indicating whether any valid files were selected. + /// + /// + /// A callback invoked if any error occurs during the file selection or loading process, + /// providing an for debugging or user messaging. + /// + /// + /// An optional parent under which the loaded model(s) + /// will be placed. If null, the models are created at the root scene level. + /// + /// + /// A set of that govern loading behavior + /// (e.g., whether to import lights, animations, colliders, etc.). If null, + /// TriLib default options are used. + /// + /// + /// If true, TriLib prepares but does not immediately start loading tasks, + /// letting you schedule or chain them manually. + /// + /// + /// This method calls once the user finishes selecting files, + /// which triggers the actual load process through TriLib’s pipeline. + /// + public void LoadModelFromFilePickerAsync( + string title, + Action onLoad = null, + Action onMaterialsLoad = null, + Action onProgress = null, + Action onBeginLoad = null, + Action onError = null, + GameObject wrapperGameObject = null, + AssetLoaderOptions assetLoaderOptions = null, + bool haltTask = false + ) { OnLoad = onLoad; OnMaterialsLoad = onMaterialsLoad; @@ -42,12 +97,87 @@ namespace TriLibCore HaltTask = haltTask; try { - StandaloneFileBrowser.OpenFilePanelAsync(title, null, GetExtensions(), true, OnItemsWithStreamSelected); + // This method displays the system’s file dialog, filtering accepted file types + StandaloneFileBrowser.OpenFilePanelAsync(title, null, GetExtensions(), true, OnItemsWithStreamSelected); } - catch (Exception) + catch (Exception e) { Dispatcher.InvokeAsync(DestroyMe); - throw; + OnError(new ContextualizedError(e, null)); + } + } + + /// + /// Opens an OS-native folder selection dialog asynchronously, allowing the user + /// to pick one or more directories containing model files. TriLib then scans + /// and loads any recognized models in the background, invoking the provided callbacks + /// for load completion, material loading, progress, or errors. + /// + /// The title displayed in the folder dialog window. + /// + /// A callback invoked on the main thread once each model is loaded (before + /// its materials may be fully processed). + /// + /// + /// A callback invoked on the main thread after each model’s materials (textures, shaders, etc.) + /// are fully loaded. + /// + /// + /// A callback reporting the model loading progress (range 0–1). + /// + /// + /// A callback invoked when loading starts, with a bool indicating whether + /// any valid directories or files were selected. + /// + /// + /// A callback invoked if an error occurs during directory selection or loading, + /// supplying an for logging or UI feedback. + /// + /// + /// An optional parent under which loaded models will be placed. + /// If null, the models are created at the scene’s root. + /// + /// + /// A set of that control the import process. If null, + /// TriLib’s default options are used. + /// + /// + /// If true, TriLib queues but does not initiate loading tasks immediately, + /// enabling manual scheduling or chaining of loads. + /// + /// + /// Similar to but uses a folder selection UI + /// and attempts to load any recognized 3D files found in the chosen directories. + /// + public void LoadModelFromDirectoryPickerAsync( + string title, + Action onLoad = null, + Action onMaterialsLoad = null, + Action onProgress = null, + Action onBeginLoad = null, + Action onError = null, + GameObject wrapperGameObject = null, + AssetLoaderOptions assetLoaderOptions = null, + bool haltTask = false + ) + { + OnLoad = onLoad; + OnMaterialsLoad = onMaterialsLoad; + OnProgress = onProgress; + OnError = onError; + OnBeginLoad = onBeginLoad; + WrapperGameObject = wrapperGameObject; + AssetLoaderOptions = assetLoaderOptions; + HaltTask = haltTask; + try + { + // This method displays the system’s folder dialog, scanning the selected directory for models + StandaloneFileBrowser.OpenFolderPanelAsync(title, null, true, OnItemsWithStreamSelected); + } + catch (Exception e) + { + Dispatcher.InvokeAsync(DestroyMe); + OnError(new ContextualizedError(e, null)); } } } diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/AssetLoaderFilePicker.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/AssetLoaderFilePicker.cs.meta index b7910da6..7f2bf02e 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/AssetLoaderFilePicker.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/AssetLoaderFilePicker.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/AssetLoaderFilePicker.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/IOAssetLoader.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/IOAssetLoader.cs index 61e38dd5..5f12a641 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/IOAssetLoader.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/IOAssetLoader.cs @@ -1,5 +1,4 @@ #pragma warning disable 184 - using System; using System.Collections; using System.Collections.Generic; @@ -11,38 +10,120 @@ using UnityEngine; namespace TriLibCore { + /// + /// Provides functionality for selecting and loading 3D models from file streams (including archives) + /// and applying them to the Unity scene using TriLib’s pipeline. + /// This class manages callbacks for model loading, progress reporting, and error handling, and it can + /// optionally destroy itself after the loading process completes. + /// public class IOAssetLoader : MonoBehaviour { + /// + /// Indicates whether this loader component should self-destruct + /// (destroy its ) once model loading completes or fails. + /// protected bool AutoDestroy; + /// + /// A callback invoked on the main Unity thread after the model’s core data has been loaded + /// (but potentially before all materials and textures have finished). + /// protected Action OnLoad; + + /// + /// A callback invoked on the main Unity thread after all materials, textures, and other + /// resources have finished loading for the model. + /// protected Action OnMaterialsLoad; + + /// + /// A callback triggered whenever the loading progress updates (from 0 to 1). Receives + /// both the and a float progress value. + /// protected Action OnProgress; + + /// + /// A callback invoked on the main Unity thread if any error occurs during file selection + /// or loading. Carries an with error details. + /// protected Action OnError; + + /// + /// A callback invoked once file loading begins, passing a indicating + /// whether valid files are actually being loaded. + /// protected Action OnBeginLoad; + + /// + /// An optional parent under which the loaded model hierarchy + /// will be placed. If null, the model is created at the scene’s root level. + /// protected GameObject WrapperGameObject; + + /// + /// Contains settings that control TriLib’s import behavior, such as material/texture handling, + /// colliders, animation type, etc. If null, default options are generated. + /// protected AssetLoaderOptions AssetLoaderOptions; + + /// + /// If true, tasks for model loading are created but not started immediately, + /// allowing the caller to chain or manage them manually. + /// protected bool HaltTask; + /// + /// A list of objects representing the files selected for loading. + /// Each item potentially contains a to the model data. + /// private IList _items; + + /// + /// Stores the file extension of the primary model file (derived via ). + /// Used to determine loading logic (e.g., whether it’s a .zip or recognized 3D format). + /// private string _modelExtension; + /// + /// Safely destroys the hosting this loader component. + /// This is called if is true or upon certain + /// error conditions. + /// protected void DestroyMe() { Destroy(gameObject); } + /// + /// Initiates the file loading sequence by starting a coroutine that checks + /// whether the selected files are valid and proceeds with TriLib loading. + /// private void HandleFileLoading() { StartCoroutine(DoHandleFileLoading()); } + /// + /// The core loading coroutine which verifies file data, triggers TriLib’s + /// or (if it's a .zip), + /// and invokes callbacks for progress, success, or failure. + /// + /// + /// If no valid files are found, the loader may destroy itself if is set. + /// This method handles both archive loading (via AssetLoaderZip) and direct model + /// file loading (e.g., FBX, GLTF, etc.). + /// private IEnumerator DoHandleFileLoading() { + // Notify that loading is about to begin var hasFiles = _items != null && _items.Count > 0 && _items[0].HasData; OnBeginLoad?.Invoke(hasFiles); + + // Yield for two frames to let the UI or any other logic update yield return new WaitForEndOfFrame(); yield return new WaitForEndOfFrame(); + + // If no valid files are found, handle cleanup if (!hasFiles) { if (AutoDestroy) @@ -51,55 +132,132 @@ namespace TriLibCore } yield break; } + + // Identify a usable model file from the selected items var modelFileWithStream = FindModelFile(); var modelFilename = modelFileWithStream.Name; var modelStream = modelFileWithStream.OpenStream(); + + // Create default loader options if none are specified if (AssetLoaderOptions == null) { AssetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); } + + // Ensure FilePicker-based mappers are used if not already present if (!ArrayUtils.ContainsType(AssetLoaderOptions.TextureMappers)) { - AssetLoaderOptions.TextureMappers = new TextureMapper[] { ScriptableObject.CreateInstance() }; + var textureMapper = ScriptableObject.CreateInstance(); + if (AssetLoaderOptions.TextureMappers == null) + { + AssetLoaderOptions.TextureMappers = new TextureMapper[] { textureMapper }; + } + else + { + ArrayUtils.Add(ref AssetLoaderOptions.TextureMappers, textureMapper); + } } if (!(AssetLoaderOptions.ExternalDataMapper is FilePickerExternalDataMapper)) { AssetLoaderOptions.ExternalDataMapper = ScriptableObject.CreateInstance(); } - _modelExtension = modelFilename != null ? FileUtils.GetFileExtension(modelFilename, false) : null; + + // Determine the file extension for loading logic + _modelExtension = modelFilename != null + ? FileUtils.GetFileExtension(modelFilename, false) + : null; + + // If it's a .zip, defer to AssetLoaderZip; otherwise, use normal asset loading if (_modelExtension == "zip") { if (modelStream != null) { - AssetLoaderZip.LoadModelFromZipStream(modelStream, OnLoad, OnMaterialsLoad, OnProgress, OnError, WrapperGameObject, AssetLoaderOptions, CustomDataHelper.CreateCustomDataDictionaryWithData(_items), null, false, modelFilename); + AssetLoaderZip.LoadModelFromZipStream( + modelStream, + OnLoad, + OnMaterialsLoad, + OnProgress, + OnError, + WrapperGameObject, + AssetLoaderOptions, + CustomDataHelper.CreateCustomDataDictionaryWithData(_items), + null, + false, + modelFilename + ); } else { - AssetLoaderZip.LoadModelFromZipFile(modelFilename, OnLoad, OnMaterialsLoad, OnProgress, OnError, WrapperGameObject, AssetLoaderOptions, CustomDataHelper.CreateCustomDataDictionaryWithData(_items), null); + AssetLoaderZip.LoadModelFromZipFile( + modelFilename, + OnLoad, + OnMaterialsLoad, + OnProgress, + OnError, + WrapperGameObject, + AssetLoaderOptions, + CustomDataHelper.CreateCustomDataDictionaryWithData(_items), + null + ); } } else { + // Load from direct model stream if available, otherwise from file path if (modelStream != null) { - AssetLoader.LoadModelFromStream(modelStream, modelFilename, _modelExtension, OnLoad, OnMaterialsLoad, OnProgress, OnError, WrapperGameObject, AssetLoaderOptions, CustomDataHelper.CreateCustomDataDictionaryWithData(_items), HaltTask); + AssetLoader.LoadModelFromStream( + modelStream, + modelFilename, + _modelExtension, + OnLoad, + OnMaterialsLoad, + OnProgress, + OnError, + WrapperGameObject, + AssetLoaderOptions, + CustomDataHelper.CreateCustomDataDictionaryWithData(_items), + HaltTask + ); } else { - AssetLoader.LoadModelFromFile(modelFilename, OnLoad, OnMaterialsLoad, OnProgress, OnError, WrapperGameObject, AssetLoaderOptions, CustomDataHelper.CreateCustomDataDictionaryWithData(_items), HaltTask); + AssetLoader.LoadModelFromFile( + modelFilename, + OnLoad, + OnMaterialsLoad, + OnProgress, + OnError, + WrapperGameObject, + AssetLoaderOptions, + CustomDataHelper.CreateCustomDataDictionaryWithData(_items), + HaltTask + ); } } + + // If flagged, destroy this component after the load request if (AutoDestroy) { DestroyMe(); } } + /// + /// Constructs a list of objects representing valid 3D model + /// file extensions recognized by TriLib, plus "zip" support. An “All Files” filter + /// is also appended for user convenience. + /// + /// + /// An array of used by file-picker dialogs to filter selectable files. + /// protected static ExtensionFilter[] GetExtensions() { var extensions = Readers.Extensions; var extensionFilters = new List(); var subExtensions = new List(); + + // Add each recognized TriLib extension to the filters for (var i = 0; i < extensions.Count; i++) { var extension = extensions[i]; @@ -107,19 +265,34 @@ namespace TriLibCore subExtensions.Add(extension); } + // Append zip + an "All Files" wildcard subExtensions.Add("zip"); extensionFilters.Add(new ExtensionFilter(null, new[] { "zip" })); extensionFilters.Add(new ExtensionFilter("All Files", new[] { "*" })); + + // Insert a combined filter at the top for convenience extensionFilters.Insert(0, new ExtensionFilter("Accepted Files", subExtensions.ToArray())); return extensionFilters.ToArray(); } + /// + /// Finds the first model file (or any recognized 3D file extension) from the + /// list. If exactly one file is selected, that file is returned, + /// even if its extension is unrecognized. + /// + /// + /// An corresponding to the primary model file, or null + /// if no recognized model files are found. + /// private ItemWithStream FindModelFile() { + // If only one file is present, choose it directly if (_items.Count == 1) { return _items.First(); } + + // Otherwise, scan for recognized TriLib model file extensions var extensions = Readers.Extensions; for (var i = 0; i < _items.Count; i++) { @@ -139,6 +312,15 @@ namespace TriLibCore return null; } + /// + /// Called once the user has selected or provided streams to load. If valid streams are present, + /// this method triggers file loading via . Otherwise, it performs + /// cleanup if is enabled. + /// + /// + /// A list of file data items (each containing a ) for model loading. + /// May be null or empty if the user canceled or no data is available. + /// protected void OnItemsWithStreamSelected(IList itemsWithStream) { if (itemsWithStream != null) @@ -154,6 +336,5 @@ namespace TriLibCore } } } - } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/IOAssetLoader.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/IOAssetLoader.cs.meta index 52b94fc4..b1cb3ec9 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/IOAssetLoader.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/IOAssetLoader.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/IOAssetLoader.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerExternalDataMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerExternalDataMapper.cs index c8a5b94a..c6b218fa 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerExternalDataMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerExternalDataMapper.cs @@ -3,9 +3,18 @@ using System.Collections.Generic; using System.IO; using TriLibCore.SFB; using TriLibCore.Utils; +using UnityEngine; namespace TriLibCore.Mappers -{ /// Represents a class used to load external data from a series of selected files. +{ + /// + /// Provides an external data mapping strategy for file picker–based workflows. + /// This mapper searches through a collection of file items (each with an associated stream) + /// to find one whose short filename matches the given . + /// If a match is found, the file’s stream is returned, along with its full name as the final path. + /// + + [CreateAssetMenu(menuName = "TriLib/Mappers/External Data/File Picker External Data Mapper")] public class FilePickerExternalDataMapper : ExternalDataMapper { /// @@ -16,7 +25,7 @@ namespace TriLibCore.Mappers var itemsWithStream = CustomDataHelper.GetCustomData>(assetLoaderContext.CustomData); if (itemsWithStream != null) { - var shortFileName = FileUtils.GetShortFilename(originalFilename).ToLowerInvariant(); + var shortFileName = FileUtils.GetShortFilename(originalFilename).Trim().ToLowerInvariant(); foreach (var itemWithStream in itemsWithStream) { if (!itemWithStream.HasData) @@ -24,7 +33,7 @@ namespace TriLibCore.Mappers continue; } - var checkingFileShortName = FileUtils.GetShortFilename(itemWithStream.Name).ToLowerInvariant(); + var checkingFileShortName = FileUtils.GetShortFilename(itemWithStream.Name).Trim().ToLowerInvariant(); if (shortFileName == checkingFileShortName) { finalPath = itemWithStream.Name; @@ -34,11 +43,11 @@ namespace TriLibCore.Mappers } else { - throw new Exception("Missing custom context data."); + Debug.LogWarning("Missing custom context data."); } } finalPath = null; return null; } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerExternalDataMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerExternalDataMapper.cs.meta index 0a36821d..81642999 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerExternalDataMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerExternalDataMapper.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerExternalDataMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerTextureMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerTextureMapper.cs index 7f279691..f39f18e8 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerTextureMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerTextureMapper.cs @@ -5,10 +5,17 @@ using System.Collections.Generic; using TriLibCore.SFB; using TriLibCore.Interfaces; using TriLibCore.Utils; +using UnityEngine; namespace TriLibCore.Mappers { - /// Represents a class used to load Textures from a list of selected files. + /// + /// Provides functionality to load textures from a file picker selection. This mapper searches through the + /// list of objects (provided in the custom context data) to find a file whose + /// short filename matches the filename specified in the TriLib . If a match is found, + /// it opens the corresponding data stream. + /// + [CreateAssetMenu(menuName = "TriLib/Mappers/Texture/File Picker Texture Mapper")] public class FilePickerTextureMapper : TextureMapper { /// @@ -21,14 +28,14 @@ namespace TriLibCore.Mappers var itemsWithStream = CustomDataHelper.GetCustomData>(textureLoadingContext.Context.CustomData); if (itemsWithStream != null) { - var shortFileName = FileUtils.GetShortFilename(textureLoadingContext.Texture.Filename).ToLowerInvariant(); + var shortFileName = FileUtils.GetShortFilename(textureLoadingContext.Texture.Filename).Trim().ToLowerInvariant(); foreach (var itemWithStream in itemsWithStream) { if (!itemWithStream.HasData) { continue; } - var checkingFileShortName = FileUtils.GetShortFilename(itemWithStream.Name).ToLowerInvariant(); + var checkingFileShortName = FileUtils.GetShortFilename(itemWithStream.Name).Trim().ToLowerInvariant(); if (shortFileName == checkingFileShortName) { textureLoadingContext.Stream = itemWithStream.OpenStream(); @@ -37,8 +44,8 @@ namespace TriLibCore.Mappers } else { - throw new Exception("Missing custom context data."); + Debug.LogWarning("Missing custom context data."); } } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerTextureMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerTextureMapper.cs.meta index 43cbfad6..3e40d227 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerTextureMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerTextureMapper.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowser/TriLib/Mappers/FilePickerTextureMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowserSources.zip.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowserSources.zip.meta index 959dd369..d422f346 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowserSources.zip.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowserSources.zip.meta @@ -5,3 +5,10 @@ DefaultImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibStandaloneFileBrowser/StandaloneFileBrowserSources.zip + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff.meta new file mode 100644 index 00000000..b2d85332 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 74556ae819563ae4aade3c07f9af1176 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Licenses.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Licenses.meta new file mode 100644 index 00000000..2a343f45 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Licenses.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 15e9095caad137d4b851d007cebe57af +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Licenses/BitMiracle.LibTiff.Net.txt b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Licenses/BitMiracle.LibTiff.Net.txt new file mode 100644 index 00000000..d006e02e --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Licenses/BitMiracle.LibTiff.Net.txt @@ -0,0 +1,50 @@ +LibTiff.Net + +Copyright (c) 2008-2019, Bit Miracle + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +Neither the name of the Bit Miracle nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BIT MIRACLE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +NOTE + +This software is based in part on the + +The Independent JPEG Group's JPEG software + +http://www.ijg.org/ + +Copyright (C) 1991-1998, Thomas G. Lane. + +NOTE + +This software is based in part on the + +LibTIFF - TIFF Library and Utilities + +http://www.remotesensing.org/libtiff/ + +Copyright (c) 1988-1997 Sam Leffler + +Copyright (c) 1991-1997 Silicon Graphics, Inc. + +Portions Copyright (C) 2006, ComponentAce + +http://www.componentace.com + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +Neither the name of ComponentAce nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Licenses/BitMiracle.LibTiff.Net.txt.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Licenses/BitMiracle.LibTiff.Net.txt.meta new file mode 100644 index 00000000..35599b39 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Licenses/BitMiracle.LibTiff.Net.txt.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: f741f04cf2b4c4e44ae6eb2096638129 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Licenses/BitMiracle.LibTiff.Net.txt + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Plugins.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Plugins.meta new file mode 100644 index 00000000..703bc9d9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fc1dd9eb68da6fd42a60256a202d53f6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Plugins/BitMiracle.LibTiff.NET.dll b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Plugins/BitMiracle.LibTiff.NET.dll new file mode 100644 index 00000000..ec20b6e2 Binary files /dev/null and b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Plugins/BitMiracle.LibTiff.NET.dll differ diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Plugins/BitMiracle.LibTiff.NET.dll.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Plugins/BitMiracle.LibTiff.NET.dll.meta new file mode 100644 index 00000000..57177398 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Plugins/BitMiracle.LibTiff.NET.dll.meta @@ -0,0 +1,40 @@ +fileFormatVersion: 2 +guid: 7a3ad78b93bf4e6459a8c2f124bf1f8a +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Plugins/BitMiracle.LibTiff.NET.dll + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample.meta new file mode 100644 index 00000000..31add8f9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 612729986e3a49242a8b3ca37e2ff9cb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTextures.unity b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTextures.unity new file mode 100644 index 00000000..c534ef85 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTextures.unity @@ -0,0 +1,939 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657773, g: 0.49641377, b: 0.57481754, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: 50c55ddceb74697408e8365e620df478, + type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &153877214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 153877216} + - component: {fileID: 153877217} + m_Layer: 0 + m_Name: LoadModelFromFilePicker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &153877216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &153877217 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153877214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9f262ba2a267c864d9f87876089ab2b6, type: 3} + m_Name: + m_EditorClassIdentifier: + _loadModelButton: {fileID: 1672275323} + _progressText: {fileID: 565294880} +--- !u!1 &565294879 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 565294883} + - component: {fileID: 565294882} + - component: {fileID: 565294880} + - component: {fileID: 565294881} + m_Layer: 5 + m_Name: Progress + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &565294880 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565294879} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &565294881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565294879} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!222 &565294882 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565294879} + m_CullTransparentMesh: 0 +--- !u!224 &565294883 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565294879} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1664379773} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -50} + m_SizeDelta: {x: -20, y: -50} + m_Pivot: {x: 0, y: 1} +--- !u!1 &809567019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 809567021} + - component: {fileID: 809567020} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &809567020 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &809567021 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809567019} + m_LocalRotation: {x: -0.07338684, y: -0.89253896, z: 0.41619772, w: -0.1573786} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -200, z: 0} +--- !u!1 &1118294650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118294651} + - component: {fileID: 1118294654} + - component: {fileID: 1118294653} + - component: {fileID: 1118294652} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1118294651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1664379773} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1118294652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1118294653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'This sample loads models using the built-in file picker using a custom + Texture Mapper that handles TIFF textures + +' +--- !u!222 &1118294654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118294650} + m_CullTransparentMesh: 0 +--- !u!1 &1197842967 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1197842968} + - component: {fileID: 1197842970} + - component: {fileID: 1197842969} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1197842968 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1197842967} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1672275322} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1197842969 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1197842967} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Load Model +--- !u!222 &1197842970 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1197842967} + m_CullTransparentMesh: 0 +--- !u!1 &1664379769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1664379773} + - component: {fileID: 1664379772} + - component: {fileID: 1664379771} + - component: {fileID: 1664379770} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1664379770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1664379771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1664379772 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1664379773 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664379769} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1118294651} + - {fileID: 565294883} + - {fileID: 1672275322} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1672275321 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1672275322} + - component: {fileID: 1672275325} + - component: {fileID: 1672275324} + - component: {fileID: 1672275323} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1672275322 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1672275321} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1197842968} + m_Father: {fileID: 1664379773} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 20, y: -90} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1672275323 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1672275321} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1672275324} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 153877217} + m_TargetAssemblyTypeName: TriLibCore.Tiff.LoadModelWithTiffTextures, Assembly-CSharp + m_MethodName: LoadModel + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1672275324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1672275321} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1672275325 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1672275321} + m_CullTransparentMesh: 0 +--- !u!1 &1813965413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813965417} + - component: {fileID: 1813965416} + - component: {fileID: 1813965415} + - component: {fileID: 1813965414} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1813965414 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!124 &1813965415 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 +--- !u!20 &1813965416 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1813965417 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813965413} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1868373955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868373958} + - component: {fileID: 1868373957} + - component: {fileID: 1868373956} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1868373956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1868373957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1868373958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868373955} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTextures.unity.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTextures.unity.meta new file mode 100644 index 00000000..9d6356d7 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTextures.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 1264905d305c5394c88b47d8cbf159d5 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTextures.unity + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTexturesSettings.lighting b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTexturesSettings.lighting new file mode 100644 index 00000000..2f60f0ee --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTexturesSettings.lighting @@ -0,0 +1,64 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: LoadModelWithTiffTexturesSettings + serializedVersion: 4 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTexturesSettings.lighting.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTexturesSettings.lighting.meta new file mode 100644 index 00000000..402c6051 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTexturesSettings.lighting.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 88d122549a8d5db48b8505621e1f71f4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/LoadModelWithTiffTexturesSettings.lighting + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/Scripts.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/Scripts.meta new file mode 100644 index 00000000..7d80b0b9 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ab47ece292771d541a7a42a3dbc28100 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/Scripts/LoadModelWithTiffTextures.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/Scripts/LoadModelWithTiffTextures.cs new file mode 100644 index 00000000..f91fddcb --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/Scripts/LoadModelWithTiffTextures.cs @@ -0,0 +1,126 @@ +#pragma warning disable 649 +using UnityEngine; +using TriLibCore.Extensions; +using TriLibCore.Mappers; +using UnityEngine.UI; + +namespace TriLibCore.Tiff +{ + /// + /// Sample component that loads a 3D model via a file-picker using a custom TextureMapper capable of handling TIFF textures. + /// + /// + /// This sample demonstrates how to configure the AssetLoaderOptions to use the TIFF TextureMapper, invoke the file-picker, + /// and handle callbacks for the model loading process (including progress, errors, and post-loading adjustments). + /// Once the model is loaded, it is automatically positioned within the scene so that the main camera frames it appropriately. + /// + public class LoadModelWithTiffTextures : MonoBehaviour + { + /// + /// The last loaded GameObject. + /// + private GameObject _loadedGameObject; + + /// + /// The load Model Button. + /// + [SerializeField] + private Button _loadModelButton; + + /// + /// The progress indicator Text; + /// + [SerializeField] + private Text _progressText; + + /// + /// Cached Asset Loader Options instance. + /// + private AssetLoaderOptions _assetLoaderOptions; + + /// + /// Creates the AssetLoaderOptions instance and displays the Model file-picker. + /// + /// + /// You can create the AssetLoaderOptions by right-clicking on the Assets Explorer and selecting "TriLib->Create->AssetLoaderOptions->Pre-Built AssetLoaderOptions". + /// + public void LoadModel() + { + if (_assetLoaderOptions == null) + { + _assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(false, true); + } + // Creates and assigns the TIFF TextureMapper to the AssetLoaderOptions TextureMappers field + var tiffTextureMapper = ScriptableObject.CreateInstance(); + _assetLoaderOptions.TextureMappers = new TextureMapper[] { tiffTextureMapper }; + var assetLoaderFilePicker = AssetLoaderFilePicker.Create(); + assetLoaderFilePicker.LoadModelFromFilePickerAsync("Select a Model file", OnLoad, OnMaterialsLoad, OnProgress, OnBeginLoad, OnError, null, _assetLoaderOptions); + } + + /// + /// Called when the Model begins to load. + /// + /// Indicates if any file has been selected. + private void OnBeginLoad(bool filesSelected) + { + _loadModelButton.interactable = !filesSelected; + _progressText.enabled = filesSelected; + } + + /// + /// Called when any error occurs. + /// + /// The contextualized error, containing the original exception and the context passed to the method where the error was thrown. + private void OnError(IContextualizedError obj) + { + Debug.LogError($"An error occurred while loading your Model: {obj.GetInnerException()}"); + } + + /// + /// Called when the Model loading progress changes. + /// + /// The context used to load the Model. + /// The loading progress. + private void OnProgress(AssetLoaderContext assetLoaderContext, float progress) + { + _progressText.text = $"Progress: {progress:P}"; + } + + /// + /// Called when the Model (including Textures and Materials) has been fully loaded. + /// + /// The loaded GameObject is available on the assetLoaderContext.RootGameObject field. + /// The context used to load the Model. + private void OnMaterialsLoad(AssetLoaderContext assetLoaderContext) + { + if (assetLoaderContext.RootGameObject != null) + { + Debug.Log("Model fully loaded."); + } + else + { + Debug.Log("Model could not be loaded."); + } + _loadModelButton.interactable = true; + _progressText.enabled = false; + } + + /// + /// Called when the Model Meshes and hierarchy are loaded. + /// + /// The loaded GameObject is available on the assetLoaderContext.RootGameObject field. + /// The context used to load the Model. + private void OnLoad(AssetLoaderContext assetLoaderContext) + { + if (_loadedGameObject != null) + { + Destroy(_loadedGameObject); + } + _loadedGameObject = assetLoaderContext.RootGameObject; + if (_loadedGameObject != null) + { + Camera.main.FitToBounds(assetLoaderContext.RootGameObject, 2f); + } + } + } +} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/Scripts/LoadModelWithTiffTextures.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/Scripts/LoadModelWithTiffTextures.cs.meta new file mode 100644 index 00000000..f5d6e29e --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/Scripts/LoadModelWithTiffTextures.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 9f262ba2a267c864d9f87876089ab2b6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/Sample/Scripts/LoadModelWithTiffTextures.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/TextureMapper.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/TextureMapper.meta new file mode 100644 index 00000000..36fc9560 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/TextureMapper.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3292231fb2ae69d45a06d27b58989bb1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/TextureMapper/TiffTextureMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/TextureMapper/TiffTextureMapper.cs new file mode 100644 index 00000000..8817cd2a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/TextureMapper/TiffTextureMapper.cs @@ -0,0 +1,81 @@ +using System; +using TriLibCore.Mappers; +using TriLibCore.Textures; +using UnityEngine; + +namespace TriLibCore.Tiff +{ + /// + /// Represents a TextureMapper that handles loading and processing of TIFF file textures. + /// + /// + /// Changelog: 10/22/2024 - Implemented ReadRGBAImageOriented which is guaranteed to load the correct data in any TIFF configuration. + /// + + [CreateAssetMenu(menuName = "TriLib/Mappers/Texture/Tiff Texture Mapper")] + public class TiffTextureMapper : TextureMapper + { + /// + /// Tries to load the TextureLoadingContext texture as a TIFF texture. + /// + /// The context containing all the Texture data. + public override void Map(TextureLoadingContext textureLoadingContext) + { + if (textureLoadingContext.HasValidData) + { + return; + } + textureLoadingContext.Texture.ResolveFilename(textureLoadingContext.Context); + if (textureLoadingContext.Texture.ResolvedFilename != null) + { + using (var image = BitMiracle.LibTiff.Classic.Tiff.Open(textureLoadingContext.Texture.ResolvedFilename, "r")) + { + if (image == null) + { + return; + } + ProcessTiffData(textureLoadingContext, image); + } + } + if (!textureLoadingContext.HasValidData && textureLoadingContext.HasValidEmbeddedDataStream) + { + using (var image = BitMiracle.LibTiff.Classic.Tiff.ClientOpen("InMemory", "r", textureLoadingContext.Texture.DataStream, new BitMiracle.LibTiff.Classic.TiffStream())) + { + if (image == null) + { + return; + } + ProcessTiffData(textureLoadingContext, image); + } + } + } + + /// + /// Fills the TextureLoadingContext data with the TIFF image data. + /// + /// The context containing all the Texture data. + /// The processed TIFF image. + private static void ProcessTiffData(TextureLoadingContext textureLoadingContext, BitMiracle.LibTiff.Classic.Tiff image) + { + var width = image.GetField(BitMiracle.LibTiff.Classic.TiffTag.IMAGEWIDTH)[0].ToInt(); + var height = image.GetField(BitMiracle.LibTiff.Classic.TiffTag.IMAGELENGTH)[0].ToInt(); + var raster = new int[width * height]; + image.ReadRGBAImageOriented(width, height, raster, BitMiracle.LibTiff.Classic.Orientation.BOTLEFT); + var rawData = new byte[raster.Length * 4]; + var rawDataIndex = 0; + for (var i = 0; i < raster.Length; i++) + { + var value = raster[i]; + rawData[rawDataIndex++] = (byte)(value & 0xFF); + rawData[rawDataIndex++] = (byte)((value >> 8) & 0xFF); + rawData[rawDataIndex++] = (byte)((value >> 16) & 0xFF); + rawData[rawDataIndex++] = (byte)((value >> 24) & 0xFF); + } + textureLoadingContext.RawData = rawData; + textureLoadingContext.Width = width; + textureLoadingContext.Height = height; + textureLoadingContext.CreationBitsPerChannel = 8; + textureLoadingContext.Components = 4; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/TextureMapper/TiffTextureMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/TextureMapper/TiffTextureMapper.cs.meta new file mode 100644 index 00000000..9dfee78d --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/TextureMapper/TiffTextureMapper.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 32e24dd029aca304483676508cf1e762 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibTiff/TextureMapper/TiffTextureMapper.cs + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources.meta new file mode 100644 index 00000000..e0a29ec0 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ed1685bd4a702494190c5aedd49b718c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Mappers.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Mappers.meta new file mode 100644 index 00000000..26c4a21a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Mappers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a0a3a7547a782fa4eae6eb9d9d0f801d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Mappers/UniversalRPMaterialMapper.asset b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Mappers/UniversalRPMaterialMapper.asset new file mode 100644 index 00000000..dcc8b747 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Mappers/UniversalRPMaterialMapper.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5b30576dc492f8a42b7ee8cf24587bac, type: 3} + m_Name: UniversalRPMaterialMapper + m_EditorClassIdentifier: + CheckingOrder: 0 + DisableAlpha: 0 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Mappers/UniversalRPMaterialMapper.asset.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Mappers/UniversalRPMaterialMapper.asset.meta new file mode 100644 index 00000000..cb1b1947 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Mappers/UniversalRPMaterialMapper.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 44528028f68fcdd4f91f60c065ea7ec7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Mappers/UniversalRPMaterialMapper.asset + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials.meta new file mode 100644 index 00000000..339911fe --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c98663d0c30c744094949f09e5c8604 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials/UniversalRP.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials/UniversalRP.meta new file mode 100644 index 00000000..20d67755 --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials/UniversalRP.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7bf505b00aeab094185cd94e59dd536a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials/UniversalRP/UniversalRPVariantCollection.shadervariants b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials/UniversalRP/UniversalRPVariantCollection.shadervariants new file mode 100644 index 00000000..cfa1ac4a --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials/UniversalRP/UniversalRPVariantCollection.shadervariants @@ -0,0 +1,10 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!200 &20000000 +ShaderVariantCollection: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UniversalRPVariantCollection + m_Shaders: {} diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials/UniversalRP/UniversalRPVariantCollection.shadervariants.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials/UniversalRP/UniversalRPVariantCollection.shadervariants.meta new file mode 100644 index 00000000..4c7219ea --- /dev/null +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials/UniversalRP/UniversalRPVariantCollection.shadervariants.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: a980193df1ec35f4fb52cfced315f133 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 20000000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/Resources/Materials/UniversalRP/UniversalRPVariantCollection.shadervariants + uploadId: 752923 diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/UniversalRPMaterialMapper.cs b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/UniversalRPMaterialMapper.cs index a9cef66d..af20d01f 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/UniversalRPMaterialMapper.cs +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/UniversalRPMaterialMapper.cs @@ -6,23 +6,25 @@ using UnityEngine; namespace TriLibCore.URP.Mappers { - /// Represents a Material Mapper that converts TriLib Materials into Unity UniversalRP Materials. + /// + /// Converts TriLib virtual materials into Unity Universal Render Pipeline (URP) materials + /// by processing various texture maps and material properties through an asynchronous coroutine pipeline. + /// [Serializable] [CreateAssetMenu(menuName = "TriLib/Mappers/Material/Universal RP Material Mapper", fileName = "UniversalRPMaterialMapper")] public class UniversalRPMaterialMapper : MaterialMapper { - private bool _isCompatible; #region Standard - public override Material MaterialPreset => Resources.Load("Materials/TriLib/UniversalRP/TriLibUniversalRP"); + public override Material MaterialPreset => Resources.Load("Materials/UniversalRP/Standard/TriLibUniversalRP"); - public override Material CutoutMaterialPreset => Resources.Load("Materials/TriLib/UniversalRP/TriLibUniversalRPAlphaCutout"); + public override Material CutoutMaterialPreset => Resources.Load("Materials/UniversalRP/Standard/TriLibUniversalRPAlphaCutout"); - public override Material TransparentMaterialPreset => Resources.Load("Materials/TriLib/UniversalRP/TriLibUniversalRPAlpha"); + public override Material TransparentMaterialPreset => Resources.Load("Materials/UniversalRP/Standard/TriLibUniversalRPAlpha"); - public override Material TransparentComposeMaterialPreset => Resources.Load("Materials/TriLib/UniversalRP/TriLibUniversalRPAlpha"); + public override Material TransparentComposeMaterialPreset => Resources.Load("Materials/UniversalRP/Standard/TriLibUniversalRPAlpha"); #endregion - public override Material LoadingMaterial => Resources.Load("Materials/TriLib/UniversalRP/TriLibUniversalRPLoading"); + public override Material LoadingMaterial => Resources.Load("Materials/UniversalRP/TriLibUniversalRPLoading"); public override bool ExtractMetallicAndSmoothness => false; @@ -30,12 +32,7 @@ namespace TriLibCore.URP.Mappers public override bool IsCompatible(MaterialMapperContext materialMapperContext) { - return _isCompatible; - } - - private void Awake() - { - _isCompatible = TriLibSettings.GetBool("UniversalRPMaterialMapper"); + return TriLibSettings.GetBool("UniversalRPMaterialMapper", false); } public override IEnumerable MapCoroutine(MaterialMapperContext materialMapperContext) @@ -90,6 +87,13 @@ namespace TriLibCore.URP.Mappers { yield return item; } + if (materialMapperContext.Context.Options.LoadDisplacementTextures) + { + foreach (var item in CheckDisplacementTexture(materialMapperContext)) + { + yield return item; + } + } BuildMaterial(materialMapperContext); } @@ -115,7 +119,7 @@ namespace TriLibCore.URP.Mappers private IEnumerable CheckGlossinessValue(MaterialMapperContext materialMapperContext) { - var value = materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.Glossiness, materialMapperContext); + var value = materialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.GlossinessOrRoughness, materialMapperContext); materialMapperContext.VirtualMaterial.SetProperty("_Smoothness", value); yield break; } @@ -181,7 +185,16 @@ namespace TriLibCore.URP.Mappers if (textureLoadingContext.UnityTexture != null) { textureLoadingContext.MaterialMapperContext.VirtualMaterial.EnableKeyword("_NORMALMAP"); - textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_NormalScale", 1f); + var normalStrengthPropertyName = textureLoadingContext.MaterialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.NormalStrength); + if (textureLoadingContext.MaterialMapperContext.Material.HasProperty(normalStrengthPropertyName)) + { + var normalStrength = textureLoadingContext.MaterialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.NormalStrength, textureLoadingContext.MaterialMapperContext); + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_NormalScale", normalStrength); + } + else + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_NormalScale", 1f); + } } else { @@ -243,7 +256,7 @@ namespace TriLibCore.URP.Mappers { var auxiliaryMapTextureName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.GlossinessOrRoughnessMap); var textureValue = materialMapperContext.Material.GetTextureValue(auxiliaryMapTextureName); - foreach (var item in LoadTextureWithCoroutineCallbacks(materialMapperContext, TextureType.GlossinessOrRoughness, textureValue, CheckTextureOffsetAndScalingCoroutine)) + foreach (var item in LoadTextureWithCoroutineCallbacks(materialMapperContext, TextureType.GlossinessOrRoughness, textureValue, CheckTextureOffsetAndScalingCoroutine, ApplyGlossinessMapTexture)) { yield return item; } @@ -259,6 +272,21 @@ namespace TriLibCore.URP.Mappers } } + private IEnumerable CheckDisplacementTexture(MaterialMapperContext materialMapperContext) + { + var displacementMapTextureName = materialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.DisplacementMap); + var textureValue = materialMapperContext.Material.GetTextureValue(displacementMapTextureName); + foreach (var item in LoadTextureWithCoroutineCallbacks(materialMapperContext, TextureType.Displacement, textureValue, CheckTextureOffsetAndScalingCoroutine, ApplyDisplacementTexture)) + { + yield return item; + } + } + + protected virtual IEnumerable ApplyGlossinessMapTexture(TextureLoadingContext textureLoadingContext) + { + yield break; + } + private IEnumerable ApplyMetallicGlossMapTexture(TextureLoadingContext textureLoadingContext) { if (textureLoadingContext.UnityTexture != null) @@ -268,11 +296,39 @@ namespace TriLibCore.URP.Mappers textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_MetallicGlossMap", textureLoadingContext.UnityTexture, GenericMaterialProperty.MetallicMap); if (textureLoadingContext.UnityTexture != null) { - textureLoadingContext.MaterialMapperContext.VirtualMaterial.EnableKeyword("_METALLICGLOSSMAP"); + textureLoadingContext.MaterialMapperContext.VirtualMaterial.EnableKeyword("METALLICSPECGLOSSMAP"); } else { - textureLoadingContext.MaterialMapperContext.VirtualMaterial.DisableKeyword("_METALLICGLOSSMAP"); + textureLoadingContext.MaterialMapperContext.VirtualMaterial.DisableKeyword("METALLICSPECGLOSSMAP"); + } + yield break; + } + + private IEnumerable ApplyDisplacementTexture(TextureLoadingContext textureLoadingContext) + { + if (textureLoadingContext.UnityTexture != null) + { + textureLoadingContext.Context.AddUsedTexture(textureLoadingContext.UnityTexture); + } + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_ParallaxMap", textureLoadingContext.UnityTexture, GenericMaterialProperty.DisplacementMap); + if (textureLoadingContext.UnityTexture != null) + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.EnableKeyword("_PARALLAXMAP"); + var displacementStrengthPropertyName = textureLoadingContext.MaterialMapperContext.Material.GetGenericPropertyName(GenericMaterialProperty.DisplacementStrength); + if (textureLoadingContext.MaterialMapperContext.Material.HasProperty(displacementStrengthPropertyName)) + { + var normalStrength = textureLoadingContext.MaterialMapperContext.Material.GetGenericFloatValueMultiplied(GenericMaterialProperty.DisplacementStrength, textureLoadingContext.MaterialMapperContext); + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_Parallax", normalStrength); + } + else + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.SetProperty("_Parallax", 0f); + } + } + else + { + textureLoadingContext.MaterialMapperContext.VirtualMaterial.DisableKeyword("_PARALLAXMAP"); } yield break; } diff --git a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/UniversalRPMaterialMapper.cs.meta b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/UniversalRPMaterialMapper.cs.meta index b96b19d0..6589c792 100644 --- a/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/UniversalRPMaterialMapper.cs.meta +++ b/Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/UniversalRPMaterialMapper.cs.meta @@ -9,3 +9,10 @@ MonoImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Scripts/ExternalAssets/TriLib/TriLibUniversalRP/UniversalRPMaterialMapper.cs + uploadId: 752923 diff --git a/Assets/Panel_Toolbox.cs b/Assets/Scripts/Panel_Toolbox.cs similarity index 100% rename from Assets/Panel_Toolbox.cs rename to Assets/Scripts/Panel_Toolbox.cs diff --git a/Assets/Panel_Toolbox.cs.meta b/Assets/Scripts/Panel_Toolbox.cs.meta similarity index 100% rename from Assets/Panel_Toolbox.cs.meta rename to Assets/Scripts/Panel_Toolbox.cs.meta diff --git a/Assets/Scripts/UVC/ScriptableRenderFeature.meta b/Assets/Scripts/UVC/ScriptableRenderFeature.meta new file mode 100644 index 00000000..5771209a --- /dev/null +++ b/Assets/Scripts/UVC/ScriptableRenderFeature.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ed860d1d6077d5c498ed84cf04e4ab33 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UVC/ScriptableRenderFeature/EdgeDetection.cs b/Assets/Scripts/UVC/ScriptableRenderFeature/EdgeDetection.cs new file mode 100644 index 00000000..ee37e037 --- /dev/null +++ b/Assets/Scripts/UVC/ScriptableRenderFeature/EdgeDetection.cs @@ -0,0 +1,97 @@ +using System; +using System.Drawing.Drawing2D; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.RenderGraphModule; +using UnityEngine.Rendering.Universal; + +namespace UVC.Rendering +{ + public class EdgeDetection : ScriptableRendererFeature + { + private class EdgeDetectionPass : ScriptableRenderPass + { + private Material material; + + private static readonly int OutlineThicknessProperty = Shader.PropertyToID("_OutlineThickness"); + private static readonly int OutlineColorProperty = Shader.PropertyToID("_OutlineColor"); + public EdgeDetectionPass() + { + profilingSampler = new ProfilingSampler(nameof(EdgeDetectionPass)); + } + + public void Setup(ref EdgeDetectionSettings settings, ref Material edgeDetectionMaterial) + { + material = edgeDetectionMaterial; + renderPassEvent = settings.renderPassEvent; + material.SetFloat(OutlineThicknessProperty, settings.outlineThickness); + material.SetColor(OutlineColorProperty, settings.outlineColor); + } + private class PassData + { + } + + public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameData) + { + var resourceData = frameData.Get(); + using var builder = renderGraph.AddRasterRenderPass("Edge Detection", out var passData); + builder.SetRenderAttachment(resourceData.activeColorTexture, 0); + builder.UseAllGlobalTextures(true); + builder.AllowPassCulling(false); + builder.SetRenderFunc((PassData pd, RasterGraphContext context) => + { + Blitter.BlitTexture(context.cmd, Vector2.one, material, 0); + }); + } + } + + [Serializable] + public class EdgeDetectionSettings + { + public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingTransparents; + [Range(0, 15)] public float outlineThickness = 3; + public Color outlineColor = Color.black; + public LayerMask layerMask = ~0; + } + + [SerializeField] EdgeDetectionSettings settings; + public Material edgeDetectionMaterial; + EdgeDetectionPass edgeDetectionPass; + + public override void Create() + { + edgeDetectionPass ??= new EdgeDetectionPass(); + } + + public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) + { + if (renderingData.cameraData.cameraType == CameraType.Preview + || renderingData.cameraData.cameraType == CameraType.Reflection + || UniversalRenderer.IsOffscreenDepthTexture(ref renderingData.cameraData)) + { + return; + } + if (edgeDetectionMaterial == null) + { + edgeDetectionMaterial= CoreUtils.CreateEngineMaterial(Shader.Find("Custom/EdgeDetectionOutline")); + if(edgeDetectionMaterial == null) + { + Debug.LogWarning("Not all required materials could be created. Edge Detection will not render."); + return; + } + } + + edgeDetectionPass.ConfigureInput(ScriptableRenderPassInput.Depth | ScriptableRenderPassInput.Normal | ScriptableRenderPassInput.Color); + edgeDetectionPass.requiresIntermediateTexture = true; + edgeDetectionPass.Setup(ref settings, ref edgeDetectionMaterial); + + renderer.EnqueuePass(edgeDetectionPass); + } + + protected override void Dispose(bool disposing) + { + edgeDetectionPass = null; + CoreUtils.Destroy(edgeDetectionMaterial); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/UVC/ScriptableRenderFeature/EdgeDetection.cs.meta b/Assets/Scripts/UVC/ScriptableRenderFeature/EdgeDetection.cs.meta new file mode 100644 index 00000000..b952be8e --- /dev/null +++ b/Assets/Scripts/UVC/ScriptableRenderFeature/EdgeDetection.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c96e8c42a07c7dd498c6973ddaa9dd1d \ No newline at end of file diff --git a/Assets/Scripts/UVC/ScriptableRenderFeature/New Material.mat b/Assets/Scripts/UVC/ScriptableRenderFeature/New Material.mat new file mode 100644 index 00000000..59f15d35 --- /dev/null +++ b/Assets/Scripts/UVC/ScriptableRenderFeature/New Material.mat @@ -0,0 +1,135 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: New Material + m_Shader: {fileID: 4800000, guid: 0f6a64a898f9f994d961e95703a31c9b, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &8978178607660190281 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/Scripts/UVC/ScriptableRenderFeature/New Material.mat.meta b/Assets/Scripts/UVC/ScriptableRenderFeature/New Material.mat.meta new file mode 100644 index 00000000..c195b583 --- /dev/null +++ b/Assets/Scripts/UVC/ScriptableRenderFeature/New Material.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4efbb354eb3e5548b5af786a96f3a97 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UVCToggleButton.cs b/Assets/Scripts/UVCToggleButton.cs similarity index 100% rename from Assets/UVCToggleButton.cs rename to Assets/Scripts/UVCToggleButton.cs diff --git a/Assets/UVCToggleButton.cs.meta b/Assets/Scripts/UVCToggleButton.cs.meta similarity index 100% rename from Assets/UVCToggleButton.cs.meta rename to Assets/Scripts/UVCToggleButton.cs.meta diff --git a/Assets/Shader.meta b/Assets/Shader.meta new file mode 100644 index 00000000..ba2123c7 --- /dev/null +++ b/Assets/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 159ba5704db836f4c82443a1b7bb3378 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shader/Custom_EdgeDetectionOutline.mat b/Assets/Shader/Custom_EdgeDetectionOutline.mat new file mode 100644 index 00000000..a90304c3 --- /dev/null +++ b/Assets/Shader/Custom_EdgeDetectionOutline.mat @@ -0,0 +1,32 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Custom_EdgeDetectionOutline + m_Shader: {fileID: 4800000, guid: 0f6a64a898f9f994d961e95703a31c9b, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: [] + m_Ints: [] + m_Floats: + - _OutlineThickness: 1 + m_Colors: + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Shader/Custom_EdgeDetectionOutline.mat.meta b/Assets/Shader/Custom_EdgeDetectionOutline.mat.meta new file mode 100644 index 00000000..a5155339 --- /dev/null +++ b/Assets/Shader/Custom_EdgeDetectionOutline.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1f064310b42f3774c93e76683fe11c3a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shader/EdgeDetection.shader b/Assets/Shader/EdgeDetection.shader new file mode 100644 index 00000000..66471bee --- /dev/null +++ b/Assets/Shader/EdgeDetection.shader @@ -0,0 +1,116 @@ +Shader "Custom/EdgeDetectionOutline" +{ + Properties + { + _OutlineThickness ("Outline Thickness", Float) = 1.0 + _OutlineColor ("Outline Color", Color) = (0, 0, 0, 1) + } + + SubShader + { + Tags + { + "RenderPipeline" = "UniversalPipeline" + "RenderType"="Opaque" + } + + ZWrite Off + Cull Off + Blend SrcAlpha OneMinusSrcAlpha + + Pass + { + Name "EDGE DETECTION OUTLINE" + + HLSLPROGRAM + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DeclareDepthTexture.hlsl" // needed to sample scene depth + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DeclareNormalsTexture.hlsl" // needed to sample scene normals + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DeclareOpaqueTexture.hlsl" // needed to sample scene color/luminance + + float _OutlineThickness; + float4 _OutlineColor; + + #pragma vertex Vert // vertex shader is provided by the Blit.hlsl include + #pragma fragment frag + + // Edge detection kernel that works by taking the sum of the squares of the differences between diagonally adjacent pixels (Roberts Cross). + float RobertsCross(float3 samples[4]) + { + const float3 difference_1 = samples[1] - samples[2]; + const float3 difference_2 = samples[0] - samples[3]; + return sqrt(dot(difference_1, difference_1) + dot(difference_2, difference_2)); + } + + // The same kernel logic as above, but for a single-value instead of a vector3. + float RobertsCross(float samples[4]) + { + const float difference_1 = samples[1] - samples[2]; + const float difference_2 = samples[0] - samples[3]; + return sqrt(difference_1 * difference_1 + difference_2 * difference_2); + } + + // Helper function to sample scene normals remapped from [-1, 1] range to [0, 1]. + float3 SampleSceneNormalsRemapped(float2 uv) + { + return SampleSceneNormals(uv) * 0.5 + 0.5; + } + + // Helper function to sample scene luminance. + float SampleSceneLuminance(float2 uv) + { + float3 color = SampleSceneColor(uv); + return color.r * 0.3 + color.g * 0.59 + color.b * 0.11; + } + + half4 frag(Varyings IN) : SV_TARGET + { + // Screen-space coordinates which we will use to sample. + float2 uv = IN.texcoord; + float2 texel_size = float2(1.0 / _ScreenParams.x, 1.0 / _ScreenParams.y); + + // Generate 4 diagonally placed samples. + const float half_width_f = floor(_OutlineThickness * 0.5); + const float half_width_c = ceil(_OutlineThickness * 0.5); + + float2 uvs[4]; + uvs[0] = uv + texel_size * float2(half_width_f, half_width_c) * float2(-1, 1); // top left + uvs[1] = uv + texel_size * float2(half_width_c, half_width_c) * float2(1, 1); // top right + uvs[2] = uv + texel_size * float2(half_width_f, half_width_f) * float2(-1, -1); // bottom left + uvs[3] = uv + texel_size * float2(half_width_c, half_width_f) * float2(1, -1); // bottom right + + float3 normal_samples[4]; + float depth_samples[4], luminance_samples[4]; + + for (int i = 0; i < 4; i++) { + depth_samples[i] = SampleSceneDepth(uvs[i]); + normal_samples[i] = SampleSceneNormalsRemapped(uvs[i]); + luminance_samples[i] = SampleSceneLuminance(uvs[i]); + } + + // Apply edge detection kernel on the samples to compute edges. + float edge_depth = RobertsCross(depth_samples); + float edge_normal = RobertsCross(normal_samples); + float edge_luminance = RobertsCross(luminance_samples); + + // Threshold the edges (discontinuity must be above certain threshold to be counted as an edge). The sensitivities are hardcoded here. + float depth_threshold = 1 / 200.0f; + edge_depth = edge_depth > depth_threshold ? 1 : 0; + + float normal_threshold = 1 / 4.0f; + edge_normal = edge_normal > normal_threshold ? 1 : 0; + + float luminance_threshold = 1 / 0.5f; + edge_luminance = edge_luminance > luminance_threshold ? 1 : 0; + + // Combine the edges from depth/normals/luminance using the max operator. + float edge = max(edge_depth, max(edge_normal, edge_luminance)); + + // Color the edge with a custom color. + return edge * _OutlineColor; + } + ENDHLSL + } + } +} \ No newline at end of file diff --git a/Assets/Shader/EdgeDetection.shader.meta b/Assets/Shader/EdgeDetection.shader.meta new file mode 100644 index 00000000..a42c9052 --- /dev/null +++ b/Assets/Shader/EdgeDetection.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0f6a64a898f9f994d961e95703a31c9b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shader/EdgeOutline.shadergraph b/Assets/Shader/EdgeOutline.shadergraph new file mode 100644 index 00000000..a384ce37 --- /dev/null +++ b/Assets/Shader/EdgeOutline.shadergraph @@ -0,0 +1,884 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "fc2fb500a514440592fec884ed6f4273", + "m_Properties": [], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "ef1efa3288274113bffd61de6efeafdc" + } + ], + "m_Nodes": [ + { + "m_Id": "908767a4ad1742dbab9d81aba830ee42" + }, + { + "m_Id": "aa8f9f9c6ace4a749d0751fb52f86f2e" + }, + { + "m_Id": "1628da3b47714324824914e767835ba7" + }, + { + "m_Id": "6487dc3a0071454f9d911e1869e17da5" + }, + { + "m_Id": "ccaa13b2536b4f12bc5cb1ef43196f28" + }, + { + "m_Id": "216fa15e7b1b4d63a5bebdad938384ed" + }, + { + "m_Id": "d44d112597574a3c99b595319a4455d3" + }, + { + "m_Id": "3924a4de77314de488daf72acd9b8eb3" + }, + { + "m_Id": "2a8bdd93a86a4aae831b16750e08a07e" + }, + { + "m_Id": "edc02a1e1bb14744961fe98e6707bbac" + }, + { + "m_Id": "b7ae51d5d0844c7882f7806aba1b070c" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "908767a4ad1742dbab9d81aba830ee42" + }, + { + "m_Id": "aa8f9f9c6ace4a749d0751fb52f86f2e" + }, + { + "m_Id": "1628da3b47714324824914e767835ba7" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "6487dc3a0071454f9d911e1869e17da5" + }, + { + "m_Id": "ccaa13b2536b4f12bc5cb1ef43196f28" + }, + { + "m_Id": "216fa15e7b1b4d63a5bebdad938384ed" + }, + { + "m_Id": "d44d112597574a3c99b595319a4455d3" + }, + { + "m_Id": "3924a4de77314de488daf72acd9b8eb3" + }, + { + "m_Id": "2a8bdd93a86a4aae831b16750e08a07e" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_SubDatas": [], + "m_ActiveTargets": [ + { + "m_Id": "527def2256fb4dc8a0ff3f5fa03c8fa3" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "031d60a3b57e41f9a4ec4865786d4cd4", + "m_Id": 1, + "m_DisplayName": "Tiling", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tiling", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0 + }, + "m_DefaultValue": { + "x": 1.0, + "y": 1.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "1628da3b47714324824914e767835ba7", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "a8b8087bc8a94ef497da2454d3b92fd2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "1b940d6f237f4c0dbb2b071fcce167b3", + "m_Id": 2, + "m_DisplayName": "Offset", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Offset", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "216fa15e7b1b4d63a5bebdad938384ed", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "88f642414f2447749c85fc461522692d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "2a8bdd93a86a4aae831b16750e08a07e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "cc149893bcf84a8b9fe8ccd744596a04" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "37573f763ac94d4787e5f9a4ccac7a28", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "3924a4de77314de488daf72acd9b8eb3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "fad688e641114d4ba79d8d88f7cabf7b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", + "m_ObjectId": "3d3df316760b450398c5be1f0e5d17db", + "m_WorkflowMode": 1, + "m_NormalDropOffSpace": 0, + "m_ClearCoat": false, + "m_BlendModePreserveSpecular": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "49f76308cd244c0db6dbda0c3f21fbab", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "527def2256fb4dc8a0ff3f5fa03c8fa3", + "m_Datas": [], + "m_ActiveSubTarget": { + "m_Id": "3d3df316760b450398c5be1f0e5d17db" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": false, + "m_CastShadows": true, + "m_ReceiveShadows": true, + "m_DisableTint": false, + "m_AdditionalMotionVectorMode": 0, + "m_AlembicMotionVectors": false, + "m_SupportsLODCrossFade": false, + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "541e5994c63f4c2cb8906330d65e08f4", + "m_Id": 0, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ScreenPositionMaterialSlot", + "m_ObjectId": "591f8448d3994e6cb412aa7a3e8c4251", + "m_Id": 0, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [], + "m_ScreenSpaceType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "613ac1bddac04829b8bd9899d0136af1", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "6487dc3a0071454f9d911e1869e17da5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "613ac1bddac04829b8bd9899d0136af1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "88f642414f2447749c85fc461522692d", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "908767a4ad1742dbab9d81aba830ee42", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "37573f763ac94d4787e5f9a4ccac7a28" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "a8b8087bc8a94ef497da2454d3b92fd2", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "aa8f9f9c6ace4a749d0751fb52f86f2e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "db1a37c187c2452fb3e89b7e086e4394" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TilingAndOffsetNode", + "m_ObjectId": "b7ae51d5d0844c7882f7806aba1b070c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Tiling And Offset", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1438.0, + "y": -82.0, + "width": 208.0, + "height": 326.0 + } + }, + "m_Slots": [ + { + "m_Id": "541e5994c63f4c2cb8906330d65e08f4" + }, + { + "m_Id": "031d60a3b57e41f9a4ec4865786d4cd4" + }, + { + "m_Id": "1b940d6f237f4c0dbb2b071fcce167b3" + }, + { + "m_Id": "c5a6b932b1504004b60634da6cc1fe8e" + } + ], + "synonyms": [ + "pan", + "scale" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "c5a6b932b1504004b60634da6cc1fe8e", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "cc149893bcf84a8b9fe8ccd744596a04", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "ccaa13b2536b4f12bc5cb1ef43196f28", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "cdd1860716fb4a09adc6033b59cd761b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "cdd1860716fb4a09adc6033b59cd761b", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "d44d112597574a3c99b595319a4455d3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "49f76308cd244c0db6dbda0c3f21fbab" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "db1a37c187c2452fb3e89b7e086e4394", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "eabc8f94a4f44f118a0ef0479cb70c22", + "m_Id": 2, + "m_DisplayName": "Output", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Output", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.Universal.UniversalSampleBufferNode", + "m_ObjectId": "edc02a1e1bb14744961fe98e6707bbac", + "m_Group": { + "m_Id": "" + }, + "m_Name": "URP Sample Buffer", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -712.0, + "y": -69.0, + "width": 208.0, + "height": 313.0 + } + }, + "m_Slots": [ + { + "m_Id": "591f8448d3994e6cb412aa7a3e8c4251" + }, + { + "m_Id": "eabc8f94a4f44f118a0ef0479cb70c22" + } + ], + "synonyms": [ + "normal", + "motion vector", + "blit" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_BufferType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "ef1efa3288274113bffd61de6efeafdc", + "m_Name": "", + "m_ChildObjectList": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "fad688e641114d4ba79d8d88f7cabf7b", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + diff --git a/Assets/Shader/EdgeOutline.shadergraph.meta b/Assets/Shader/EdgeOutline.shadergraph.meta new file mode 100644 index 00000000..5c83fef7 --- /dev/null +++ b/Assets/Shader/EdgeOutline.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 75e30a6052d2ae048a318e151b792744 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/Assets/Shader/StandardOutline.mat b/Assets/Shader/StandardOutline.mat new file mode 100644 index 00000000..4b2d058c --- /dev/null +++ b/Assets/Shader/StandardOutline.mat @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-1131945415564094054 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: StandardOutline + m_Shader: {fileID: -6465566751694194690, guid: c77764a74061b764c8db2b5e39286c03, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _Float: 0.01 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueControl: 0 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Shader/StandardOutline.mat.meta b/Assets/Shader/StandardOutline.mat.meta new file mode 100644 index 00000000..11354aec --- /dev/null +++ b/Assets/Shader/StandardOutline.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2f38c8f07c5df0a47b95a3f98376a6e1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shader/StandardOutline.shadergraph b/Assets/Shader/StandardOutline.shadergraph new file mode 100644 index 00000000..e8bc6430 --- /dev/null +++ b/Assets/Shader/StandardOutline.shadergraph @@ -0,0 +1,1969 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "f74e83e3ffa847d288e638c49350c009", + "m_Properties": [ + { + "m_Id": "093b4418326b4ff9a99926c8404574c3" + }, + { + "m_Id": "7cf94cac206542f4838f5c0e970ba678" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "df5fabe14f0a4610b1923ef3c72e081f" + } + ], + "m_Nodes": [ + { + "m_Id": "5f936bfc4b094d09a471f2b232744341" + }, + { + "m_Id": "db6c442f7fea4c21ab2ebc3b999c641a" + }, + { + "m_Id": "13b9b379f004455ba0e1c9349aa03926" + }, + { + "m_Id": "a67bf8d547ba4a20bd4b4436db1b9424" + }, + { + "m_Id": "03642714d950402c8d1591a249789076" + }, + { + "m_Id": "3aa4b876e59244669b83a1759a785630" + }, + { + "m_Id": "6e40a4ebcfde43c18b4b6de13e730ca1" + }, + { + "m_Id": "a898881ebdf24a8ea5ae5943725664a0" + }, + { + "m_Id": "95f7acfa06b7490ca7a7647b0b2d69e5" + }, + { + "m_Id": "2f230a3c5d5f42b5b3f2fe00c11f5799" + }, + { + "m_Id": "4093a4aee425430abcb74ca2b07da38a" + }, + { + "m_Id": "bd617f49cce849c7a9c9f47513f84393" + }, + { + "m_Id": "f1ea53d318c54379936fb0c05ff03206" + }, + { + "m_Id": "189883b5854e452dafbf25062ddc67cd" + }, + { + "m_Id": "27ae6a82f227452ca691523d3017cc4d" + }, + { + "m_Id": "00e4570570a64ead899e55faa323a7c8" + }, + { + "m_Id": "045355cad4a54781ad65a31a2f6ae1c8" + }, + { + "m_Id": "2bddf266d91f4efbb811e741c4788671" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "00e4570570a64ead899e55faa323a7c8" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "045355cad4a54781ad65a31a2f6ae1c8" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "03642714d950402c8d1591a249789076" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bd617f49cce849c7a9c9f47513f84393" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "045355cad4a54781ad65a31a2f6ae1c8" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "189883b5854e452dafbf25062ddc67cd" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "189883b5854e452dafbf25062ddc67cd" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3aa4b876e59244669b83a1759a785630" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2bddf266d91f4efbb811e741c4788671" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "045355cad4a54781ad65a31a2f6ae1c8" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3aa4b876e59244669b83a1759a785630" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5f936bfc4b094d09a471f2b232744341" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6e40a4ebcfde43c18b4b6de13e730ca1" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3aa4b876e59244669b83a1759a785630" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "95f7acfa06b7490ca7a7647b0b2d69e5" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2f230a3c5d5f42b5b3f2fe00c11f5799" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a898881ebdf24a8ea5ae5943725664a0" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a67bf8d547ba4a20bd4b4436db1b9424" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "bd617f49cce849c7a9c9f47513f84393" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "189883b5854e452dafbf25062ddc67cd" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f1ea53d318c54379936fb0c05ff03206" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bd617f49cce849c7a9c9f47513f84393" + }, + "m_SlotId": 1 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "5f936bfc4b094d09a471f2b232744341" + }, + { + "m_Id": "db6c442f7fea4c21ab2ebc3b999c641a" + }, + { + "m_Id": "13b9b379f004455ba0e1c9349aa03926" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "a67bf8d547ba4a20bd4b4436db1b9424" + }, + { + "m_Id": "4093a4aee425430abcb74ca2b07da38a" + }, + { + "m_Id": "27ae6a82f227452ca691523d3017cc4d" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_SubDatas": [], + "m_ActiveTargets": [ + { + "m_Id": "7b591667e14d4eed9accfbbdb4ab8899" + } + ] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "00e4570570a64ead899e55faa323a7c8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1667.0, + "y": -625.0, + "width": 206.0, + "height": 131.0 + } + }, + "m_Slots": [ + { + "m_Id": "5311cd4ef7ba4f208bc5dfa19cce05f4" + } + ], + "synonyms": [ + "location" + ], + "m_Precision": 1, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 0, + "m_PositionSource": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "03642714d950402c8d1591a249789076", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1409.0, + "y": -188.0, + "width": 101.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "267ad98efe2843b98f7ae147a35ba564" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "7cf94cac206542f4838f5c0e970ba678" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "045355cad4a54781ad65a31a2f6ae1c8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1107.0, + "y": -481.9999694824219, + "width": 130.00006103515626, + "height": 117.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "22bdd73d0d3b4961b10586ad3cbc7bc9" + }, + { + "m_Id": "5f6ba8fb4ea24eb3b174f07e8058b485" + }, + { + "m_Id": "2a5d63da887a4e258ceb305135a9d8f8" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "093b4418326b4ff9a99926c8404574c3", + "m_Guid": { + "m_GuidSerialized": "61ca7bef-6da6-4db9-8ae1-3a254316af7f" + }, + "m_Name": "Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Color", + "m_DefaultReferenceName": "_Color", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "13b9b379f004455ba0e1c9349aa03926", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "841c0ac1b7734d9193ef49f1ecb961d4" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "14834ba18709460a8326d5fd6e333453", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "189883b5854e452dafbf25062ddc67cd", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -806.0, + "y": -289.0, + "width": 208.0, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "5003ef74fae84c81abe6db1bb5583b79" + }, + { + "m_Id": "8472f8711f064d368630455d25a8fc7c" + }, + { + "m_Id": "99888ef456e94d259d48fcfe85344dad" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "22bdd73d0d3b4961b10586ad3cbc7bc9", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "267ad98efe2843b98f7ae147a35ba564", + "m_Id": 0, + "m_DisplayName": "Float", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "27ae6a82f227452ca691523d3017cc4d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.AlphaClipThreshold", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "5b9154e024574e53ad0b6b67bd9691d2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "27d7aa576bbb4afc9b0c749faca9b0d1", + "m_Id": 2, + "m_DisplayName": "False", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "False", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2a5d63da887a4e258ceb305135a9d8f8", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalVectorNode", + "m_ObjectId": "2bddf266d91f4efbb811e741c4788671", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Normal Vector", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1656.0001220703125, + "y": -388.9999694824219, + "width": 208.0, + "height": 314.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "968cdc3ca634428aa323e0021d23ff95" + } + ], + "synonyms": [ + "surface direction" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BranchNode", + "m_ObjectId": "2f230a3c5d5f42b5b3f2fe00c11f5799", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Branch", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -480.0000915527344, + "y": 331.0, + "width": 208.0, + "height": 326.0 + } + }, + "m_Slots": [ + { + "m_Id": "50bfe47610104ed4a660a39d985ad8aa" + }, + { + "m_Id": "84a026da32ba4d2f8c39ab9ed5902e3d" + }, + { + "m_Id": "27d7aa576bbb4afc9b0c749faca9b0d1" + }, + { + "m_Id": "f315a138718d452c98a2ffd91e6bc0f5" + } + ], + "synonyms": [ + "switch", + "if", + "else" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "2f5477d1f5044ad9a0cc3cad5eb0ddb4", + "m_Id": 1, + "m_DisplayName": "Scale", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Scale", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3146686e3a074043b25d59c6c84134db", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "3aa4b876e59244669b83a1759a785630", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -492.9999694824219, + "y": -86.99999237060547, + "width": 207.99996948242188, + "height": 302.00006103515627 + } + }, + "m_Slots": [ + { + "m_Id": "3146686e3a074043b25d59c6c84134db" + }, + { + "m_Id": "708437f3a77f4445a90db9f5a503811a" + }, + { + "m_Id": "8f01a4508f5940a79e1fef2152ab9fd2" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "3bb3cd0fff6c4beaa935b86fa4034d4b", + "m_Id": 3, + "m_DisplayName": "World Bounds Max", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "World Bounds Max", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "400d2282d1bc46148a265880708096d5", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "4093a4aee425430abcb74ca2b07da38a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "68347bfab14f414d9d391be9bd5b6cb3" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "5003ef74fae84c81abe6db1bb5583b79", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "50bfe47610104ed4a660a39d985ad8aa", + "m_Id": 0, + "m_DisplayName": "Predicate", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Predicate", + "m_StageCapability": 3, + "m_Value": false, + "m_DefaultValue": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "5311cd4ef7ba4f208bc5dfa19cce05f4", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "57aef05488994d4dac3100c314a60318", + "m_Id": 2, + "m_DisplayName": "World Bounds Min", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "World Bounds Min", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5b9154e024574e53ad0b6b67bd9691d2", + "m_Id": 0, + "m_DisplayName": "Alpha Clip Threshold", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "AlphaClipThreshold", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "5f6ba8fb4ea24eb3b174f07e8058b485", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "5f936bfc4b094d09a471f2b232744341", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "b19b681fd9e84d48987a009475acd0b9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "68347bfab14f414d9d391be9bd5b6cb3", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "6e40a4ebcfde43c18b4b6de13e730ca1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -820.0001220703125, + "y": 30.00003433227539, + "width": 208.00006103515626, + "height": 315.0 + } + }, + "m_Slots": [ + { + "m_Id": "400d2282d1bc46148a265880708096d5" + } + ], + "synonyms": [ + "location" + ], + "m_Precision": 1, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 0, + "m_PositionSource": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "708437f3a77f4445a90db9f5a503811a", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "71db8b8008534858aed3aed1cb838b4b", + "m_Id": 4, + "m_DisplayName": "Bounds Size", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Bounds Size", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "773a0a0127d3405bb75d5483fd94bc82", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "7b591667e14d4eed9accfbbdb4ab8899", + "m_Datas": [], + "m_ActiveSubTarget": { + "m_Id": "a07985b85612489f9a93afff8611c302" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 0, + "m_AlphaClip": true, + "m_CastShadows": false, + "m_ReceiveShadows": false, + "m_DisableTint": false, + "m_AdditionalMotionVectorMode": 0, + "m_AlembicMotionVectors": false, + "m_SupportsLODCrossFade": false, + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "7cf94cac206542f4838f5c0e970ba678", + "m_Guid": { + "m_GuidSerialized": "f3a4a32c-c11d-4c9f-b695-4e2f74a959c8" + }, + "m_Name": "Float", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Float", + "m_DefaultReferenceName": "_Float", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.10000000149011612, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "817c23e2470543bf832a8f6c94db913a", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 2, + "m_Value": true, + "m_DefaultValue": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "841c0ac1b7734d9193ef49f1ecb961d4", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "8472f8711f064d368630455d25a8fc7c", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "84a026da32ba4d2f8c39ab9ed5902e3d", + "m_Id": 1, + "m_DisplayName": "True", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "True", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "8a84afa2217b4fefb552a983b24d268a", + "m_Id": 0, + "m_DisplayName": "Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "8f01a4508f5940a79e1fef2152ab9fd2", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.IsFrontFaceNode", + "m_ObjectId": "95f7acfa06b7490ca7a7647b0b2d69e5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Is Front Face", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -710.0001220703125, + "y": 314.00006103515627, + "width": 120.00006103515625, + "height": 76.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "817c23e2470543bf832a8f6c94db913a" + } + ], + "synonyms": [ + "face", + "side" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "968cdc3ca634428aa323e0021d23ff95", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 1.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "99888ef456e94d259d48fcfe85344dad", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "9a5e8f7d61a740eeb433df48775215cd", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalUnlitSubTarget", + "m_ObjectId": "a07985b85612489f9a93afff8611c302" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "a67bf8d547ba4a20bd4b4436db1b9424", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "773a0a0127d3405bb75d5483fd94bc82" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "a898881ebdf24a8ea5ae5943725664a0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -184.00010681152345, + "y": 215.00003051757813, + "width": 105.00006103515625, + "height": 33.99998474121094 + } + }, + "m_Slots": [ + { + "m_Id": "8a84afa2217b4fefb552a983b24d268a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "093b4418326b4ff9a99926c8404574c3" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "add4e33b58284d7eb07f230e9e664815", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "b19b681fd9e84d48987a009475acd0b9", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DivideNode", + "m_ObjectId": "bd617f49cce849c7a9c9f47513f84393", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Divide", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1088.0, + "y": -188.0, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "add4e33b58284d7eb07f230e9e664815" + }, + { + "m_Id": "f59d533cb8134a4c8ed7f249c05271da" + }, + { + "m_Id": "ce747c98f49a4af5adcd28eda084e143" + } + ], + "synonyms": [ + "division", + "divided by" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "ce747c98f49a4af5adcd28eda084e143", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "db6c442f7fea4c21ab2ebc3b999c641a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "9a5e8f7d61a740eeb433df48775215cd" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "df5fabe14f0a4610b1923ef3c72e081f", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "093b4418326b4ff9a99926c8404574c3" + }, + { + "m_Id": "7cf94cac206542f4838f5c0e970ba678" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ObjectNode", + "m_ObjectId": "f1ea53d318c54379936fb0c05ff03206", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Object", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1380.0, + "y": -114.0, + "width": 153.0, + "height": 173.0 + } + }, + "m_Slots": [ + { + "m_Id": "14834ba18709460a8326d5fd6e333453" + }, + { + "m_Id": "2f5477d1f5044ad9a0cc3cad5eb0ddb4" + }, + { + "m_Id": "57aef05488994d4dac3100c314a60318" + }, + { + "m_Id": "3bb3cd0fff6c4beaa935b86fa4034d4b" + }, + { + "m_Id": "71db8b8008534858aed3aed1cb838b4b" + } + ], + "synonyms": [ + "position", + "scale", + "bounds", + "size" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f315a138718d452c98a2ffd91e6bc0f5", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f59d533cb8134a4c8ed7f249c05271da", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 2.0, + "y": 2.0, + "z": 2.0, + "w": 2.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + diff --git a/Assets/Shader/StandardOutline.shadergraph.meta b/Assets/Shader/StandardOutline.shadergraph.meta new file mode 100644 index 00000000..b71ed6f9 --- /dev/null +++ b/Assets/Shader/StandardOutline.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c77764a74061b764c8db2b5e39286c03 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/Assets/Textures/TriLibHDRP/HDRPMask.png.meta b/Assets/Textures/TriLibHDRP/HDRPMask.png.meta index 16036d4f..07516180 100644 --- a/Assets/Textures/TriLibHDRP/HDRPMask.png.meta +++ b/Assets/Textures/TriLibHDRP/HDRPMask.png.meta @@ -89,3 +89,10 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 157548 + packageName: TriLib 2 - Model Loading Package + packageVersion: 2.5.5 + assetPath: Assets/Textures/TriLibHDRP/HDRPMask.png + uploadId: 752923